summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-03-29 12:10:43 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-03-29 12:10:43 +0000
commit60cfc1ddff64055d037db5388b4942b3de96f52d (patch)
treee43feb0d1b9edad6daae3db7d448ca27bef6878a /firmware
parent05ace8e095f3de6332560b364a158321867c7bba (diff)
downloadrockbox-60cfc1ddff64055d037db5388b4942b3de96f52d.tar.gz
rockbox-60cfc1ddff64055d037db5388b4942b3de96f52d.tar.bz2
rockbox-60cfc1ddff64055d037db5388b4942b3de96f52d.zip
Fuzev2: fix backlight brightness
PMU registers are write-only git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25377 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/config/sansafuzev2.h4
-rw-r--r--firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c28
2 files changed, 11 insertions, 21 deletions
diff --git a/firmware/export/config/sansafuzev2.h b/firmware/export/config/sansafuzev2.h
index 7a3296d7c0..b42a0d1bb8 100644
--- a/firmware/export/config/sansafuzev2.h
+++ b/firmware/export/config/sansafuzev2.h
@@ -117,14 +117,14 @@
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
-#define MAX_BRIGHTNESS_SETTING 12
+#define MAX_BRIGHTNESS_SETTING 25
#define DEFAULT_BRIGHTNESS_SETTING 6
/* define this if you have a light associated with the buttons */
#define HAVE_BUTTON_LIGHT
/* Which backlight fading type? */
-//#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if the unit uses a scrollwheel for navigation */
//#define HAVE_SCROLLWHEEL
diff --git a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
index 87f3418288..7e21460fe8 100644
--- a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
+++ b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
@@ -28,48 +28,38 @@
int buttonlight_is_on = 0;
-static int brightness_internal = 0;
-
-/* not functional */
void _backlight_set_brightness(int brightness)
{
- //ascodec_write(AS3514_DCDC15, brightness);
- brightness_internal = brightness << 2;
- brightness_internal += brightness + 5;
- brightness_internal <<= 25;
- brightness_internal >>= 24;
ascodec_write(0x1c, 8|2); // sub register
- ascodec_write(0x1b, brightness_internal|0xff);
+ ascodec_write(0x1b, brightness * 10);
}
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); // sub register
- ascodec_write(0x1b, ascodec_read(0x1b)|0x80);
+ ascodec_write(0x1b, 0x80);
+
+ ascodec_write(0x1c, 8|2); // sub register
+ ascodec_write(0x1b, backlight_brightness * 10);
return true;
}
-/* not functional */
void _backlight_on(void)
{
#ifdef HAVE_LCD_ENABLE
lcd_enable(true); /* power on lcd + visible display */
#endif
-#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(0x1c, 8|2); // sub register
- ascodec_write(0x1b, brightness_internal);
-#endif
+ ascodec_write(0x1c, 8|1); // sub register
+ ascodec_write(0x1b, 0x80);
}
-/* not functional */
void _backlight_off(void)
{
ascodec_write(0x1c, 8|1); // sub register
- ascodec_write(0x1b, ascodec_read(0x1b) & ~0x80);
+ ascodec_write(0x1b, 0);
#ifdef HAVE_LCD_ENABLE
lcd_enable(false); /* power off visible display */
#endif