diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-11-12 18:49:53 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-11-12 18:49:53 +0000 |
commit | ef12b3b5c678e4fa44d60061b0c1bc312e589ba1 (patch) | |
tree | 4c2572d7bf3d995be16b33fa2e46ccccad34f4ee /firmware/target/arm/iriver | |
parent | 8537cbf091634efa57768dccff39049afdf6d288 (diff) | |
download | rockbox-ef12b3b5c678e4fa44d60061b0c1bc312e589ba1.tar.gz rockbox-ef12b3b5c678e4fa44d60061b0c1bc312e589ba1.zip |
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
Diffstat (limited to 'firmware/target/arm/iriver')
-rw-r--r-- | firmware/target/arm/iriver/backlight-target.h | 6 | ||||
-rw-r--r-- | firmware/target/arm/iriver/h10/backlight-h10.c | 21 |
2 files changed, 18 insertions, 9 deletions
diff --git a/firmware/target/arm/iriver/backlight-target.h b/firmware/target/arm/iriver/backlight-target.h index f4e34cb53a..0a9fa26ce4 100644 --- a/firmware/target/arm/iriver/backlight-target.h +++ b/firmware/target/arm/iriver/backlight-target.h | |||
@@ -19,8 +19,8 @@ | |||
19 | #ifndef BACKLIGHT_TARGET_H | 19 | #ifndef BACKLIGHT_TARGET_H |
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | #define __backlight_init() true | 22 | #define _backlight_init() true |
23 | void __backlight_on(void); | 23 | void _backlight_on(void); |
24 | void __backlight_off(void); | 24 | void _backlight_off(void); |
25 | 25 | ||
26 | #endif | 26 | #endif |
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 @@ | |||
22 | #include "backlight.h" | 22 | #include "backlight.h" |
23 | #include "lcd.h" | 23 | #include "lcd.h" |
24 | 24 | ||
25 | void __backlight_on(void) | 25 | void _backlight_on(void) |
26 | { | 26 | { |
27 | #if (CONFIG_LCD == LCD_H10_20GB) | 27 | #ifdef HAVE_LCD_SLEEP |
28 | lcd_enable(true); | 28 | lcd_enable(true); |
29 | _lcd_sleep_timer = 0; | ||
29 | #endif | 30 | #endif |
30 | GPIOL_OUTPUT_VAL |= 0x20; | 31 | GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x20); |
31 | } | 32 | } |
32 | 33 | ||
33 | void __backlight_off(void) | 34 | void _backlight_off(void) |
34 | { | 35 | { |
35 | GPIOL_OUTPUT_VAL &=~ 0x20; | 36 | GPIO_CLEAR_BITWISE(GPIOL_OUTPUT_VAL, 0x20); |
36 | #if (CONFIG_LCD == LCD_H10_20GB) | 37 | #ifdef HAVE_LCD_SLEEP |
37 | lcd_enable(false); | 38 | lcd_enable(false); |
39 | /* Start LCD sleep countdown */ | ||
40 | if (_lcd_sleep_timeout < 0) | ||
41 | { | ||
42 | _lcd_sleep_timer = 0; /* Setting == Always */ | ||
43 | lcd_sleep(); | ||
44 | } | ||
45 | else | ||
46 | _lcd_sleep_timer = _lcd_sleep_timeout; | ||
38 | #endif | 47 | #endif |
39 | } | 48 | } |