From ef12b3b5c678e4fa44d60061b0c1bc312e589ba1 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Mon, 12 Nov 2007 18:49:53 +0000 Subject: Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/ipod/backlight-target.h | 36 ++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'firmware/target/arm/ipod/backlight-target.h') diff --git a/firmware/target/arm/ipod/backlight-target.h b/firmware/target/arm/ipod/backlight-target.h index f4e34cb53a..1a23ecf8be 100644 --- a/firmware/target/arm/ipod/backlight-target.h +++ b/firmware/target/arm/ipod/backlight-target.h @@ -19,8 +19,38 @@ #ifndef BACKLIGHT_TARGET_H #define BACKLIGHT_TARGET_H -#define __backlight_init() true -void __backlight_on(void); -void __backlight_off(void); +#if defined(IPOD_VIDEO) || defined(IPOD_NANO) + +bool _backlight_init(void); +void _backlight_set_brightness(int val); +void _backlight_led_on(void); +void _backlight_led_off(void); +void _backlight_hw_enable(bool on); + +#define _backlight_on_isr() _backlight_led_on() +#define _backlight_off_isr() _backlight_led_off() +#define _backlight_on_normal() do { _backlight_hw_enable(true); \ + _backlight_led_on(); } while(0) +#define _backlight_off_normal() do { _backlight_led_off(); \ + _backlight_hw_enable(false); } while(0) +#define _BACKLIGHT_FADE_ENABLE + +#elif defined HAVE_BACKLIGHT_PWM_FADING + +#define _backlight_init() true +void _backlight_hw_on(void); +void _backlight_hw_off(void); + +#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() + +#else + +#define _backlight_init() true +void _backlight_on(void); +void _backlight_off(void); +#endif #endif -- cgit v1.2.3