diff options
Diffstat (limited to 'firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c')
-rw-r--r-- | firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c b/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c index 6d286aee8f..39a9abf073 100644 --- a/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c +++ b/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c | |||
@@ -24,27 +24,20 @@ | |||
24 | #include "pcf50606.h" | 24 | #include "pcf50606.h" |
25 | #include "tcc780x.h" | 25 | #include "tcc780x.h" |
26 | 26 | ||
27 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | ||
28 | |||
29 | int _backlight_init(void) | 27 | int _backlight_init(void) |
30 | { | 28 | { |
31 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); | 29 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); |
30 | /* set backlight on by default, since the screen is unreadable without it */ | ||
31 | _backlight_on(); | ||
32 | return true; | 32 | return true; |
33 | } | 33 | } |
34 | 34 | ||
35 | void _backlight_set_brightness(int brightness) | 35 | void _backlight_set_brightness(int brightness) |
36 | { | 36 | { |
37 | backlight_brightness = brightness; | ||
38 | |||
39 | int level = disable_irq_save(); | 37 | int level = disable_irq_save(); |
40 | pcf50606_write(PCF5060X_PWMC1, 0xe1 | (14-backlight_brightness)<<1); | 38 | pcf50606_write(PCF5060X_PWMC1, 0xe1 | (MAX_BRIGHTNESS_SETTING-brightness)<<1); |
41 | pcf50606_write(PCF5060X_GPOC1, 0x3); | 39 | pcf50606_write(PCF5060X_GPOC1, 0x3); |
42 | restore_irq(level); | 40 | restore_irq(level); |
43 | |||
44 | if (brightness > 0) | ||
45 | _backlight_on(); | ||
46 | else | ||
47 | _backlight_off(); | ||
48 | } | 41 | } |
49 | 42 | ||
50 | void _backlight_on(void) | 43 | void _backlight_on(void) |