mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 12:45:26 -05:00
Fuzev2: fix backlight brightness
PMU registers are write-only git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25377 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
05ace8e095
commit
60cfc1ddff
2 changed files with 11 additions and 21 deletions
|
|
@ -117,14 +117,14 @@
|
||||||
|
|
||||||
/* Main LCD backlight brightness range and defaults */
|
/* Main LCD backlight brightness range and defaults */
|
||||||
#define MIN_BRIGHTNESS_SETTING 1
|
#define MIN_BRIGHTNESS_SETTING 1
|
||||||
#define MAX_BRIGHTNESS_SETTING 12
|
#define MAX_BRIGHTNESS_SETTING 25
|
||||||
#define DEFAULT_BRIGHTNESS_SETTING 6
|
#define DEFAULT_BRIGHTNESS_SETTING 6
|
||||||
|
|
||||||
/* define this if you have a light associated with the buttons */
|
/* define this if you have a light associated with the buttons */
|
||||||
#define HAVE_BUTTON_LIGHT
|
#define HAVE_BUTTON_LIGHT
|
||||||
|
|
||||||
/* Which backlight fading type? */
|
/* 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 this if the unit uses a scrollwheel for navigation */
|
||||||
//#define HAVE_SCROLLWHEEL
|
//#define HAVE_SCROLLWHEEL
|
||||||
|
|
|
||||||
|
|
@ -28,48 +28,38 @@
|
||||||
|
|
||||||
int buttonlight_is_on = 0;
|
int buttonlight_is_on = 0;
|
||||||
|
|
||||||
static int brightness_internal = 0;
|
|
||||||
|
|
||||||
/* not functional */
|
|
||||||
void _backlight_set_brightness(int brightness)
|
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(0x1c, 8|2); // sub register
|
||||||
ascodec_write(0x1b, brightness_internal|0xff);
|
ascodec_write(0x1b, brightness * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _backlight_init(void)
|
bool _backlight_init(void)
|
||||||
{
|
{
|
||||||
GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
|
GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
|
||||||
for buttonlight as well*/
|
for buttonlight as well*/
|
||||||
|
|
||||||
ascodec_write(0x1c, 8|1); // sub register
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* not functional */
|
|
||||||
void _backlight_on(void)
|
void _backlight_on(void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_LCD_ENABLE
|
#ifdef HAVE_LCD_ENABLE
|
||||||
lcd_enable(true); /* power on lcd + visible display */
|
lcd_enable(true); /* power on lcd + visible display */
|
||||||
#endif
|
#endif
|
||||||
#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
|
ascodec_write(0x1c, 8|1); // sub register
|
||||||
/* if we set the brightness to the settings value, then fading up
|
ascodec_write(0x1b, 0x80);
|
||||||
* is glitchy */
|
|
||||||
ascodec_write(0x1c, 8|2); // sub register
|
|
||||||
ascodec_write(0x1b, brightness_internal);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* not functional */
|
|
||||||
void _backlight_off(void)
|
void _backlight_off(void)
|
||||||
{
|
{
|
||||||
ascodec_write(0x1c, 8|1); // sub register
|
ascodec_write(0x1c, 8|1); // sub register
|
||||||
ascodec_write(0x1b, ascodec_read(0x1b) & ~0x80);
|
ascodec_write(0x1b, 0);
|
||||||
#ifdef HAVE_LCD_ENABLE
|
#ifdef HAVE_LCD_ENABLE
|
||||||
lcd_enable(false); /* power off visible display */
|
lcd_enable(false); /* power off visible display */
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue