diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2006-11-10 01:25:52 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2006-11-10 01:25:52 +0000 |
commit | cf59a4fc1d21c2a1d6cfc019f97268275d4a8581 (patch) | |
tree | a00e4a8e6d6c993b4195c0e2291d3cbf93312989 /firmware/backlight.c | |
parent | f64f589d2efeb2749314bb9f91523b4555ded2d5 (diff) | |
download | rockbox-cf59a4fc1d21c2a1d6cfc019f97268275d4a8581.tar.gz rockbox-cf59a4fc1d21c2a1d6cfc019f97268275d4a8581.zip |
H300/X5: Moved backlight brightness code to target tree. Created __backlight_set_brightness in backlight-(target).c. backlight_set_brightness range clamps and calls the backlight driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11488 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/backlight.c')
-rw-r--r-- | firmware/backlight.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c index 7b499f26bf..e1d92581c4 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -813,35 +813,18 @@ bool is_remote_backlight_on(void) {return true;} | |||
813 | #endif | 813 | #endif |
814 | #endif /* defined(CONFIG_BACKLIGHT) && !defined(BOOTLOADER) */ | 814 | #endif /* defined(CONFIG_BACKLIGHT) && !defined(BOOTLOADER) */ |
815 | 815 | ||
816 | /* TODO: Move low level code to target/ tree. Create | ||
817 | __backlight_set_brightness and call from here. */ | ||
818 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 816 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
819 | #if defined(IRIVER_H300_SERIES) || defined(IAUDIO_X5) | ||
820 | void backlight_set_brightness(int val) | 817 | void backlight_set_brightness(int val) |
821 | { | 818 | { |
822 | #ifndef SIMULATOR | 819 | #ifndef SIMULATOR |
823 | /* set brightness by changing the PWM | 820 | if (val < MIN_BRIGHTNESS_SETTING) |
824 | * accepts 0..15 but note that 0 and 1 give a black display on H300! | 821 | val = MIN_BRIGHTNESS_SETTING; |
825 | * 0 is black on the X5. | 822 | else if (val > MAX_BRIGHTNESS_SETTING) |
826 | */ | 823 | val = MAX_BRIGHTNESS_SETTING; |
827 | 824 | ||
828 | /* disable IRQs while bitbanging */ | 825 | __backlight_set_brightness(val); |
829 | int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); | ||
830 | |||
831 | /* Clamp setting to range */ | ||
832 | if(val<MIN_BRIGHTNESS_SETTING) | ||
833 | val=MIN_BRIGHTNESS_SETTING; | ||
834 | else if(val>MAX_BRIGHTNESS_SETTING) | ||
835 | val=MAX_BRIGHTNESS_SETTING; | ||
836 | |||
837 | pcf50606_write(0x35, (val << 1) | 0x01); /* 512Hz, Enable PWM */ | ||
838 | |||
839 | /* enable IRQs again */ | ||
840 | set_irq_level(old_irq_level); | ||
841 | #else | 826 | #else |
842 | val=0; | 827 | (void)val; |
843 | #endif | 828 | #endif |
844 | } | 829 | } |
845 | #endif | ||
846 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ | 830 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ |
847 | |||