r61523: add idle mode toggle and power mode query

This commit is contained in:
CalcLoverHK 2025-07-03 15:20:34 +08:00
parent 59113aa1f9
commit cba13e125c
2 changed files with 28 additions and 1 deletions

View file

@ -34,6 +34,13 @@ void r61523_display(uint16_t *vram);
void r61523_display_rect(
uint16_t *vram, int xmin, int xmax, int ymin, int ymax);
/* r61523_exit_idle_mode() and r61523_enter_idle_mode(): Toggle idle mode */
void r61523_exit_idle_mode(void);
void r61523_enter_idle_mode(void);
/* r61523_get_power_mode(): Get current power mode */
uint16_t r61523_get_power_mode(void);
/* r61523_get_backlight() and r61523_set_backlight(): Backlight settings
@EN2 Backlight high bit

View file

@ -13,9 +13,12 @@
#if GINT_HW_CP
/* Registers */
#define REG_POWER_MODE 0x0a
#define REG_HRANGE 0x2a
#define REG_VRANGE 0x2b
#define REG_DATA 0x2c
#define REG_EXIT_IDLE_MODE 0x38
#define REG_ENTER_IDLE_MODE 0x39
#define REG_BACKLIGHT_CONTROL 0xb9
#define REG_DEVICE_CODE_READ 0xbf
#define REG_DEVICE_CODE_VARIANT 0xda
@ -97,6 +100,23 @@ void r61523_identify(
}
}
void r61523_exit_idle_mode(void)
{
select(REG_EXIT_IDLE_MODE);
}
void r61523_enter_idle_mode(void)
{
select(REG_ENTER_IDLE_MODE);
}
uint16_t r61523_get_power_mode(void)
{
select(REG_POWER_MODE);
read();
return read();
}
//---
// Display control
//---