r61523: add EN2 (backlight high bit)

This commit is contained in:
CalcLoverHK 2025-07-02 16:59:35 +08:00
parent 0d7ecbd8e2
commit 59113aa1f9
2 changed files with 16 additions and 5 deletions

View file

@ -36,11 +36,12 @@ void r61523_display_rect(
/* r61523_get_backlight() and r61523_set_backlight(): Backlight settings /* r61523_get_backlight() and r61523_set_backlight(): Backlight settings
@EN2 Backlight high bit
@level Brightness level (0-255) @level Brightness level (0-255)
@PWM_div PWM frequency division @PWM_div PWM frequency division
@dimming Toggle dimming function */ @dimming Toggle dimming function */
void r61523_get_backlight(int *level, int *PWM_div, bool *dimming); void r61523_get_backlight(bool *EN2, int *level, int *PWM_div, bool *dimming);
void r61523_set_backlight(int level, int PWM_div, bool dimming); void r61523_set_backlight(bool EN2, int level, int PWM_div, bool dimming);
/* r61523_get_display_timing() and r61523_set_display_timing(): Display timing settings /* r61523_get_display_timing() and r61523_set_display_timing(): Display timing settings

View file

@ -101,8 +101,11 @@ void r61523_identify(
// Display control // Display control
//--- //---
void r61523_get_backlight(int *level, int *PWM_div, bool *dimming) void r61523_get_backlight(bool *EN2, int *level, int *PWM_div, bool *dimming)
{ {
int8_t volatile *PNDR = (void *)0xa4050138;
*EN2 = *PNDR & 0x10;
uint16_t packets[5]; uint16_t packets[5];
select(REG_BACKLIGHT_CONTROL); select(REG_BACKLIGHT_CONTROL);
read_Nu16(packets, 5); read_Nu16(packets, 5);
@ -112,8 +115,15 @@ void r61523_get_backlight(int *level, int *PWM_div, bool *dimming)
*dimming = packets[4] & 1; *dimming = packets[4] & 1;
} }
void r61523_set_backlight(int level, int PWM_div, bool dimming) void r61523_set_backlight(bool EN2, int level, int PWM_div, bool dimming)
{ {
int8_t volatile *PNDR = (void *)0xa4050138;
if(EN2)
*PNDR |= 0x10;
else
*PNDR &= 0xef;
synco();
select(REG_BACKLIGHT_CONTROL); select(REG_BACKLIGHT_CONTROL);
/* Default value of PWMON */ /* Default value of PWMON */