diff options
Diffstat (limited to 'firmware/target/coldfire/iaudio')
-rwxr-xr-x | firmware/target/coldfire/iaudio/x5/backlight-target.h | 1 | ||||
-rwxr-xr-x | firmware/target/coldfire/iaudio/x5/backlight-x5.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-target.h b/firmware/target/coldfire/iaudio/x5/backlight-target.h index 262650ae24..e982e656d6 100755 --- a/firmware/target/coldfire/iaudio/x5/backlight-target.h +++ b/firmware/target/coldfire/iaudio/x5/backlight-target.h | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | void __backlight_on(void); | 22 | void __backlight_on(void); |
23 | void __backlight_off(void); | 23 | void __backlight_off(void); |
24 | void __backlight_set_brightness(int val); | ||
24 | void __remote_backlight_on(void); | 25 | void __remote_backlight_on(void); |
25 | void __remote_backlight_off(void); | 26 | void __remote_backlight_off(void); |
26 | 27 | ||
diff --git a/firmware/target/coldfire/iaudio/x5/backlight-x5.c b/firmware/target/coldfire/iaudio/x5/backlight-x5.c index 70a5d957b6..9d02c35988 100755 --- a/firmware/target/coldfire/iaudio/x5/backlight-x5.c +++ b/firmware/target/coldfire/iaudio/x5/backlight-x5.c | |||
@@ -40,6 +40,16 @@ void __backlight_off(void) | |||
40 | lcd_enable(false); | 40 | lcd_enable(false); |
41 | } | 41 | } |
42 | 42 | ||
43 | /* set brightness by changing the PWM */ | ||
44 | void __backlight_set_brightness(int val) | ||
45 | { | ||
46 | /* disable IRQs while bitbanging */ | ||
47 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
48 | pcf50606_write(0x35, (val << 1) | 0x01); /* 512Hz, Enable PWM */ | ||
49 | /* enable IRQs again */ | ||
50 | set_irq_level(old_irq_level); | ||
51 | } | ||
52 | |||
43 | void __remote_backlight_on(void) | 53 | void __remote_backlight_on(void) |
44 | { | 54 | { |
45 | and_l(~0x00200000, &GPIO_OUT); | 55 | and_l(~0x00200000, &GPIO_OUT); |