From f4c5c6aa62a5362f91b4b445b6df71774cf4e75c Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Mon, 12 Nov 2007 19:19:38 +0000 Subject: [PATCH] Fix bootloaders, and the backlight-modded Ondio build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/ipod/backlight-target.h | 12 ++++++++++++ .../arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | 2 ++ firmware/target/arm/sandisk/backlight-c200_e200.c | 4 ++-- firmware/target/coldfire/iaudio/x5/backlight-x5.c | 4 ++++ .../target/coldfire/iriver/h100/backlight-target.h | 5 +++++ firmware/target/sh/archos/ondio/power-ondio.c | 2 +- 6 files changed, 26 insertions(+), 3 deletions(-) diff --git a/firmware/target/arm/ipod/backlight-target.h b/firmware/target/arm/ipod/backlight-target.h index 1a23ecf8be..4190739474 100644 --- a/firmware/target/arm/ipod/backlight-target.h +++ b/firmware/target/arm/ipod/backlight-target.h @@ -27,6 +27,12 @@ void _backlight_led_on(void); void _backlight_led_off(void); void _backlight_hw_enable(bool on); +#ifdef BOOTLOADER +#define _backlight_on() do { _backlight_hw_enable(true); \ + _backlight_led_on(); } while(0) +#define _backlight_off() do { _backlight_led_off(); \ + _backlight_hw_enable(false); } while(0) +#else /* !BOOTLOADER */ #define _backlight_on_isr() _backlight_led_on() #define _backlight_off_isr() _backlight_led_off() #define _backlight_on_normal() do { _backlight_hw_enable(true); \ @@ -34,6 +40,7 @@ void _backlight_hw_enable(bool on); #define _backlight_off_normal() do { _backlight_led_off(); \ _backlight_hw_enable(false); } while(0) #define _BACKLIGHT_FADE_ENABLE +#endif /* !BOOTLOADER */ #elif defined HAVE_BACKLIGHT_PWM_FADING @@ -41,10 +48,15 @@ void _backlight_hw_enable(bool on); void _backlight_hw_on(void); void _backlight_hw_off(void); +#ifdef BOOTLOADER +#define _backlight_on() _backlight_hw_on() +#define _backlight_off() _backlight_hw_off() +#else #define _backlight_on_isr() _backlight_hw_on() #define _backlight_off_isr() _backlight_hw_off() #define _backlight_on_normal() _backlight_hw_on() #define _backlight_off_normal() _backlight_hw_off() +#endif #else diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c index ee8801f99b..645f3c1e09 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c @@ -377,9 +377,11 @@ void _buttonlight_on(void) void _buttonlight_off(void) { +#ifndef BOOTLOADER if(_buttonlight_timeout>0) __buttonlight_dim(true); else +#endif __buttonlight_off(); } diff --git a/firmware/target/arm/sandisk/backlight-c200_e200.c b/firmware/target/arm/sandisk/backlight-c200_e200.c index fad1018d38..9eeb05072e 100644 --- a/firmware/target/arm/sandisk/backlight-c200_e200.c +++ b/firmware/target/arm/sandisk/backlight-c200_e200.c @@ -41,7 +41,7 @@ void _backlight_on(void) #ifdef HAVE_LCD_ENABLE lcd_enable(true); /* power on lcd */ #endif -#ifdef HAVE_LCD_SLEEP +#if defined(HAVE_LCD_SLEEP) && !defined(BOOTLOADER) _lcd_sleep_timer = 0; /* LCD should be awake already */ #endif pp_i2c_send(AS3514_I2C_ADDR, DCDC15, backlight_brightness); @@ -53,7 +53,7 @@ void _backlight_off(void) #ifdef HAVE_LCD_ENABLE lcd_enable(false); /* power off lcd */ #endif -#ifdef HAVE_LCD_SLEEP +#if defined(HAVE_LCD_SLEEP) && !defined(BOOTLOADER) /* Start LCD sleep countdown */ if (_lcd_sleep_timeout < 0) { diff --git a/firmware/target/coldfire/iaudio/x5/backlight-x5.c b/firmware/target/coldfire/iaudio/x5/backlight-x5.c index 667f4e7278..ebb28fbf2b 100644 --- a/firmware/target/coldfire/iaudio/x5/backlight-x5.c +++ b/firmware/target/coldfire/iaudio/x5/backlight-x5.c @@ -36,7 +36,9 @@ void _backlight_on(void) { int level; lcd_enable(true); +#ifndef BOOTLOADER _lcd_sleep_timer = 0; /* LCD should be awake already */ +#endif level = set_irq_level(HIGHEST_IRQ_LEVEL); pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */ set_irq_level(level); @@ -48,6 +50,7 @@ void _backlight_off(void) pcf50606_write(0x38, 0x80); /* Backlight OFF, GPO1INV=1, GPO1ACT=000 */ set_irq_level(level); lcd_enable(false); +#ifndef BOOTLOADER /* Start LCD sleep countdown */ if (_lcd_sleep_timeout < 0) { @@ -56,6 +59,7 @@ void _backlight_off(void) } else _lcd_sleep_timer = _lcd_sleep_timeout; +#endif } /* set brightness by changing the PWM */ diff --git a/firmware/target/coldfire/iriver/h100/backlight-target.h b/firmware/target/coldfire/iriver/h100/backlight-target.h index 6697fb19c3..81ad2e0f6c 100644 --- a/firmware/target/coldfire/iriver/h100/backlight-target.h +++ b/firmware/target/coldfire/iriver/h100/backlight-target.h @@ -23,11 +23,16 @@ bool _backlight_init(void); /* Returns backlight current state (true=ON). */ void _backlight_hw_on(void); void _backlight_hw_off(void); +#ifdef BOOTLOADER +#define _backlight_on() _backlight_hw_on() +#define _backlight_off() _backlight_hw_off() +#else #define _backlight_on_isr() _backlight_hw_on() #define _backlight_off_isr() _backlight_hw_off() #define _backlight_on_normal() _backlight_hw_on() #define _backlight_off_normal() _backlight_hw_off() #define _BACKLIGHT_FADE_BOOST +#endif void _remote_backlight_on(void); void _remote_backlight_off(void); diff --git a/firmware/target/sh/archos/ondio/power-ondio.c b/firmware/target/sh/archos/ondio/power-ondio.c index cedc3d10b9..156516afeb 100644 --- a/firmware/target/sh/archos/ondio/power-ondio.c +++ b/firmware/target/sh/archos/ondio/power-ondio.c @@ -69,7 +69,7 @@ void power_off(void) set_irq_level(HIGHEST_IRQ_LEVEL); #ifdef HAVE_BACKLIGHT /* Switch off the light on backlight-modded Ondios */ - __backlight_off(); + _backlight_off(); #endif and_b(~0x20, &PBDRL); or_b(0x20, &PBIORL);