From ef12b3b5c678e4fa44d60061b0c1bc312e589ba1 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Mon, 12 Nov 2007 18:49:53 +0000 Subject: Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/iriver/h10/backlight-h10.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'firmware/target/arm/iriver/h10') diff --git a/firmware/target/arm/iriver/h10/backlight-h10.c b/firmware/target/arm/iriver/h10/backlight-h10.c index db3e0b8877..8033aebf71 100644 --- a/firmware/target/arm/iriver/h10/backlight-h10.c +++ b/firmware/target/arm/iriver/h10/backlight-h10.c @@ -22,18 +22,27 @@ #include "backlight.h" #include "lcd.h" -void __backlight_on(void) +void _backlight_on(void) { -#if (CONFIG_LCD == LCD_H10_20GB) +#ifdef HAVE_LCD_SLEEP lcd_enable(true); + _lcd_sleep_timer = 0; #endif - GPIOL_OUTPUT_VAL |= 0x20; + GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x20); } -void __backlight_off(void) +void _backlight_off(void) { - GPIOL_OUTPUT_VAL &=~ 0x20; -#if (CONFIG_LCD == LCD_H10_20GB) + GPIO_CLEAR_BITWISE(GPIOL_OUTPUT_VAL, 0x20); +#ifdef HAVE_LCD_SLEEP lcd_enable(false); + /* Start LCD sleep countdown */ + if (_lcd_sleep_timeout < 0) + { + _lcd_sleep_timer = 0; /* Setting == Always */ + lcd_sleep(); + } + else + _lcd_sleep_timer = _lcd_sleep_timeout; #endif } -- cgit v1.2.3