summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c')
-rw-r--r--firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c13
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
27static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING;
28
29int _backlight_init(void) 27int _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
35void _backlight_set_brightness(int brightness) 35void _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
50void _backlight_on(void) 43void _backlight_on(void)