diff options
Diffstat (limited to 'firmware/target/coldfire/iriver')
-rw-r--r-- | firmware/target/coldfire/iriver/backlight-target.h | 3 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/h300/backlight-h300.c | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/firmware/target/coldfire/iriver/backlight-target.h b/firmware/target/coldfire/iriver/backlight-target.h index 262650ae24..086ab02761 100644 --- a/firmware/target/coldfire/iriver/backlight-target.h +++ b/firmware/target/coldfire/iriver/backlight-target.h | |||
@@ -21,6 +21,9 @@ | |||
21 | 21 | ||
22 | void __backlight_on(void); | 22 | void __backlight_on(void); |
23 | void __backlight_off(void); | 23 | void __backlight_off(void); |
24 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | ||
25 | void __backlight_set_brightness(int val); | ||
26 | #endif | ||
24 | void __remote_backlight_on(void); | 27 | void __remote_backlight_on(void); |
25 | void __remote_backlight_off(void); | 28 | void __remote_backlight_off(void); |
26 | 29 | ||
diff --git a/firmware/target/coldfire/iriver/h300/backlight-h300.c b/firmware/target/coldfire/iriver/h300/backlight-h300.c index d5322c2cf7..50bd757612 100644 --- a/firmware/target/coldfire/iriver/h300/backlight-h300.c +++ b/firmware/target/coldfire/iriver/h300/backlight-h300.c | |||
@@ -38,6 +38,16 @@ void __backlight_off(void) | |||
38 | lcd_enable(false); | 38 | lcd_enable(false); |
39 | } | 39 | } |
40 | 40 | ||
41 | /* set brightness by changing the PWM */ | ||
42 | void __backlight_set_brightness(int val) | ||
43 | { | ||
44 | /* disable IRQs while bitbanging */ | ||
45 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
46 | pcf50606_write(0x35, (val << 1) | 0x01); /* 512Hz, Enable PWM */ | ||
47 | /* enable IRQs again */ | ||
48 | set_irq_level(old_irq_level); | ||
49 | } | ||
50 | |||
41 | void __remote_backlight_on(void) | 51 | void __remote_backlight_on(void) |
42 | { | 52 | { |
43 | and_l(~0x00000002, &GPIO1_OUT); | 53 | and_l(~0x00000002, &GPIO1_OUT); |