summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-03-28 04:33:26 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-03-28 04:33:26 +0000
commitce3d38c0faf2d3a7e437622aefaeb0366d4e65d3 (patch)
tree39403598cb058cfffd6c5439bac3c458c874e550 /firmware
parentdee432fd956ce8bf4c0c0d1b67b89d608a2daf01 (diff)
downloadrockbox-ce3d38c0faf2d3a7e437622aefaeb0366d4e65d3.tar.gz
rockbox-ce3d38c0faf2d3a7e437622aefaeb0366d4e65d3.tar.bz2
rockbox-ce3d38c0faf2d3a7e437622aefaeb0366d4e65d3.zip
Fuzev2: cleanup backlight code (still not working correctly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25370 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
index 56b375b930..b1ec9b79e4 100644
--- a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
+++ b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
@@ -38,15 +38,16 @@ void _backlight_set_brightness(int brightness)
brightness_internal += brightness + 5;
brightness_internal <<= 25;
brightness_internal >>= 24;
- ascodec_write(27, brightness_internal|0xff);
+ ascodec_write(0x1c, 2); // sub register
+ ascodec_write(0x1b, brightness_internal|0xff);
}
bool _backlight_init(void)
{
GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
for buttonlight as well*/
- ascodec_write(0x1c, 8|1);
- ascodec_write(27, 0xff);
+ ascodec_write(0x1c, 1); // sub register
+ ascodec_write(0x1b, ascodec_read(0x1b)|0x80);
return true;
}
@@ -59,15 +60,16 @@ void _backlight_on(void)
#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
/* if we set the brightness to the settings value, then fading up
* is glitchy */
- ascodec_write(27, brightness_internal);
+ ascodec_write(0x1c, 2); // sub register
+ ascodec_write(0x1b, brightness_internal);
#endif
}
/* not functional */
void _backlight_off(void)
{
- ascodec_write(0x1c, 0);
- ascodec_write(27, 0);
+ ascodec_write(0x1c, 1); // sub register
+ ascodec_write(0x1b, ascodec_read(0x1b) & ~0x80);
#ifdef HAVE_LCD_ENABLE
lcd_enable(false); /* power off visible display */
#endif