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( void r61523_display_rect(
uint16_t *vram, int xmin, int xmax, int ymin, int ymax); 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 /* r61523_get_backlight() and r61523_set_backlight(): Backlight settings
@EN2 Backlight high bit @EN2 Backlight high bit

View file

@ -13,9 +13,12 @@
#if GINT_HW_CP #if GINT_HW_CP
/* Registers */ /* Registers */
#define REG_POWER_MODE 0x0a
#define REG_HRANGE 0x2a #define REG_HRANGE 0x2a
#define REG_VRANGE 0x2b #define REG_VRANGE 0x2b
#define REG_DATA 0x2c #define REG_DATA 0x2c
#define REG_EXIT_IDLE_MODE 0x38
#define REG_ENTER_IDLE_MODE 0x39
#define REG_BACKLIGHT_CONTROL 0xb9 #define REG_BACKLIGHT_CONTROL 0xb9
#define REG_DEVICE_CODE_READ 0xbf #define REG_DEVICE_CODE_READ 0xbf
#define REG_DEVICE_CODE_VARIANT 0xda #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 // Display control
//--- //---
@ -125,7 +145,7 @@ void r61523_set_backlight(bool EN2, int level, int PWM_div, bool dimming)
synco(); synco();
select(REG_BACKLIGHT_CONTROL); select(REG_BACKLIGHT_CONTROL);
/* Default value of PWMON */ /* Default value of PWMON */
write(0); write(0);
synco(); synco();