diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2007-01-12 20:26:23 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-01-12 20:26:23 +0000 |
commit | 73cd9f3b63718d1fe927e7ef4294ed902e8a1b73 (patch) | |
tree | 82fc91d5a47c267a8a5a1cdd20aa89b2cd65a079 | |
parent | 0ea4d3197ed7e56f39c630741cb69152ac9e41de (diff) | |
download | rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.tar.gz rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.zip |
Turn backlight ON at boot unless bootloader has already done that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11992 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/main.c | 4 | ||||
-rw-r--r-- | firmware/backlight.c | 24 | ||||
-rw-r--r-- | firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c | 4 | ||||
-rw-r--r-- | firmware/target/arm/gigabeat/meg-fx/backlight-target.h | 2 | ||||
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/backlight-target.h | 2 | ||||
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/backlight-x5.c | 4 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/backlight-target.h | 2 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/h100/backlight-h100.c | 6 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/h300/backlight-h300.c | 4 |
9 files changed, 35 insertions, 17 deletions
diff --git a/apps/main.c b/apps/main.c index 4b0e98c57a..ccfc68f4f4 100644 --- a/apps/main.c +++ b/apps/main.c | |||
@@ -306,6 +306,8 @@ static void init(void) | |||
306 | cpu_boost(true); | 306 | cpu_boost(true); |
307 | #endif | 307 | #endif |
308 | 308 | ||
309 | backlight_init(); | ||
310 | |||
309 | buffer_init(); | 311 | buffer_init(); |
310 | 312 | ||
311 | settings_reset(); | 313 | settings_reset(); |
@@ -347,8 +349,6 @@ static void init(void) | |||
347 | m5636_init(); | 349 | m5636_init(); |
348 | #endif | 350 | #endif |
349 | 351 | ||
350 | backlight_init(); | ||
351 | |||
352 | button_init(); | 352 | button_init(); |
353 | 353 | ||
354 | powermgmt_init(); | 354 | powermgmt_init(); |
diff --git a/firmware/backlight.c b/firmware/backlight.c index 63bde6a868..d621aa42d1 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -152,8 +152,8 @@ static int fade_in_count = 1; | |||
152 | static int fade_out_count = 4; | 152 | static int fade_out_count = 4; |
153 | 153 | ||
154 | static bool bl_timer_active = false; | 154 | static bool bl_timer_active = false; |
155 | static int bl_dim_current = BL_PWM_COUNT; | 155 | static int bl_dim_current = 0; |
156 | static int bl_dim_target = BL_PWM_COUNT; | 156 | static int bl_dim_target = 0; |
157 | static int bl_pwm_counter = 0; | 157 | static int bl_pwm_counter = 0; |
158 | static volatile int bl_cycle_counter = 0; | 158 | static volatile int bl_cycle_counter = 0; |
159 | static enum {DIM_STATE_START, DIM_STATE_MAIN} bl_dim_state = DIM_STATE_START; | 159 | static enum {DIM_STATE_START, DIM_STATE_MAIN} bl_dim_state = DIM_STATE_START; |
@@ -556,17 +556,21 @@ static void backlight_tick(void) | |||
556 | void backlight_init(void) | 556 | void backlight_init(void) |
557 | { | 557 | { |
558 | queue_init(&backlight_queue, true); | 558 | queue_init(&backlight_queue, true); |
559 | create_thread(backlight_thread, backlight_stack, | 559 | |
560 | sizeof(backlight_stack), backlight_thread_name | ||
561 | IF_PRIO(, PRIORITY_SYSTEM)); | ||
562 | tick_add_task(backlight_tick); | ||
563 | #ifdef SIMULATOR | 560 | #ifdef SIMULATOR |
564 | /* do nothing */ | 561 | /* do nothing */ |
565 | #elif defined(__BACKLIGHT_INIT) | 562 | #elif defined(__BACKLIGHT_INIT) |
566 | /* Remove the __BACKLIGHT_INIT references when __backlight_init is | 563 | /* Remove the __BACKLIGHT_INIT references when __backlight_init is |
567 | available on all backlighted targets. Take them out of the | 564 | available on all backlighted targets. Take them out of the |
568 | backlight-target.h files as well */ | 565 | backlight-target.h files as well */ |
569 | __backlight_init(); | 566 | if (__backlight_init()) |
567 | { | ||
568 | # if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) | ||
569 | /* If backlight is already on, don't fade in. */ | ||
570 | bl_dim_current = BL_PWM_COUNT; | ||
571 | bl_dim_target = BL_PWM_COUNT; | ||
572 | # endif | ||
573 | } | ||
570 | #elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI | 574 | #elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI |
571 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ | 575 | PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ |
572 | or_b(0x40, &PAIORH); /* ..and output */ | 576 | or_b(0x40, &PAIORH); /* ..and output */ |
@@ -575,6 +579,11 @@ void backlight_init(void) | |||
575 | #ifdef HAVE_REMOTE_LCD | 579 | #ifdef HAVE_REMOTE_LCD |
576 | remote_backlight_on(); | 580 | remote_backlight_on(); |
577 | #endif | 581 | #endif |
582 | |||
583 | create_thread(backlight_thread, backlight_stack, | ||
584 | sizeof(backlight_stack), backlight_thread_name | ||
585 | IF_PRIO(, PRIORITY_SYSTEM)); | ||
586 | tick_add_task(backlight_tick); | ||
578 | } | 587 | } |
579 | 588 | ||
580 | #ifdef X5_BACKLIGHT_SHUTDOWN | 589 | #ifdef X5_BACKLIGHT_SHUTDOWN |
@@ -803,6 +812,7 @@ void backlight_init(void) | |||
803 | { | 812 | { |
804 | #ifdef __BACKLIGHT_INIT | 813 | #ifdef __BACKLIGHT_INIT |
805 | __backlight_init(); | 814 | __backlight_init(); |
815 | __backlight_on(); | ||
806 | #endif | 816 | #endif |
807 | } | 817 | } |
808 | #endif | 818 | #endif |
diff --git a/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c index 5b32c98572..f6a8d31c7b 100644 --- a/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c +++ b/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c | |||
@@ -113,7 +113,7 @@ unsigned char charging_leds[] = { 0x00, 0x20, 0x38, 0x3C }; | |||
113 | 113 | ||
114 | 114 | ||
115 | 115 | ||
116 | void __backlight_init(void) | 116 | bool __backlight_init(void) |
117 | { | 117 | { |
118 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 118 | backlight_control = BACKLIGHT_CONTROL_IDLE; |
119 | 119 | ||
@@ -127,6 +127,8 @@ void __backlight_init(void) | |||
127 | initial_tick_delay = 2000; | 127 | initial_tick_delay = 2000; |
128 | /* put the led control on the tick list */ | 128 | /* put the led control on the tick list */ |
129 | tick_add_task(led_control_service); | 129 | tick_add_task(led_control_service); |
130 | |||
131 | return true; | ||
130 | } | 132 | } |
131 | 133 | ||
132 | 134 | ||
diff --git a/firmware/target/arm/gigabeat/meg-fx/backlight-target.h b/firmware/target/arm/gigabeat/meg-fx/backlight-target.h index 781fb9647b..5f92cee935 100644 --- a/firmware/target/arm/gigabeat/meg-fx/backlight-target.h +++ b/firmware/target/arm/gigabeat/meg-fx/backlight-target.h | |||
@@ -76,7 +76,7 @@ void __buttonlight_mode(enum buttonlight_mode mode, | |||
76 | unsigned short brightness); | 76 | unsigned short brightness); |
77 | 77 | ||
78 | 78 | ||
79 | void __backlight_init(void); | 79 | bool __backlight_init(void); |
80 | void __backlight_on(void); | 80 | void __backlight_on(void); |
81 | void __backlight_off(void); | 81 | void __backlight_off(void); |
82 | void __backlight_set_brightness(int val); | 82 | void __backlight_set_brightness(int val); |
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-target.h b/firmware/target/coldfire/iaudio/x5/backlight-target.h index e6feb8bc0c..e70bea08e4 100644 --- a/firmware/target/coldfire/iaudio/x5/backlight-target.h +++ b/firmware/target/coldfire/iaudio/x5/backlight-target.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | #define __BACKLIGHT_INIT | 22 | #define __BACKLIGHT_INIT |
23 | void __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 val); | 26 | void __backlight_set_brightness(int val); |
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-x5.c b/firmware/target/coldfire/iaudio/x5/backlight-x5.c index 9b50993d90..a2682ff1ae 100644 --- a/firmware/target/coldfire/iaudio/x5/backlight-x5.c +++ b/firmware/target/coldfire/iaudio/x5/backlight-x5.c | |||
@@ -24,10 +24,12 @@ | |||
24 | #include "pcf50606.h" | 24 | #include "pcf50606.h" |
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | 26 | ||
27 | void __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 | |||
32 | return true; /* Backlight always ON after boot. */ | ||
31 | } | 33 | } |
32 | 34 | ||
33 | void __backlight_on(void) | 35 | void __backlight_on(void) |
diff --git a/firmware/target/coldfire/iriver/backlight-target.h b/firmware/target/coldfire/iriver/backlight-target.h index ac146eac83..e653fa1ffb 100644 --- a/firmware/target/coldfire/iriver/backlight-target.h +++ b/firmware/target/coldfire/iriver/backlight-target.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #define BACKLIGHT_TARGET_H | 20 | #define BACKLIGHT_TARGET_H |
21 | 21 | ||
22 | #define __BACKLIGHT_INIT | 22 | #define __BACKLIGHT_INIT |
23 | void __backlight_init(void); | 23 | bool __backlight_init(void); /* Returns backlight current state (true=ON). */ |
24 | void __backlight_on(void); | 24 | void __backlight_on(void); |
25 | void __backlight_off(void); | 25 | void __backlight_off(void); |
26 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 26 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
diff --git a/firmware/target/coldfire/iriver/h100/backlight-h100.c b/firmware/target/coldfire/iriver/h100/backlight-h100.c index 62c24dc861..7cff965ff9 100644 --- a/firmware/target/coldfire/iriver/h100/backlight-h100.c +++ b/firmware/target/coldfire/iriver/h100/backlight-h100.c | |||
@@ -24,11 +24,13 @@ | |||
24 | #include "backlight.h" | 24 | #include "backlight.h" |
25 | #include "lcd.h" | 25 | #include "lcd.h" |
26 | 26 | ||
27 | void __backlight_init(void) | 27 | /* Returns the current state of the backlight (true=ON, false=OFF). */ |
28 | bool __backlight_init(void) | ||
28 | { | 29 | { |
29 | or_l(0x00020000, &GPIO1_ENABLE); | 30 | or_l(0x00020000, &GPIO1_ENABLE); |
30 | or_l(0x00020000, &GPIO1_FUNCTION); | 31 | or_l(0x00020000, &GPIO1_FUNCTION); |
31 | and_l(~0x00020000, &GPIO1_OUT); /* Start with the backlight ON */ | 32 | |
33 | return (GPIO1_OUT & 0x00020000) ? false : true; | ||
32 | } | 34 | } |
33 | 35 | ||
34 | void __backlight_on(void) | 36 | void __backlight_on(void) |
diff --git a/firmware/target/coldfire/iriver/h300/backlight-h300.c b/firmware/target/coldfire/iriver/h300/backlight-h300.c index ef1d6d344d..4cec54f0d7 100644 --- a/firmware/target/coldfire/iriver/h300/backlight-h300.c +++ b/firmware/target/coldfire/iriver/h300/backlight-h300.c | |||
@@ -25,11 +25,13 @@ | |||
25 | #include "pcf50606.h" | 25 | #include "pcf50606.h" |
26 | #include "lcd.h" | 26 | #include "lcd.h" |
27 | 27 | ||
28 | void __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); |
32 | or_l(0x00020000, &GPIO1_OUT); /* Start with the backlight ON */ | 32 | or_l(0x00020000, &GPIO1_OUT); /* Start with the backlight ON */ |
33 | |||
34 | return true; /* Backlight always ON after boot. */ | ||
33 | } | 35 | } |
34 | 36 | ||
35 | void __backlight_on(void) | 37 | void __backlight_on(void) |