mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 12:45:26 -05:00
as3525v2: factorize writing to ascodec PMU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25380 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
1bfffbcaaa
commit
ba76e2870e
4 changed files with 18 additions and 18 deletions
|
|
@ -73,6 +73,15 @@ void ascodec_init(void);
|
|||
|
||||
int ascodec_write(unsigned int index, unsigned int value);
|
||||
|
||||
#if CONFIG_CPU == AS3525v2
|
||||
static inline void ascodec_write_pmu(unsigned int index, unsigned int subreg,
|
||||
unsigned int value)
|
||||
{
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|subreg);
|
||||
ascodec_write(index, value);
|
||||
}
|
||||
#endif
|
||||
|
||||
int ascodec_read(unsigned int index);
|
||||
|
||||
int ascodec_readbytes(unsigned int index, unsigned int len, unsigned char *data);
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@
|
|||
void _backlight_on(void)
|
||||
{
|
||||
ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1);
|
||||
ascodec_write(AS3543_BACKLIGHT, 0x90);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x90);
|
||||
lcd_enable(true);
|
||||
}
|
||||
|
||||
|
|
@ -36,6 +35,5 @@ void _backlight_off(void)
|
|||
{
|
||||
lcd_enable(false);
|
||||
ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1);
|
||||
ascodec_write(AS3543_BACKLIGHT, 0x00);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x00);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@
|
|||
void _backlight_on(void)
|
||||
{
|
||||
ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1);
|
||||
ascodec_write(AS3543_BACKLIGHT, 0x90);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x90);
|
||||
lcd_enable(true);
|
||||
}
|
||||
|
||||
|
|
@ -36,8 +35,7 @@ void _backlight_off(void)
|
|||
{
|
||||
lcd_enable(false);
|
||||
ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1);
|
||||
ascodec_write(AS3543_BACKLIGHT, 0);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x0);
|
||||
}
|
||||
|
||||
void _buttonlight_on(void)
|
||||
|
|
|
|||
|
|
@ -30,8 +30,7 @@ int buttonlight_is_on = 0;
|
|||
|
||||
void _backlight_set_brightness(int brightness)
|
||||
{
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|2); // sub register
|
||||
ascodec_write(AS3543_BACKLIGHT, brightness * 10);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 2, brightness * 10);
|
||||
}
|
||||
|
||||
bool _backlight_init(void)
|
||||
|
|
@ -39,11 +38,9 @@ bool _backlight_init(void)
|
|||
GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
|
||||
for buttonlight as well*/
|
||||
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
|
||||
ascodec_write(AS3543_BACKLIGHT, 0x80);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x80);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 2, backlight_brightness * 10);
|
||||
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|2); // sub register
|
||||
ascodec_write(AS3543_BACKLIGHT, backlight_brightness * 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -52,14 +49,12 @@ void _backlight_on(void)
|
|||
#ifdef HAVE_LCD_ENABLE
|
||||
lcd_enable(true); /* power on lcd + visible display */
|
||||
#endif
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
|
||||
ascodec_write(AS3543_BACKLIGHT, 0x80);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x80);
|
||||
}
|
||||
|
||||
void _backlight_off(void)
|
||||
{
|
||||
ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
|
||||
ascodec_write(AS3543_BACKLIGHT, 0);
|
||||
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x0);
|
||||
#ifdef HAVE_LCD_ENABLE
|
||||
lcd_enable(false); /* power off visible display */
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue