Samsung YP-S3: implement button lights

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22100 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Bertrik Sikken 2009-08-01 17:27:22 +00:00
parent 0f0bf7b258
commit 4e7517dfb1
2 changed files with 25 additions and 0 deletions

View file

@ -72,8 +72,14 @@
should be defined as well. */
//#define HAVE_LCD_SLEEP
/* We have button lights */
#define HAVE_BUTTON_LIGHT
#define CONFIG_KEYPAD MEIZU_M3_PAD
/* We have headphone detection */
#define HAVE_HEADPHONE_DETECTION
//#define AB_REPEAT_ENABLE 1
//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE

View file

@ -30,6 +30,9 @@
The PWM duty cycle depends exponentially on the configured brightness
level. This makes the brightness curve more linear to the human eye.
The button LEDs are all activated at the same time (even though there
are three individually controllable groups: menu/back, cursor, middle).
*/
void _backlight_set_brightness(int brightness)
@ -52,8 +55,24 @@ void _backlight_off(void)
_backlight_set_brightness(MIN_BRIGHTNESS_SETTING);
}
void _buttonlight_on(void)
{
PDAT3 |= (3 << 2);
PDAT4 |= (1 << 2);
}
void _buttonlight_off(void)
{
PDAT3 &= ~(3 << 2);
PDAT4 &= ~(1 << 2);
}
bool _backlight_init(void)
{
/* Enable button LEDs: P3.2 (menu/back), P3.3 (cursor), P4.2 (middle) */
PCON3 = (PCON3 & ~0x0000FF00) | 0x00001100;
PCON4 = (PCON4 & ~0x00000F00) | 0x00000100;
/* enable backlight pin as timer output */
PCON0 = ((PCON0 & ~(3 << 0)) | (2 << 0));