diff options
Diffstat (limited to 'firmware/target')
36 files changed, 362 insertions, 190 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/backlight-imx31.c b/firmware/target/arm/imx31/gigabeat-s/backlight-imx31.c index 37cf086a0e..fc9abdb0e9 100644 --- a/firmware/target/arm/imx31/gigabeat-s/backlight-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/backlight-imx31.c | |||
@@ -26,25 +26,25 @@ | |||
26 | #include "spi-imx31.h" | 26 | #include "spi-imx31.h" |
27 | #include "debug.h" | 27 | #include "debug.h" |
28 | 28 | ||
29 | bool __backlight_init(void) | 29 | bool _backlight_init(void) |
30 | { | 30 | { |
31 | return true; | 31 | return true; |
32 | } | 32 | } |
33 | 33 | ||
34 | void __backlight_on(void) | 34 | void _backlight_on(void) |
35 | { | 35 | { |
36 | // This relies on the SPI interface being initialised already | 36 | // This relies on the SPI interface being initialised already |
37 | spi_send(51, 1); | 37 | spi_send(51, 1); |
38 | } | 38 | } |
39 | 39 | ||
40 | void __backlight_off(void) | 40 | void _backlight_off(void) |
41 | { | 41 | { |
42 | // This relies on the SPI interface being initialised already | 42 | // This relies on the SPI interface being initialised already |
43 | spi_send(51, 0); | 43 | spi_send(51, 0); |
44 | } | 44 | } |
45 | 45 | ||
46 | /* Assumes that the backlight has been initialized */ | 46 | /* Assumes that the backlight has been initialized */ |
47 | void __backlight_set_brightness(int brightness) | 47 | void _backlight_set_brightness(int brightness) |
48 | { | 48 | { |
49 | (void)brightness; | 49 | (void)brightness; |
50 | } | 50 | } |
diff --git a/firmware/target/arm/imx31/gigabeat-s/backlight-target.h b/firmware/target/arm/imx31/gigabeat-s/backlight-target.h index 8f14c76138..7c4b2fa0fd 100644 --- a/firmware/target/arm/imx31/gigabeat-s/backlight-target.h +++ b/firmware/target/arm/imx31/gigabeat-s/backlight-target.h | |||
@@ -19,10 +19,10 @@ | |||
19 | #ifndef BACKLIGHT_TARGET_H | 19 | #ifndef BACKLIGHT_TARGET_H |
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | bool __backlight_init(void); | 22 | bool _backlight_init(void); |
23 | void __backlight_on(void); | 23 | void _backlight_on(void); |
24 | void __backlight_off(void); | 24 | void _backlight_off(void); |
25 | void __backlight_set_brightness(int brightness); | 25 | void _backlight_set_brightness(int brightness); |
26 | 26 | ||
27 | /* true: backlight fades off - false: backlight fades on */ | 27 | /* true: backlight fades off - false: backlight fades on */ |
28 | void __backlight_dim(bool dim); | 28 | void __backlight_dim(bool dim); |
diff --git a/firmware/target/arm/ipod/1g2g/backlight-1g2g.c b/firmware/target/arm/ipod/1g2g/backlight-1g2g.c index 88d638f4e3..688fc2a213 100644 --- a/firmware/target/arm/ipod/1g2g/backlight-1g2g.c +++ b/firmware/target/arm/ipod/1g2g/backlight-1g2g.c | |||
@@ -21,13 +21,13 @@ | |||
21 | #include "backlight.h" | 21 | #include "backlight.h" |
22 | #include "lcd.h" | 22 | #include "lcd.h" |
23 | 23 | ||
24 | void __backlight_on(void) | 24 | void _backlight_on(void) |
25 | { | 25 | { |
26 | outl(inl(0xc0001000) | 0x02, 0xc0001000); | 26 | outl(inl(0xc0001000) | 0x02, 0xc0001000); |
27 | lcd_set_backlight_inversion(true); | 27 | lcd_set_backlight_inversion(true); |
28 | } | 28 | } |
29 | 29 | ||
30 | void __backlight_off(void) | 30 | void _backlight_off(void) |
31 | { | 31 | { |
32 | outl(inl(0xc0001000) & ~0x02, 0xc0001000); | 32 | outl(inl(0xc0001000) & ~0x02, 0xc0001000); |
33 | lcd_set_backlight_inversion(false); | 33 | lcd_set_backlight_inversion(false); |
diff --git a/firmware/target/arm/ipod/1g2g/backlight-target.h b/firmware/target/arm/ipod/1g2g/backlight-target.h index a1a9785abc..31a21a4d27 100644 --- a/firmware/target/arm/ipod/1g2g/backlight-target.h +++ b/firmware/target/arm/ipod/1g2g/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() false | 22 | #define _backlight_init() false |
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/ipod/3g/backlight-3g.c b/firmware/target/arm/ipod/3g/backlight-3g.c index 251c722dae..41f8ba37cb 100644 --- a/firmware/target/arm/ipod/3g/backlight-3g.c +++ b/firmware/target/arm/ipod/3g/backlight-3g.c | |||
@@ -20,12 +20,12 @@ | |||
20 | #include "system.h" | 20 | #include "system.h" |
21 | #include "backlight.h" | 21 | #include "backlight.h" |
22 | 22 | ||
23 | inline void __backlight_on(void) | 23 | void _backlight_on(void) |
24 | { | 24 | { |
25 | outl(inl(0xc0001000) | 0x02, 0xc0001000); | 25 | outl(inl(0xc0001000) | 0x02, 0xc0001000); |
26 | } | 26 | } |
27 | 27 | ||
28 | inline void __backlight_off(void) | 28 | void _backlight_off(void) |
29 | { | 29 | { |
30 | outl(inl(0xc0001000) & ~0x02, 0xc0001000); | 30 | outl(inl(0xc0001000) & ~0x02, 0xc0001000); |
31 | } | 31 | } |
diff --git a/firmware/target/arm/ipod/backlight-4g_color.c b/firmware/target/arm/ipod/backlight-4g_color.c index 3097d8690b..28deba46b5 100644 --- a/firmware/target/arm/ipod/backlight-4g_color.c +++ b/firmware/target/arm/ipod/backlight-4g_color.c | |||
@@ -31,16 +31,16 @@ | |||
31 | #include "timer.h" | 31 | #include "timer.h" |
32 | #include "backlight.h" | 32 | #include "backlight.h" |
33 | 33 | ||
34 | inline void __backlight_on(void) | 34 | void _backlight_on(void) |
35 | { | 35 | { |
36 | /* brightness full */ | 36 | /* brightness full */ |
37 | outl(0x80000000 | (0xff << 16), 0x7000a010); | 37 | outl(0x80000000 | (0xff << 16), 0x7000a010); |
38 | 38 | ||
39 | /* set port b bit 3 on */ | 39 | /* set port b bit 3 on */ |
40 | outl(((0x100 | 1) << 3), 0x6000d824); | 40 | GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x08); |
41 | } | 41 | } |
42 | 42 | ||
43 | inline void __backlight_off(void) | 43 | void _backlight_off(void) |
44 | { | 44 | { |
45 | /* fades backlight off on 4g */ | 45 | /* fades backlight off on 4g */ |
46 | GPO32_ENABLE &= ~0x2000000; | 46 | GPO32_ENABLE &= ~0x2000000; |
diff --git a/firmware/target/arm/ipod/backlight-mini1g_mini2g.c b/firmware/target/arm/ipod/backlight-mini1g_mini2g.c index 6cfa8f889c..e513c27349 100644 --- a/firmware/target/arm/ipod/backlight-mini1g_mini2g.c +++ b/firmware/target/arm/ipod/backlight-mini1g_mini2g.c | |||
@@ -31,14 +31,12 @@ | |||
31 | #include "timer.h" | 31 | #include "timer.h" |
32 | #include "backlight.h" | 32 | #include "backlight.h" |
33 | 33 | ||
34 | inline void __backlight_on(void) | 34 | void _backlight_hw_on(void) |
35 | { | 35 | { |
36 | /* set port B03 on */ | 36 | GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x08); |
37 | outl(((0x100 | 1) << 3), 0x6000d824); | ||
38 | } | 37 | } |
39 | 38 | ||
40 | inline void __backlight_off(void) | 39 | void _backlight_hw_off(void) |
41 | { | 40 | { |
42 | /* set port B03 off */ | 41 | GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x08); |
43 | outl(((0x100 | 0) << 3), 0x6000d824); | ||
44 | } | 42 | } |
diff --git a/firmware/target/arm/ipod/backlight-nano_video.c b/firmware/target/arm/ipod/backlight-nano_video.c index 92a54225d0..6d77e2bd03 100644 --- a/firmware/target/arm/ipod/backlight-nano_video.c +++ b/firmware/target/arm/ipod/backlight-nano_video.c | |||
@@ -31,14 +31,89 @@ | |||
31 | #include "timer.h" | 31 | #include "timer.h" |
32 | #include "backlight.h" | 32 | #include "backlight.h" |
33 | 33 | ||
34 | inline void __backlight_on(void) | 34 | static int brightness = 1; /* 1 to 32 */ |
35 | static int current_dim = 16; /* default after enabling the backlight dimmer */ | ||
36 | static bool enabled = false; | ||
37 | |||
38 | void _backlight_set_brightness(int val) | ||
39 | { | ||
40 | int oldlevel; | ||
41 | |||
42 | if (current_dim < val) | ||
43 | { | ||
44 | do | ||
45 | { | ||
46 | oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
47 | GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
48 | udelay(10); | ||
49 | GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
50 | set_irq_level(oldlevel); | ||
51 | udelay(10); | ||
52 | } | ||
53 | while (++current_dim < val); | ||
54 | } | ||
55 | else if (current_dim > val) | ||
56 | { | ||
57 | do | ||
58 | { | ||
59 | oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
60 | GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
61 | udelay(200); | ||
62 | GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
63 | set_irq_level(oldlevel); | ||
64 | udelay(10); | ||
65 | } | ||
66 | while (--current_dim > val); | ||
67 | } | ||
68 | brightness = val; | ||
69 | } | ||
70 | |||
71 | void _backlight_hw_enable(bool on) | ||
72 | { | ||
73 | if (on == enabled) | ||
74 | return; | ||
75 | |||
76 | if (on) | ||
77 | { | ||
78 | GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x08); | ||
79 | GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
80 | sleep(HZ/100); | ||
81 | current_dim = 16; | ||
82 | _backlight_set_brightness(brightness); | ||
83 | } | ||
84 | else | ||
85 | { | ||
86 | GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80); | ||
87 | GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x08); | ||
88 | sleep(HZ/20); | ||
89 | } | ||
90 | enabled = on; | ||
91 | } | ||
92 | |||
93 | /* Switch the backlight on. Works only if the backlight circuit is enabled. | ||
94 | * Called in ISR context for fading, so it must be fast. */ | ||
95 | void _backlight_led_on(void) | ||
96 | { | ||
97 | GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x80); | ||
98 | } | ||
99 | |||
100 | /* Switch the backlight off. Keeps the backlight circuit enabled. | ||
101 | * Called in ISR context for fading, so it must be fast. */ | ||
102 | void _backlight_led_off(void) | ||
35 | { | 103 | { |
36 | GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 1<<3); | 104 | GPIO_CLEAR_BITWISE(GPIOL_OUTPUT_VAL, 0x80); |
37 | GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 1<<7); | ||
38 | } | 105 | } |
39 | 106 | ||
40 | inline void __backlight_off(void) | 107 | bool _backlight_init(void) |
41 | { | 108 | { |
42 | GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 1<<3); | 109 | GPIO_SET_BITWISE(GPIOB_ENABLE, 0x08); |
43 | GPIO_CLEAR_BITWISE(GPIOL_OUTPUT_VAL, 1<<7); | 110 | GPIO_SET_BITWISE(GPIOB_OUTPUT_EN, 0x08); |
111 | GPIO_SET_BITWISE(GPIOD_ENABLE, 0x80); | ||
112 | GPIO_SET_BITWISE(GPIOD_OUTPUT_EN, 0x80); | ||
113 | _backlight_hw_enable(true); | ||
114 | GPIO_SET_BITWISE(GPIOL_ENABLE, 0x80); | ||
115 | GPIO_SET_BITWISE(GPIOL_OUTPUT_EN, 0x80); | ||
116 | GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x80); | ||
117 | |||
118 | return true; | ||
44 | } | 119 | } |
diff --git a/firmware/target/arm/ipod/backlight-target.h b/firmware/target/arm/ipod/backlight-target.h index f4e34cb53a..1a23ecf8be 100644 --- a/firmware/target/arm/ipod/backlight-target.h +++ b/firmware/target/arm/ipod/backlight-target.h | |||
@@ -19,8 +19,38 @@ | |||
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 | #if defined(IPOD_VIDEO) || defined(IPOD_NANO) |
23 | void __backlight_on(void); | 23 | |
24 | void __backlight_off(void); | 24 | bool _backlight_init(void); |
25 | void _backlight_set_brightness(int val); | ||
26 | void _backlight_led_on(void); | ||
27 | void _backlight_led_off(void); | ||
28 | void _backlight_hw_enable(bool on); | ||
29 | |||
30 | #define _backlight_on_isr() _backlight_led_on() | ||
31 | #define _backlight_off_isr() _backlight_led_off() | ||
32 | #define _backlight_on_normal() do { _backlight_hw_enable(true); \ | ||
33 | _backlight_led_on(); } while(0) | ||
34 | #define _backlight_off_normal() do { _backlight_led_off(); \ | ||
35 | _backlight_hw_enable(false); } while(0) | ||
36 | #define _BACKLIGHT_FADE_ENABLE | ||
37 | |||
38 | #elif defined HAVE_BACKLIGHT_PWM_FADING | ||
39 | |||
40 | #define _backlight_init() true | ||
41 | void _backlight_hw_on(void); | ||
42 | void _backlight_hw_off(void); | ||
43 | |||
44 | #define _backlight_on_isr() _backlight_hw_on() | ||
45 | #define _backlight_off_isr() _backlight_hw_off() | ||
46 | #define _backlight_on_normal() _backlight_hw_on() | ||
47 | #define _backlight_off_normal() _backlight_hw_off() | ||
48 | |||
49 | #else | ||
50 | |||
51 | #define _backlight_init() true | ||
52 | void _backlight_on(void); | ||
53 | void _backlight_off(void); | ||
54 | #endif | ||
25 | 55 | ||
26 | #endif | 56 | #endif |
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 | } |
diff --git a/firmware/target/arm/pnx0101/backlight-target.h b/firmware/target/arm/pnx0101/backlight-target.h index 04236880ee..e1362c8f7f 100644 --- a/firmware/target/arm/pnx0101/backlight-target.h +++ b/firmware/target/arm/pnx0101/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/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c index c0dc3974c0..d645555461 100644 --- a/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c | |||
@@ -22,12 +22,12 @@ | |||
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 | GPIO3_SET = 1; | 27 | GPIO3_SET = 1; |
28 | } | 28 | } |
29 | 29 | ||
30 | void __backlight_off(void) | 30 | void _backlight_off(void) |
31 | { | 31 | { |
32 | GPIO3_CLR = 1; | 32 | GPIO3_CLR = 1; |
33 | } | 33 | } |
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c index c132be5f69..ee8801f99b 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | |||
@@ -67,18 +67,8 @@ static unsigned char buttonlight_target; | |||
67 | 67 | ||
68 | static unsigned short buttonlight_trigger_now; | 68 | static unsigned short buttonlight_trigger_now; |
69 | 69 | ||
70 | void __backlight_on(void) | ||
71 | { | ||
72 | backlight_control = BACKLIGHT_CONTROL_ON; | ||
73 | } | ||
74 | |||
75 | void __backlight_off(void) | ||
76 | { | ||
77 | backlight_control = BACKLIGHT_CONTROL_OFF; | ||
78 | } | ||
79 | |||
80 | /* Assumes that the backlight has been initialized */ | 70 | /* Assumes that the backlight has been initialized */ |
81 | void __backlight_set_brightness(int brightness) | 71 | void _backlight_set_brightness(int brightness) |
82 | { | 72 | { |
83 | /* stop the interrupt from messing us up */ | 73 | /* stop the interrupt from messing us up */ |
84 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 74 | backlight_control = BACKLIGHT_CONTROL_IDLE; |
@@ -328,17 +318,44 @@ static void led_control_service(void) | |||
328 | } | 318 | } |
329 | #endif /* BOOTLOADER */ | 319 | #endif /* BOOTLOADER */ |
330 | 320 | ||
331 | void __buttonlight_on(void) | 321 | static void __backlight_dim(bool dim_now) |
322 | { | ||
323 | /* dont let the interrupt tick happen */ | ||
324 | backlight_control = BACKLIGHT_CONTROL_IDLE; | ||
325 | backlight_target = (dim_now == true) ? 0 : backlight_brightness; | ||
326 | if(backlight_target==0 && backlight_brightness==0) | ||
327 | { | ||
328 | if(dim_now == false) | ||
329 | backlight_control = BACKLIGHT_CONTROL_ON; | ||
330 | else | ||
331 | backlight_control = BACKLIGHT_CONTROL_OFF; | ||
332 | } | ||
333 | else | ||
334 | backlight_control = BACKLIGHT_CONTROL_FADE; | ||
335 | } | ||
336 | |||
337 | void _backlight_on(void) | ||
338 | { | ||
339 | lcd_enable(true); | ||
340 | __backlight_dim(false); | ||
341 | } | ||
342 | |||
343 | void _backlight_off(void) | ||
344 | { | ||
345 | __backlight_dim(true); | ||
346 | } | ||
347 | |||
348 | static inline void __buttonlight_on(void) | ||
332 | { | 349 | { |
333 | buttonlight_control = BUTTONLIGHT_CONTROL_ON; | 350 | buttonlight_control = BUTTONLIGHT_CONTROL_ON; |
334 | } | 351 | } |
335 | 352 | ||
336 | void __buttonlight_off(void) | 353 | static inline void __buttonlight_off(void) |
337 | { | 354 | { |
338 | buttonlight_control = BUTTONLIGHT_CONTROL_OFF; | 355 | buttonlight_control = BUTTONLIGHT_CONTROL_OFF; |
339 | } | 356 | } |
340 | 357 | ||
341 | void __buttonlight_dim(bool dim_now) | 358 | static void __buttonlight_dim(bool dim_now) |
342 | { | 359 | { |
343 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; | 360 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; |
344 | buttonlight_target = (dim_now == true) ? 0 : buttonlight_brightness; | 361 | buttonlight_target = (dim_now == true) ? 0 : buttonlight_brightness; |
@@ -353,30 +370,27 @@ void __buttonlight_dim(bool dim_now) | |||
353 | buttonlight_control = BUTTONLIGHT_CONTROL_FADE; | 370 | buttonlight_control = BUTTONLIGHT_CONTROL_FADE; |
354 | } | 371 | } |
355 | 372 | ||
356 | void __backlight_dim(bool dim_now) | 373 | void _buttonlight_on(void) |
357 | { | 374 | { |
358 | /* dont let the interrupt tick happen */ | 375 | __buttonlight_dim(false); |
359 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 376 | } |
360 | backlight_target = (dim_now == true) ? 0 : backlight_brightness; | 377 | |
361 | if(backlight_target==0 && backlight_brightness==0) | 378 | void _buttonlight_off(void) |
362 | { | 379 | { |
363 | if(dim_now == false) | 380 | if(_buttonlight_timeout>0) |
364 | backlight_control = BACKLIGHT_CONTROL_ON; | 381 | __buttonlight_dim(true); |
365 | else | ||
366 | backlight_control = BACKLIGHT_CONTROL_OFF; | ||
367 | } | ||
368 | else | 382 | else |
369 | backlight_control = BACKLIGHT_CONTROL_FADE; | 383 | __buttonlight_off(); |
370 | } | 384 | } |
371 | 385 | ||
372 | void __buttonlight_set_brightness(int brightness) | 386 | void _buttonlight_set_brightness(int brightness) |
373 | { | 387 | { |
374 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; | 388 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; |
375 | buttonlight_brightness = brightness; | 389 | buttonlight_brightness = brightness; |
376 | buttonlight_control = BUTTONLIGHT_CONTROL_SET; | 390 | buttonlight_control = BUTTONLIGHT_CONTROL_SET; |
377 | } | 391 | } |
378 | 392 | ||
379 | bool __backlight_init(void) | 393 | bool _backlight_init(void) |
380 | { | 394 | { |
381 | buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 395 | buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
382 | backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 396 | backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-target.h b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-target.h index 0589557791..b899cc977c 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-target.h +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-target.h | |||
@@ -41,18 +41,12 @@ void __buttonlight_trigger(void); | |||
41 | /* See enum buttonlight_mode for available functions */ | 41 | /* See enum buttonlight_mode for available functions */ |
42 | void __buttonlight_mode(enum buttonlight_mode mode); | 42 | void __buttonlight_mode(enum buttonlight_mode mode); |
43 | 43 | ||
44 | bool __backlight_init(void); | 44 | bool _backlight_init(void); |
45 | void __backlight_on(void); | 45 | void _backlight_on(void); |
46 | void __backlight_off(void); | 46 | void _backlight_off(void); |
47 | void __backlight_set_brightness(int brightness); | 47 | void _backlight_set_brightness(int brightness); |
48 | 48 | ||
49 | void __buttonlight_set_brightness(int brightness); | 49 | void _buttonlight_set_brightness(int brightness); |
50 | 50 | void _buttonlight_on(void); | |
51 | void __buttonlight_on(void); | 51 | void _buttonlight_off(void); |
52 | void __buttonlight_off(void); | ||
53 | |||
54 | /* true: backlight fades off - false: backlight fades on */ | ||
55 | void __backlight_dim(bool dim); | ||
56 | void __buttonlight_dim(bool dim_now); | ||
57 | |||
58 | #endif | 52 | #endif |
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c index ac37908b05..b9da66e025 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/power-meg-fx.c | |||
@@ -63,8 +63,8 @@ bool ide_powered(void) | |||
63 | void power_off(void) | 63 | void power_off(void) |
64 | { | 64 | { |
65 | /* turn off backlight and wait for 1 second */ | 65 | /* turn off backlight and wait for 1 second */ |
66 | __backlight_off(); | 66 | _backlight_off(); |
67 | __buttonlight_off(); | 67 | _buttonlight_off(); |
68 | sleep(HZ); | 68 | sleep(HZ); |
69 | /* set SLEEP bit to on in CLKCON to turn off */ | 69 | /* set SLEEP bit to on in CLKCON to turn off */ |
70 | CLKCON |=(1<<3); | 70 | CLKCON |=(1<<3); |
diff --git a/firmware/target/arm/sandisk/backlight-c200_e200.c b/firmware/target/arm/sandisk/backlight-c200_e200.c index a9fc862966..fad1018d38 100644 --- a/firmware/target/arm/sandisk/backlight-c200_e200.c +++ b/firmware/target/arm/sandisk/backlight-c200_e200.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * KIND, either express or implied. | 16 | * KIND, either express or implied. |
17 | * | 17 | * |
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | #include "config.h" | ||
19 | #include "backlight-target.h" | 20 | #include "backlight-target.h" |
20 | #include "system.h" | 21 | #include "system.h" |
21 | #include "lcd.h" | 22 | #include "lcd.h" |
@@ -25,46 +26,57 @@ | |||
25 | 26 | ||
26 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 27 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
27 | 28 | ||
28 | void __backlight_set_brightness(int brightness) | 29 | void _backlight_set_brightness(int brightness) |
29 | { | 30 | { |
30 | backlight_brightness = brightness; | 31 | backlight_brightness = brightness; |
31 | 32 | ||
32 | if (brightness > 0) | 33 | if (brightness > 0) |
33 | __backlight_on(); | 34 | _backlight_on(); |
34 | else | 35 | else |
35 | __backlight_off(); | 36 | _backlight_off(); |
36 | } | 37 | } |
37 | 38 | ||
38 | void __backlight_on(void) | 39 | void _backlight_on(void) |
39 | { | 40 | { |
40 | #ifdef HAVE_LCD_ENABLE | 41 | #ifdef HAVE_LCD_ENABLE |
41 | lcd_enable(true); /* power on lcd */ | 42 | lcd_enable(true); /* power on lcd */ |
42 | #endif | 43 | #endif |
44 | #ifdef HAVE_LCD_SLEEP | ||
45 | _lcd_sleep_timer = 0; /* LCD should be awake already */ | ||
46 | #endif | ||
43 | pp_i2c_send(AS3514_I2C_ADDR, DCDC15, backlight_brightness); | 47 | pp_i2c_send(AS3514_I2C_ADDR, DCDC15, backlight_brightness); |
44 | } | 48 | } |
45 | 49 | ||
46 | void __backlight_off(void) | 50 | void _backlight_off(void) |
47 | { | 51 | { |
48 | pp_i2c_send(AS3514_I2C_ADDR, DCDC15, 0x0); | 52 | pp_i2c_send(AS3514_I2C_ADDR, DCDC15, 0x0); |
49 | #ifdef HAVE_LCD_ENABLE | 53 | #ifdef HAVE_LCD_ENABLE |
50 | lcd_enable(false); /* power off lcd */ | 54 | lcd_enable(false); /* power off lcd */ |
51 | #endif | 55 | #endif |
56 | #ifdef HAVE_LCD_SLEEP | ||
57 | /* Start LCD sleep countdown */ | ||
58 | if (_lcd_sleep_timeout < 0) | ||
59 | { | ||
60 | _lcd_sleep_timer = 0; /* Setting == Always */ | ||
61 | lcd_sleep(); | ||
62 | } | ||
63 | else | ||
64 | _lcd_sleep_timer = _lcd_sleep_timeout; | ||
65 | #endif | ||
52 | } | 66 | } |
53 | 67 | ||
54 | #ifdef HAVE_BUTTON_LIGHT | 68 | void _buttonlight_on(void) |
55 | void __buttonlight_on(void) | ||
56 | { | 69 | { |
57 | GPIOG_OUTPUT_VAL |= 0x80; | 70 | GPIO_SET_BITWISE(GPIOG_OUTPUT_VAL, 0x80); |
58 | #ifdef SANSA_C200 | 71 | #ifdef SANSA_C200 |
59 | GPIOB_OUTPUT_VAL |= 0x10; /* The "menu" backlight */ | 72 | GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x10); /* The "menu" backlight */ |
60 | #endif | 73 | #endif |
61 | } | 74 | } |
62 | 75 | ||
63 | void __buttonlight_off(void) | 76 | void _buttonlight_off(void) |
64 | { | 77 | { |
65 | GPIOG_OUTPUT_VAL &=~ 0x80; | 78 | GPIO_CLEAR_BITWISE(GPIOG_OUTPUT_VAL, 0x80); |
66 | #ifdef SANSA_C200 | 79 | #ifdef SANSA_C200 |
67 | GPIOB_OUTPUT_VAL &=~ 0x10; /* The "menu" backlight */ | 80 | GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x10); /* The "menu" backlight */ |
68 | #endif | 81 | #endif |
69 | } | 82 | } |
70 | #endif | ||
diff --git a/firmware/target/arm/sandisk/backlight-target.h b/firmware/target/arm/sandisk/backlight-target.h index 53a87fbbb3..01573b8403 100644 --- a/firmware/target/arm/sandisk/backlight-target.h +++ b/firmware/target/arm/sandisk/backlight-target.h | |||
@@ -19,14 +19,12 @@ | |||
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 | void __backlight_set_brightness(int brightness); | 25 | void _backlight_set_brightness(int brightness); |
26 | int __backlight_is_on(void); | 26 | int __backlight_is_on(void); |
27 | 27 | ||
28 | #ifdef HAVE_BUTTON_LIGHT | 28 | void _buttonlight_on(void); |
29 | void __buttonlight_on(void); | 29 | void _buttonlight_off(void); |
30 | void __buttonlight_off(void); | ||
31 | #endif | ||
32 | #endif | 30 | #endif |
diff --git a/firmware/target/arm/tatung/tpj1022/backlight-target.h b/firmware/target/arm/tatung/tpj1022/backlight-target.h index 079a8ce8aa..6513e11122 100644 --- a/firmware/target/arm/tatung/tpj1022/backlight-target.h +++ b/firmware/target/arm/tatung/tpj1022/backlight-target.h | |||
@@ -22,8 +22,8 @@ | |||
22 | #ifndef BACKLIGHT_TARGET_H | 22 | #ifndef BACKLIGHT_TARGET_H |
23 | #define BACKLIGHT_TARGET_H | 23 | #define BACKLIGHT_TARGET_H |
24 | 24 | ||
25 | #define __backlight_init() true | 25 | #define _backlight_init() true |
26 | void __backlight_on(void); | 26 | void _backlight_on(void); |
27 | void __backlight_off(void); | 27 | void _backlight_off(void); |
28 | 28 | ||
29 | #endif | 29 | #endif |
diff --git a/firmware/target/arm/tatung/tpj1022/backlight-tpj1022.c b/firmware/target/arm/tatung/tpj1022/backlight-tpj1022.c index 51218e21be..933ad5e930 100644 --- a/firmware/target/arm/tatung/tpj1022/backlight-tpj1022.c +++ b/firmware/target/arm/tatung/tpj1022/backlight-tpj1022.c | |||
@@ -25,16 +25,16 @@ | |||
25 | #include "system.h" | 25 | #include "system.h" |
26 | #include "backlight.h" | 26 | #include "backlight.h" |
27 | 27 | ||
28 | void __backlight_on(void) | 28 | void _backlight_on(void) |
29 | { | 29 | { |
30 | #if 0 | 30 | #if 0 |
31 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 31 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
32 | pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ | 32 | pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ |
33 | set_irq_level(level); | 33 | set_irq_level(level); |
34 | #endif | 34 | #endif |
35 | } | 35 | } |
36 | 36 | ||
37 | void __backlight_off(void) | 37 | void _backlight_off(void) |
38 | { | 38 | { |
39 | #if 0 | 39 | #if 0 |
40 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 40 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
diff --git a/firmware/target/arm/tcc77x/logikdax/backlight-target.h b/firmware/target/arm/tcc77x/logikdax/backlight-target.h index 4714f22aa3..5a64fcf0bc 100644 --- a/firmware/target/arm/tcc77x/logikdax/backlight-target.h +++ b/firmware/target/arm/tcc77x/logikdax/backlight-target.h | |||
@@ -21,15 +21,15 @@ | |||
21 | 21 | ||
22 | #include "tcc77x.h" | 22 | #include "tcc77x.h" |
23 | 23 | ||
24 | #define __backlight_init() true | 24 | #define _backlight_init() true |
25 | 25 | ||
26 | static inline void __backlight_on(void) | 26 | static inline void _backlight_on(void) |
27 | { | 27 | { |
28 | /* Enable backlight */ | 28 | /* Enable backlight */ |
29 | GPIOD |= 0x10; | 29 | GPIOD |= 0x10; |
30 | } | 30 | } |
31 | 31 | ||
32 | static inline void __backlight_off(void) | 32 | static inline void _backlight_off(void) |
33 | { | 33 | { |
34 | /* Disable backlight */ | 34 | /* Disable backlight */ |
35 | GPIOD &= ~0x10; | 35 | GPIOD &= ~0x10; |
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c index b570f3e8fc..88ed0994f5 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/backlight-mr500.c | |||
@@ -26,18 +26,18 @@ | |||
26 | #include "power.h" | 26 | #include "power.h" |
27 | #include "spi-target.h" | 27 | #include "spi-target.h" |
28 | 28 | ||
29 | void __backlight_on(void) | 29 | void _backlight_on(void) |
30 | { | 30 | { |
31 | __backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); | 31 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); |
32 | } | 32 | } |
33 | 33 | ||
34 | void __backlight_off(void) | 34 | void _backlight_off(void) |
35 | { | 35 | { |
36 | __backlight_set_brightness(0); | 36 | _backlight_set_brightness(0); |
37 | } | 37 | } |
38 | 38 | ||
39 | /* Assumes that the backlight has been initialized */ | 39 | /* Assumes that the backlight has been initialized */ |
40 | void __backlight_set_brightness(int brightness) | 40 | void _backlight_set_brightness(int brightness) |
41 | { | 41 | { |
42 | uint8_t bl_command[] = {0xa4, 0x00, brightness, 0xbb}; | 42 | uint8_t bl_command[] = {0xa4, 0x00, brightness, 0xbb}; |
43 | spi_block_transfer(SPI_target_BACKLIGHT, bl_command, 4, 0, 0); | 43 | spi_block_transfer(SPI_target_BACKLIGHT, bl_command, 4, 0, 0); |
@@ -45,13 +45,13 @@ void __backlight_set_brightness(int brightness) | |||
45 | 45 | ||
46 | void __backlight_dim(bool dim_now) | 46 | void __backlight_dim(bool dim_now) |
47 | { | 47 | { |
48 | __backlight_set_brightness(dim_now ? | 48 | _backlight_set_brightness(dim_now ? |
49 | DEFAULT_BRIGHTNESS_SETTING : | 49 | DEFAULT_BRIGHTNESS_SETTING : |
50 | DEFAULT_DIMNESS_SETTING); | 50 | DEFAULT_DIMNESS_SETTING); |
51 | } | 51 | } |
52 | 52 | ||
53 | bool __backlight_init(void) | 53 | bool _backlight_init(void) |
54 | { | 54 | { |
55 | __backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); | 55 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); |
56 | return true; | 56 | return true; |
57 | } | 57 | } |
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/backlight-target.h b/firmware/target/arm/tms320dm320/mrobe-500/backlight-target.h index 783b9e1320..e53f8eb691 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/backlight-target.h +++ b/firmware/target/arm/tms320dm320/mrobe-500/backlight-target.h | |||
@@ -20,10 +20,10 @@ | |||
20 | #ifndef BACKLIGHT_TARGET_H | 20 | #ifndef BACKLIGHT_TARGET_H |
21 | #define BACKLIGHT_TARGET_H | 21 | #define BACKLIGHT_TARGET_H |
22 | 22 | ||
23 | bool __backlight_init(void); | 23 | bool _backlight_init(void); |
24 | void __backlight_on(void); | 24 | void _backlight_on(void); |
25 | void __backlight_off(void); | 25 | void _backlight_off(void); |
26 | void __backlight_set_brightness(int brightness); | 26 | void _backlight_set_brightness(int brightness); |
27 | 27 | ||
28 | /* true: backlight fades off - false: backlight fades on */ | 28 | /* true: backlight fades off - false: backlight fades on */ |
29 | void __backlight_dim(bool dim); | 29 | void __backlight_dim(bool dim); |
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c index 3a6dad77f4..19f2439039 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c | |||
@@ -64,7 +64,7 @@ bool ide_powered(void) | |||
64 | void power_off(void) | 64 | void power_off(void) |
65 | { | 65 | { |
66 | /* turn off backlight and wait for 1 second */ | 66 | /* turn off backlight and wait for 1 second */ |
67 | __backlight_off(); | 67 | _backlight_off(); |
68 | sleep(HZ); | 68 | sleep(HZ); |
69 | /* Hard shutdown */ | 69 | /* Hard shutdown */ |
70 | IO_GIO_BITSET1|=1<<10; | 70 | IO_GIO_BITSET1|=1<<10; |
diff --git a/firmware/target/coldfire/iaudio/m5/backlight-m5.c b/firmware/target/coldfire/iaudio/m5/backlight-m5.c index 63bc5bc30e..19bc5bfcae 100644 --- a/firmware/target/coldfire/iaudio/m5/backlight-m5.c +++ b/firmware/target/coldfire/iaudio/m5/backlight-m5.c | |||
@@ -24,14 +24,14 @@ | |||
24 | #include "pcf50606.h" | 24 | #include "pcf50606.h" |
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | 26 | ||
27 | bool __backlight_init(void) | 27 | bool _backlight_init(void) |
28 | { | 28 | { |
29 | __backlight_on(); | 29 | _backlight_on(); |
30 | 30 | ||
31 | return true; /* Backlight always ON after boot. */ | 31 | return true; /* Backlight always ON after boot. */ |
32 | } | 32 | } |
33 | 33 | ||
34 | void __backlight_on(void) | 34 | void _backlight_on(void) |
35 | { | 35 | { |
36 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 36 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
37 | 37 | ||
@@ -39,7 +39,7 @@ void __backlight_on(void) | |||
39 | set_irq_level(level); | 39 | set_irq_level(level); |
40 | } | 40 | } |
41 | 41 | ||
42 | void __backlight_off(void) | 42 | void _backlight_off(void) |
43 | { | 43 | { |
44 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 44 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
45 | 45 | ||
@@ -47,12 +47,12 @@ void __backlight_off(void) | |||
47 | set_irq_level(level); | 47 | set_irq_level(level); |
48 | } | 48 | } |
49 | 49 | ||
50 | void __remote_backlight_on(void) | 50 | void _remote_backlight_on(void) |
51 | { | 51 | { |
52 | and_l(~0x00200000, &GPIO_OUT); | 52 | and_l(~0x00200000, &GPIO_OUT); |
53 | } | 53 | } |
54 | 54 | ||
55 | void __remote_backlight_off(void) | 55 | void _remote_backlight_off(void) |
56 | { | 56 | { |
57 | or_l(0x00200000, &GPIO_OUT); | 57 | or_l(0x00200000, &GPIO_OUT); |
58 | } | 58 | } |
diff --git a/firmware/target/coldfire/iaudio/m5/backlight-target.h b/firmware/target/coldfire/iaudio/m5/backlight-target.h index 824810baa1..a5932d32db 100644 --- a/firmware/target/coldfire/iaudio/m5/backlight-target.h +++ b/firmware/target/coldfire/iaudio/m5/backlight-target.h | |||
@@ -19,10 +19,10 @@ | |||
19 | #ifndef BACKLIGHT_TARGET_H | 19 | #ifndef BACKLIGHT_TARGET_H |
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | bool __backlight_init(void); | 22 | bool _backlight_init(void); |
23 | void __backlight_on(void); | 23 | void _backlight_on(void); |
24 | void __backlight_off(void); | 24 | void _backlight_off(void); |
25 | void __remote_backlight_on(void); | 25 | void _remote_backlight_on(void); |
26 | void __remote_backlight_off(void); | 26 | void _remote_backlight_off(void); |
27 | 27 | ||
28 | #endif | 28 | #endif |
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-target.h b/firmware/target/coldfire/iaudio/x5/backlight-target.h index 6e03aaa76f..8b50638f85 100644 --- a/firmware/target/coldfire/iaudio/x5/backlight-target.h +++ b/firmware/target/coldfire/iaudio/x5/backlight-target.h | |||
@@ -19,11 +19,11 @@ | |||
19 | #ifndef BACKLIGHT_TARGET_H | 19 | #ifndef BACKLIGHT_TARGET_H |
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | bool __backlight_init(void); | 22 | bool _backlight_init(void); |
23 | void __backlight_on(void); | 23 | void _backlight_on(void); |
24 | void __backlight_off(void); | 24 | void _backlight_off(void); |
25 | void __backlight_set_brightness(int val); | 25 | void _backlight_set_brightness(int val); |
26 | void __remote_backlight_on(void); | 26 | void _remote_backlight_on(void); |
27 | void __remote_backlight_off(void); | 27 | void _remote_backlight_off(void); |
28 | 28 | ||
29 | #endif | 29 | #endif |
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-x5.c b/firmware/target/coldfire/iaudio/x5/backlight-x5.c index a2682ff1ae..667f4e7278 100644 --- a/firmware/target/coldfire/iaudio/x5/backlight-x5.c +++ b/firmware/target/coldfire/iaudio/x5/backlight-x5.c | |||
@@ -24,33 +24,42 @@ | |||
24 | #include "pcf50606.h" | 24 | #include "pcf50606.h" |
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | 26 | ||
27 | bool __backlight_init(void) | 27 | bool _backlight_init(void) |
28 | { | 28 | { |
29 | __backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); | 29 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); |
30 | __backlight_on(); | 30 | _backlight_on(); |
31 | 31 | ||
32 | return true; /* Backlight always ON after boot. */ | 32 | return true; /* Backlight always ON after boot. */ |
33 | } | 33 | } |
34 | 34 | ||
35 | void __backlight_on(void) | 35 | void _backlight_on(void) |
36 | { | 36 | { |
37 | int level; | 37 | int level; |
38 | lcd_enable(true); | 38 | lcd_enable(true); |
39 | _lcd_sleep_timer = 0; /* LCD should be awake already */ | ||
39 | level = set_irq_level(HIGHEST_IRQ_LEVEL); | 40 | level = set_irq_level(HIGHEST_IRQ_LEVEL); |
40 | pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ | 41 | pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ |
41 | set_irq_level(level); | 42 | set_irq_level(level); |
42 | } | 43 | } |
43 | 44 | ||
44 | void __backlight_off(void) | 45 | void _backlight_off(void) |
45 | { | 46 | { |
46 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 47 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); |
47 | pcf50606_write(0x38, 0x80); /* Backlight OFF, GPO1INV=1, GPO1ACT=000 */ | 48 | pcf50606_write(0x38, 0x80); /* Backlight OFF, GPO1INV=1, GPO1ACT=000 */ |
48 | set_irq_level(level); | 49 | set_irq_level(level); |
49 | lcd_enable(false); | 50 | lcd_enable(false); |
51 | /* Start LCD sleep countdown */ | ||
52 | if (_lcd_sleep_timeout < 0) | ||
53 | { | ||
54 | _lcd_sleep_timer = 0; /* Setting == Always */ | ||
55 | lcd_sleep(); | ||
56 | } | ||
57 | else | ||
58 | _lcd_sleep_timer = _lcd_sleep_timeout; | ||
50 | } | 59 | } |
51 | 60 | ||
52 | /* set brightness by changing the PWM */ | 61 | /* set brightness by changing the PWM */ |
53 | void __backlight_set_brightness(int val) | 62 | void _backlight_set_brightness(int val) |
54 | { | 63 | { |
55 | /* disable IRQs while bitbanging */ | 64 | /* disable IRQs while bitbanging */ |
56 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); | 65 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); |
@@ -59,12 +68,12 @@ void __backlight_set_brightness(int val) | |||
59 | set_irq_level(old_irq_level); | 68 | set_irq_level(old_irq_level); |
60 | } | 69 | } |
61 | 70 | ||
62 | void __remote_backlight_on(void) | 71 | void _remote_backlight_on(void) |
63 | { | 72 | { |
64 | and_l(~0x00200000, &GPIO_OUT); | 73 | and_l(~0x00200000, &GPIO_OUT); |
65 | } | 74 | } |
66 | 75 | ||
67 | void __remote_backlight_off(void) | 76 | void _remote_backlight_off(void) |
68 | { | 77 | { |
69 | or_l(0x00200000, &GPIO_OUT); | 78 | or_l(0x00200000, &GPIO_OUT); |
70 | } | 79 | } |
diff --git a/firmware/target/coldfire/iriver/h100/backlight-h100.c b/firmware/target/coldfire/iriver/h100/backlight-h100.c index 7cff965ff9..1c3dded5e5 100644 --- a/firmware/target/coldfire/iriver/h100/backlight-h100.c +++ b/firmware/target/coldfire/iriver/h100/backlight-h100.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | 26 | ||
27 | /* Returns the current state of the backlight (true=ON, false=OFF). */ | 27 | /* Returns the current state of the backlight (true=ON, false=OFF). */ |
28 | bool __backlight_init(void) | 28 | bool _backlight_init(void) |
29 | { | 29 | { |
30 | or_l(0x00020000, &GPIO1_ENABLE); | 30 | or_l(0x00020000, &GPIO1_ENABLE); |
31 | or_l(0x00020000, &GPIO1_FUNCTION); | 31 | or_l(0x00020000, &GPIO1_FUNCTION); |
@@ -33,22 +33,22 @@ bool __backlight_init(void) | |||
33 | return (GPIO1_OUT & 0x00020000) ? false : true; | 33 | return (GPIO1_OUT & 0x00020000) ? false : true; |
34 | } | 34 | } |
35 | 35 | ||
36 | void __backlight_on(void) | 36 | void _backlight_hw_on(void) |
37 | { | 37 | { |
38 | and_l(~0x00020000, &GPIO1_OUT); | 38 | and_l(~0x00020000, &GPIO1_OUT); |
39 | } | 39 | } |
40 | 40 | ||
41 | void __backlight_off(void) | 41 | void _backlight_hw_off(void) |
42 | { | 42 | { |
43 | or_l(0x00020000, &GPIO1_OUT); | 43 | or_l(0x00020000, &GPIO1_OUT); |
44 | } | 44 | } |
45 | 45 | ||
46 | void __remote_backlight_on(void) | 46 | void _remote_backlight_on(void) |
47 | { | 47 | { |
48 | and_l(~0x00000800, &GPIO_OUT); | 48 | and_l(~0x00000800, &GPIO_OUT); |
49 | } | 49 | } |
50 | 50 | ||
51 | void __remote_backlight_off(void) | 51 | void _remote_backlight_off(void) |
52 | { | 52 | { |
53 | or_l(0x00000800, &GPIO_OUT); | 53 | or_l(0x00000800, &GPIO_OUT); |
54 | } | 54 | } |
diff --git a/firmware/target/coldfire/iriver/h100/backlight-target.h b/firmware/target/coldfire/iriver/h100/backlight-target.h new file mode 100644 index 0000000000..6697fb19c3 --- /dev/null +++ b/firmware/target/coldfire/iriver/h100/backlight-target.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Linus Nielsen Feltzing | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifndef BACKLIGHT_TARGET_H | ||
20 | #define BACKLIGHT_TARGET_H | ||
21 | |||
22 | bool _backlight_init(void); /* Returns backlight current state (true=ON). */ | ||
23 | void _backlight_hw_on(void); | ||
24 | void _backlight_hw_off(void); | ||
25 | |||
26 | #define _backlight_on_isr() _backlight_hw_on() | ||
27 | #define _backlight_off_isr() _backlight_hw_off() | ||
28 | #define _backlight_on_normal() _backlight_hw_on() | ||
29 | #define _backlight_off_normal() _backlight_hw_off() | ||
30 | #define _BACKLIGHT_FADE_BOOST | ||
31 | |||
32 | void _remote_backlight_on(void); | ||
33 | void _remote_backlight_off(void); | ||
34 | |||
35 | #endif | ||
diff --git a/firmware/target/coldfire/iriver/h300/backlight-h300.c b/firmware/target/coldfire/iriver/h300/backlight-h300.c index 4cec54f0d7..c0d441ad3f 100644 --- a/firmware/target/coldfire/iriver/h300/backlight-h300.c +++ b/firmware/target/coldfire/iriver/h300/backlight-h300.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "pcf50606.h" | 25 | #include "pcf50606.h" |
26 | #include "lcd.h" | 26 | #include "lcd.h" |
27 | 27 | ||
28 | bool __backlight_init(void) | 28 | bool _backlight_init(void) |
29 | { | 29 | { |
30 | or_l(0x00020000, &GPIO1_ENABLE); | 30 | or_l(0x00020000, &GPIO1_ENABLE); |
31 | or_l(0x00020000, &GPIO1_FUNCTION); | 31 | or_l(0x00020000, &GPIO1_FUNCTION); |
@@ -34,21 +34,21 @@ bool __backlight_init(void) | |||
34 | return true; /* Backlight always ON after boot. */ | 34 | return true; /* Backlight always ON after boot. */ |
35 | } | 35 | } |
36 | 36 | ||
37 | void __backlight_on(void) | 37 | void _backlight_on(void) |
38 | { | 38 | { |
39 | lcd_enable(true); | 39 | lcd_enable(true); |
40 | sleep(HZ/100); /* lcd needs time - avoid flashing for dark screens */ | 40 | sleep(HZ/100); /* lcd needs time - avoid flashing for dark screens */ |
41 | or_l(0x00020000, &GPIO1_OUT); | 41 | or_l(0x00020000, &GPIO1_OUT); |
42 | } | 42 | } |
43 | 43 | ||
44 | void __backlight_off(void) | 44 | void _backlight_off(void) |
45 | { | 45 | { |
46 | and_l(~0x00020000, &GPIO1_OUT); | 46 | and_l(~0x00020000, &GPIO1_OUT); |
47 | lcd_enable(false); | 47 | lcd_enable(false); |
48 | } | 48 | } |
49 | 49 | ||
50 | /* set brightness by changing the PWM */ | 50 | /* set brightness by changing the PWM */ |
51 | void __backlight_set_brightness(int val) | 51 | void _backlight_set_brightness(int val) |
52 | { | 52 | { |
53 | /* disable IRQs while bitbanging */ | 53 | /* disable IRQs while bitbanging */ |
54 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); | 54 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); |
@@ -57,12 +57,12 @@ void __backlight_set_brightness(int val) | |||
57 | set_irq_level(old_irq_level); | 57 | set_irq_level(old_irq_level); |
58 | } | 58 | } |
59 | 59 | ||
60 | void __remote_backlight_on(void) | 60 | void _remote_backlight_on(void) |
61 | { | 61 | { |
62 | and_l(~0x00000002, &GPIO1_OUT); | 62 | and_l(~0x00000002, &GPIO1_OUT); |
63 | } | 63 | } |
64 | 64 | ||
65 | void __remote_backlight_off(void) | 65 | void _remote_backlight_off(void) |
66 | { | 66 | { |
67 | or_l(0x00000002, &GPIO1_OUT); | 67 | or_l(0x00000002, &GPIO1_OUT); |
68 | } | 68 | } |
diff --git a/firmware/target/coldfire/iriver/backlight-target.h b/firmware/target/coldfire/iriver/h300/backlight-target.h index 30a57e4fbc..f0e1147304 100644 --- a/firmware/target/coldfire/iriver/backlight-target.h +++ b/firmware/target/coldfire/iriver/h300/backlight-target.h | |||
@@ -19,13 +19,11 @@ | |||
19 | #ifndef BACKLIGHT_TARGET_H | 19 | #ifndef BACKLIGHT_TARGET_H |
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | bool __backlight_init(void); /* Returns backlight current state (true=ON). */ | 22 | bool _backlight_init(void); /* Returns backlight current state (true=ON). */ |
23 | void __backlight_on(void); | 23 | void _backlight_on(void); |
24 | void __backlight_off(void); | 24 | void _backlight_off(void); |
25 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 25 | void _backlight_set_brightness(int val); |
26 | void __backlight_set_brightness(int val); | 26 | void _remote_backlight_on(void); |
27 | #endif | 27 | void _remote_backlight_off(void); |
28 | void __remote_backlight_on(void); | ||
29 | void __remote_backlight_off(void); | ||
30 | 28 | ||
31 | #endif | 29 | #endif |
diff --git a/firmware/target/sh/archos/fm_v2/backlight-target.h b/firmware/target/sh/archos/fm_v2/backlight-target.h index 834d10bdc6..693e2c8200 100644 --- a/firmware/target/sh/archos/fm_v2/backlight-target.h +++ b/firmware/target/sh/archos/fm_v2/backlight-target.h | |||
@@ -22,15 +22,15 @@ | |||
22 | #include "config.h" | 22 | #include "config.h" |
23 | #include "rtc.h" | 23 | #include "rtc.h" |
24 | 24 | ||
25 | #define __backlight_init() true | 25 | #define _backlight_init() true |
26 | 26 | ||
27 | static inline void __backlight_on(void) | 27 | static inline void _backlight_on(void) |
28 | { | 28 | { |
29 | /* Enable square wave */ | 29 | /* Enable square wave */ |
30 | rtc_write(0x0a, rtc_read(0x0a) | 0x40); | 30 | rtc_write(0x0a, rtc_read(0x0a) | 0x40); |
31 | } | 31 | } |
32 | 32 | ||
33 | static inline void __backlight_off(void) | 33 | static inline void _backlight_off(void) |
34 | { | 34 | { |
35 | /* Disable square wave */ | 35 | /* Disable square wave */ |
36 | rtc_write(0x0a, rtc_read(0x0a) & ~0x40); | 36 | rtc_write(0x0a, rtc_read(0x0a) & ~0x40); |
diff --git a/firmware/target/sh/archos/ondio/backlight-target.h b/firmware/target/sh/archos/ondio/backlight-target.h index 9be66bd6a0..94d5eb6f2f 100644 --- a/firmware/target/sh/archos/ondio/backlight-target.h +++ b/firmware/target/sh/archos/ondio/backlight-target.h | |||
@@ -25,7 +25,7 @@ | |||
25 | #ifdef HAVE_BACKLIGHT | 25 | #ifdef HAVE_BACKLIGHT |
26 | /* A stock Ondio has no backlight, it needs a hardware mod. */ | 26 | /* A stock Ondio has no backlight, it needs a hardware mod. */ |
27 | 27 | ||
28 | static inline bool __backlight_init(void) | 28 | static inline bool _backlight_init(void) |
29 | { | 29 | { |
30 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ | 30 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ |
31 | or_b(0x40, &PADRH); /* drive it high */ | 31 | or_b(0x40, &PADRH); /* drive it high */ |
@@ -33,12 +33,12 @@ static inline bool __backlight_init(void) | |||
33 | return true; | 33 | return true; |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline void __backlight_on(void) | 36 | static inline void _backlight_on(void) |
37 | { | 37 | { |
38 | or_b(0x40, &PADRH); /* drive it high */ | 38 | or_b(0x40, &PADRH); /* drive it high */ |
39 | } | 39 | } |
40 | 40 | ||
41 | static inline void __backlight_off(void) | 41 | static inline void _backlight_off(void) |
42 | { | 42 | { |
43 | and_b(~0x40, &PADRH); /* drive it low */ | 43 | and_b(~0x40, &PADRH); /* drive it low */ |
44 | } | 44 | } |
diff --git a/firmware/target/sh/archos/player/backlight-target.h b/firmware/target/sh/archos/player/backlight-target.h index d3bb7f39ed..ede3c86635 100644 --- a/firmware/target/sh/archos/player/backlight-target.h +++ b/firmware/target/sh/archos/player/backlight-target.h | |||
@@ -22,7 +22,7 @@ | |||
22 | #include "config.h" | 22 | #include "config.h" |
23 | #include "cpu.h" | 23 | #include "cpu.h" |
24 | 24 | ||
25 | static inline bool __backlight_init(void) | 25 | static inline bool _backlight_init(void) |
26 | { | 26 | { |
27 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ | 27 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ |
28 | and_b(~0x40, &PADRH); /* drive and set low */ | 28 | and_b(~0x40, &PADRH); /* drive and set low */ |
@@ -30,13 +30,13 @@ static inline bool __backlight_init(void) | |||
30 | return true; | 30 | return true; |
31 | } | 31 | } |
32 | 32 | ||
33 | static inline void __backlight_on(void) | 33 | static inline void _backlight_on(void) |
34 | { | 34 | { |
35 | and_b(~0x40, &PADRH); /* drive and set low */ | 35 | and_b(~0x40, &PADRH); /* drive and set low */ |
36 | or_b(0x40, &PAIORH); | 36 | or_b(0x40, &PAIORH); |
37 | } | 37 | } |
38 | 38 | ||
39 | static inline void __backlight_off(void) | 39 | static inline void _backlight_off(void) |
40 | { | 40 | { |
41 | and_b(~0x40, &PAIORH); /* let it float (up) */ | 41 | and_b(~0x40, &PAIORH); /* let it float (up) */ |
42 | } | 42 | } |
diff --git a/firmware/target/sh/archos/recorder/backlight-target.h b/firmware/target/sh/archos/recorder/backlight-target.h index 834d10bdc6..693e2c8200 100644 --- a/firmware/target/sh/archos/recorder/backlight-target.h +++ b/firmware/target/sh/archos/recorder/backlight-target.h | |||
@@ -22,15 +22,15 @@ | |||
22 | #include "config.h" | 22 | #include "config.h" |
23 | #include "rtc.h" | 23 | #include "rtc.h" |
24 | 24 | ||
25 | #define __backlight_init() true | 25 | #define _backlight_init() true |
26 | 26 | ||
27 | static inline void __backlight_on(void) | 27 | static inline void _backlight_on(void) |
28 | { | 28 | { |
29 | /* Enable square wave */ | 29 | /* Enable square wave */ |
30 | rtc_write(0x0a, rtc_read(0x0a) | 0x40); | 30 | rtc_write(0x0a, rtc_read(0x0a) | 0x40); |
31 | } | 31 | } |
32 | 32 | ||
33 | static inline void __backlight_off(void) | 33 | static inline void _backlight_off(void) |
34 | { | 34 | { |
35 | /* Disable square wave */ | 35 | /* Disable square wave */ |
36 | rtc_write(0x0a, rtc_read(0x0a) & ~0x40); | 36 | rtc_write(0x0a, rtc_read(0x0a) & ~0x40); |