summaryrefslogtreecommitdiff
path: root/firmware/backlight.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2006-11-10 01:25:52 +0000
committerMichael Sevakis <jethead71@rockbox.org>2006-11-10 01:25:52 +0000
commitcf59a4fc1d21c2a1d6cfc019f97268275d4a8581 (patch)
treea00e4a8e6d6c993b4195c0e2291d3cbf93312989 /firmware/backlight.c
parentf64f589d2efeb2749314bb9f91523b4555ded2d5 (diff)
downloadrockbox-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.c29
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)
820void backlight_set_brightness(int val) 817void 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