summaryrefslogtreecommitdiff
path: root/firmware/backlight.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2006-11-10 18:47:41 +0000
committerMichael Sevakis <jethead71@rockbox.org>2006-11-10 18:47:41 +0000
commit58825f6e7391a237be85e63bee08f7a0bb66dc38 (patch)
tree1324b528137ce35623eb3332f32d422331f80777 /firmware/backlight.c
parentf669797d077d081078407dd6dabf4e7389acf68f (diff)
downloadrockbox-58825f6e7391a237be85e63bee08f7a0bb66dc38.tar.gz
rockbox-58825f6e7391a237be85e63bee08f7a0bb66dc38.zip
Coldfire targets: Got the rest of the coldfire code out of backlight.c. Straightened up related items in configs and split backlight_set_brightness between the normal and boot/sim builds like the other functions. Should really have done all that in the first place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11502 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/backlight.c')
-rw-r--r--firmware/backlight.c61
1 files changed, 23 insertions, 38 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c
index e1d92581c4..bc692b1675 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -31,10 +31,6 @@
31#include "timer.h" 31#include "timer.h"
32#include "backlight.h" 32#include "backlight.h"
33 33
34#ifdef HAVE_BACKLIGHT_BRIGHTNESS
35#include "pcf50606.h" /* iRiver, iAudio X5 brightness */
36#endif
37
38#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) 34#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
39#include "lcd.h" /* for lcd_enable() and lcd_sleep() */ 35#include "lcd.h" /* for lcd_enable() and lcd_sleep() */
40#endif 36#endif
@@ -110,8 +106,6 @@ static void backlight_thread(void);
110static long backlight_stack[DEFAULT_STACK_SIZE/sizeof(long)]; 106static long backlight_stack[DEFAULT_STACK_SIZE/sizeof(long)];
111#ifdef X5_BACKLIGHT_SHUTDOWN 107#ifdef X5_BACKLIGHT_SHUTDOWN
112#define BACKLIGHT_QUIT 256 108#define BACKLIGHT_QUIT 256
113/* Need to save this for x5 shutdown */
114struct thread_entry* backlight_thread_id;
115#endif 109#endif
116static const char backlight_thread_name[] = "backlight"; 110static const char backlight_thread_name[] = "backlight";
117static struct event_queue backlight_queue; 111static struct event_queue backlight_queue;
@@ -473,7 +467,7 @@ void backlight_thread(void)
473 467
474#ifdef X5_BACKLIGHT_SHUTDOWN 468#ifdef X5_BACKLIGHT_SHUTDOWN
475 case BACKLIGHT_QUIT: 469 case BACKLIGHT_QUIT:
476 remove_thread(backlight_thread_id); 470 remove_thread(NULL);
477 break; 471 break;
478#endif 472#endif
479 473
@@ -552,23 +546,17 @@ static void backlight_tick(void)
552void backlight_init(void) 546void backlight_init(void)
553{ 547{
554 queue_init(&backlight_queue, true); 548 queue_init(&backlight_queue, true);
555#ifdef X5_BACKLIGHT_SHUTDOWN
556 backlight_thread_id =
557#endif
558 create_thread(backlight_thread, backlight_stack, 549 create_thread(backlight_thread, backlight_stack,
559 sizeof(backlight_stack), backlight_thread_name 550 sizeof(backlight_stack), backlight_thread_name
560 IF_PRIO(, PRIORITY_SYSTEM)); 551 IF_PRIO(, PRIORITY_SYSTEM));
561 tick_add_task(backlight_tick); 552 tick_add_task(backlight_tick);
562#ifdef SIMULATOR 553#ifdef SIMULATOR
563 /* do nothing */ 554 /* do nothing */
564#elif CONFIG_BACKLIGHT == BL_IRIVER_H100 555#elif defined(__BACKLIGHT_INIT)
565 or_l(0x00020000, &GPIO1_ENABLE); 556 /* Remove the __BACKLIGHT_INIT references when __backlight_init is
566 or_l(0x00020000, &GPIO1_FUNCTION); 557 available on all backlighted targets. Take them out of the
567 and_l(~0x00020000, &GPIO1_OUT); /* Start with the backlight ON */ 558 backlight-target.h files as well */
568#elif CONFIG_BACKLIGHT == BL_IRIVER_H300 559 __backlight_init();
569 or_l(0x00020000, &GPIO1_ENABLE);
570 or_l(0x00020000, &GPIO1_FUNCTION);
571 or_l(0x00020000, &GPIO1_OUT); /* Start with the backlight ON */
572#elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI 560#elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI
573 PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ 561 PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */
574 or_b(0x40, &PAIORH); /* ..and output */ 562 or_b(0x40, &PAIORH); /* ..and output */
@@ -787,16 +775,26 @@ bool is_remote_backlight_on(void)
787 775
788#endif /* HAVE_REMOTE_LCD */ 776#endif /* HAVE_REMOTE_LCD */
789 777
778#ifdef HAVE_BACKLIGHT_BRIGHTNESS
779void backlight_set_brightness(int val)
780{
781 if (val < MIN_BRIGHTNESS_SETTING)
782 val = MIN_BRIGHTNESS_SETTING;
783 else if (val > MAX_BRIGHTNESS_SETTING)
784 val = MAX_BRIGHTNESS_SETTING;
785
786 __backlight_set_brightness(val);
787}
788#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
789
790#else /* !defined(CONFIG_BACKLIGHT) || defined(BOOTLOADER) 790#else /* !defined(CONFIG_BACKLIGHT) || defined(BOOTLOADER)
791 -- no backlight, empty dummy functions */ 791 -- no backlight, empty dummy functions */
792 792
793#if defined(BOOTLOADER) && defined(CONFIG_BACKLIGHT) 793#if defined(BOOTLOADER) && defined(CONFIG_BACKLIGHT)
794void backlight_init(void) 794void backlight_init(void)
795{ 795{
796#ifdef IRIVER_H300_SERIES 796#ifdef __BACKLIGHT_INIT
797 or_l(0x00020000, &GPIO1_OUT); 797 __backlight_init();
798 or_l(0x00020000, &GPIO1_ENABLE);
799 or_l(0x00020000, &GPIO1_FUNCTION);
800#endif 798#endif
801} 799}
802#endif 800#endif
@@ -810,21 +808,8 @@ void remote_backlight_on(void) {}
810void remote_backlight_off(void) {} 808void remote_backlight_off(void) {}
811void remote_backlight_set_timeout(int index) {(void)index;} 809void remote_backlight_set_timeout(int index) {(void)index;}
812bool is_remote_backlight_on(void) {return true;} 810bool is_remote_backlight_on(void) {return true;}
813#endif 811#endif /* HAVE_REMOTE_LCD */
814#endif /* defined(CONFIG_BACKLIGHT) && !defined(BOOTLOADER) */
815
816#ifdef HAVE_BACKLIGHT_BRIGHTNESS 812#ifdef HAVE_BACKLIGHT_BRIGHTNESS
817void backlight_set_brightness(int val) 813void backlight_set_brightness(int val) { (void)val; }
818{
819#ifndef SIMULATOR
820 if (val < MIN_BRIGHTNESS_SETTING)
821 val = MIN_BRIGHTNESS_SETTING;
822 else if (val > MAX_BRIGHTNESS_SETTING)
823 val = MAX_BRIGHTNESS_SETTING;
824
825 __backlight_set_brightness(val);
826#else
827 (void)val;
828#endif 814#endif
829} 815#endif /* defined(CONFIG_BACKLIGHT) && !defined(BOOTLOADER) */
830#endif /* HAVE_BACKLIGHT_BRIGHTNESS */