summaryrefslogtreecommitdiff
path: root/firmware/target/arm/iriver
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-11-12 18:49:53 +0000
committerJens Arnold <amiconn@rockbox.org>2007-11-12 18:49:53 +0000
commitef12b3b5c678e4fa44d60061b0c1bc312e589ba1 (patch)
tree4c2572d7bf3d995be16b33fa2e46ccccad34f4ee /firmware/target/arm/iriver
parent8537cbf091634efa57768dccff39049afdf6d288 (diff)
downloadrockbox-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.h6
-rw-r--r--firmware/target/arm/iriver/h10/backlight-h10.c21
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
23void __backlight_on(void); 23void _backlight_on(void);
24void __backlight_off(void); 24void _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
25void __backlight_on(void) 25void _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
33void __backlight_off(void) 34void _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}