From f81c0c05ce4c522ef7a59244c9e7dc1e3002d4fe Mon Sep 17 00:00:00 2001 From: Szymon Dziok Date: Thu, 21 Oct 2010 21:03:17 +0000 Subject: HDD6330 and HDD1630: split the code for the backlight, cause it's rather different for these targets. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28321 a1c6a512-1295-4272-9138-f99709370657 --- firmware/SOURCES | 4 +- firmware/target/arm/philips/backlight-hdd.c | 106 --------------------- firmware/target/arm/philips/backlight-target.h | 38 -------- .../target/arm/philips/hdd1630/backlight-hdd1630.c | 78 +++++++++++++++ .../target/arm/philips/hdd1630/backlight-target.h | 38 ++++++++ .../target/arm/philips/hdd6330/backlight-hdd6330.c | 91 ++++++++++++++++++ .../target/arm/philips/hdd6330/backlight-target.h | 38 ++++++++ 7 files changed, 247 insertions(+), 146 deletions(-) delete mode 100644 firmware/target/arm/philips/backlight-hdd.c delete mode 100644 firmware/target/arm/philips/backlight-target.h create mode 100644 firmware/target/arm/philips/hdd1630/backlight-hdd1630.c create mode 100644 firmware/target/arm/philips/hdd1630/backlight-target.h create mode 100644 firmware/target/arm/philips/hdd6330/backlight-hdd6330.c create mode 100644 firmware/target/arm/philips/hdd6330/backlight-target.h diff --git a/firmware/SOURCES b/firmware/SOURCES index 08ba20c..f118f6a 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -708,9 +708,9 @@ target/arm/ata-pp5020.c target/arm/wmcodec-pp.c target/arm/i2s-pp.c target/arm/adc-pp5020.c -target/arm/philips/backlight-hdd.c target/arm/philips/power-hdd.c target/arm/philips/fmradio_i2c-hdd.c +target/arm/philips/hdd1630/backlight-hdd1630.c target/arm/philips/hdd1630/button-hdd1630.c target/arm/philips/hdd1630/lcd-hdd1630.c target/arm/philips/hdd1630/lcd-as-hdd1630.S @@ -729,9 +729,9 @@ target/arm/ata-pp5020.c target/arm/wmcodec-pp.c target/arm/i2s-pp.c target/arm/adc-pp5020.c -target/arm/philips/backlight-hdd.c target/arm/philips/power-hdd.c target/arm/philips/fmradio_i2c-hdd.c +target/arm/philips/hdd6330/backlight-hdd6330.c target/arm/philips/hdd6330/button-hdd6330.c target/arm/philips/hdd6330/lcd-hdd6330.c target/arm/philips/hdd6330/powermgmt-hdd6330.c diff --git a/firmware/target/arm/philips/backlight-hdd.c b/firmware/target/arm/philips/backlight-hdd.c deleted file mode 100644 index 33022c7..0000000 --- a/firmware/target/arm/philips/backlight-hdd.c +++ /dev/null @@ -1,106 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2008 by Mark Arigo - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#include "config.h" -#include "backlight-target.h" -#include "system.h" -#include "backlight.h" -#include "synaptics-mep.h" - -#ifdef HAVE_BACKLIGHT_BRIGHTNESS -static const int brightness_vals[16] = - {255,237,219,201,183,165,147,130,112,94,76,58,40,22,5,0}; - -void _backlight_set_brightness(int brightness) -{ - outl(0x80000000 | (brightness_vals[brightness-1] << 16), 0x7000a000); -} -#endif - -void _backlight_on(void) -{ -#if defined(PHILIPS_HDD6330) - GPO32_ENABLE |= 0x400; - GPO32_VAL |= 0x400; -#else - GPO32_VAL &= ~0x1000000; - GPO32_ENABLE &= ~0x1000000; -#endif -} - -void _backlight_off(void) -{ -#if defined(PHILIPS_HDD6330) - GPO32_ENABLE |= 0x400; - GPO32_VAL &= ~0x400; -#else - GPO32_VAL |= 0x1000000; - GPO32_ENABLE |= 0x1000000; -#endif -} - -#ifdef HAVE_BUTTON_LIGHT -#define BUTTONLIGHT_MASK 0x7f -static unsigned short buttonight_brightness = DEFAULT_BRIGHTNESS_SETTING - 1; -static unsigned short buttonlight_status = 0; - -void _buttonlight_on(void) -{ - if (!buttonlight_status) - { -#if defined(PHILIPS_HDD6330) - /* enable 3 leds (from 5) for PREV, PLAY and NEXT, */ - /* skip 2 leds because their light does not pass */ - /* through the panel anyway - on GPOs, module 0 */ - touchpad_set_parameter(0x00,0x22,0x15); - /* enable 1 led (from 2) for MENU - GPO, module 1 */ - /* no need to enable led for the hidden button */ - touchpad_set_parameter(0x01,0x21,0x01); -#endif - touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); - buttonlight_status = 1; - } -} - -void _buttonlight_off(void) -{ - if (buttonlight_status) - { -#if defined(PHILIPS_HDD6330) - /* disable all leds on GPOs for module 0 and 1 */ - touchpad_set_parameter(0x00,0x22,0x00); - touchpad_set_parameter(0x01,0x21,0x00); -#endif - touchpad_set_buttonlights(BUTTONLIGHT_MASK, 0); - buttonlight_status = 0; - } -} - -void _buttonlight_set_brightness(int brightness) -{ -#if defined(PHILIPS_HDD6330) - touchpad_set_parameter(0x00,0x22,0x15); - touchpad_set_parameter(0x01,0x21,0x01); -#endif - buttonight_brightness = brightness - 1; - touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); - buttonlight_status = 1; -} -#endif diff --git a/firmware/target/arm/philips/backlight-target.h b/firmware/target/arm/philips/backlight-target.h deleted file mode 100644 index c7aca54..0000000 --- a/firmware/target/arm/philips/backlight-target.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2008 by Mark Arigo - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#ifndef BACKLIGHT_TARGET_H -#define BACKLIGHT_TARGET_H - -#define _backlight_init() true -void _backlight_on(void); -void _backlight_off(void); - -#ifdef HAVE_BACKLIGHT_BRIGHTNESS -void _backlight_set_brightness(int brightness); -#endif - -#ifdef HAVE_BUTTON_LIGHT -void _buttonlight_on(void); -void _buttonlight_off(void); -void _buttonlight_set_brightness(int brightness); -#endif - -#endif diff --git a/firmware/target/arm/philips/hdd1630/backlight-hdd1630.c b/firmware/target/arm/philips/hdd1630/backlight-hdd1630.c new file mode 100644 index 0000000..47a5d1c --- /dev/null +++ b/firmware/target/arm/philips/hdd1630/backlight-hdd1630.c @@ -0,0 +1,78 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: backlight-hdd.c 28307 2010-10-18 19:54:18Z b0hoon $ + * + * Copyright (C) 2008 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "backlight-target.h" +#include "system.h" +#include "backlight.h" +#include "synaptics-mep.h" + +#ifdef HAVE_BACKLIGHT_BRIGHTNESS +static const int brightness_vals[16] = + {255,237,219,201,183,165,147,130,112,94,76,58,40,22,5,0}; + +void _backlight_set_brightness(int brightness) +{ + outl(0x80000000 | (brightness_vals[brightness-1] << 16), 0x7000a000); +} +#endif + +void _backlight_on(void) +{ + GPO32_VAL &= ~0x1000000; + GPO32_ENABLE &= ~0x1000000; +} + +void _backlight_off(void) +{ + GPO32_VAL |= 0x1000000; + GPO32_ENABLE |= 0x1000000; +} + +#ifdef HAVE_BUTTON_LIGHT +#define BUTTONLIGHT_MASK 0x7f +static unsigned short buttonight_brightness = DEFAULT_BRIGHTNESS_SETTING - 1; +static unsigned short buttonlight_status = 0; + +void _buttonlight_on(void) +{ + if (!buttonlight_status) + { + touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); + buttonlight_status = 1; + } +} + +void _buttonlight_off(void) +{ + if (buttonlight_status) + { + touchpad_set_buttonlights(BUTTONLIGHT_MASK, 0); + buttonlight_status = 0; + } +} + +void _buttonlight_set_brightness(int brightness) +{ + buttonight_brightness = brightness - 1; + touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); + buttonlight_status = 1; +} +#endif diff --git a/firmware/target/arm/philips/hdd1630/backlight-target.h b/firmware/target/arm/philips/hdd1630/backlight-target.h new file mode 100644 index 0000000..63f3f5a --- /dev/null +++ b/firmware/target/arm/philips/hdd1630/backlight-target.h @@ -0,0 +1,38 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: backlight-target.h 24112 2009-12-25 04:05:01Z lowlight $ + * + * Copyright (C) 2008 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef BACKLIGHT_TARGET_H +#define BACKLIGHT_TARGET_H + +#define _backlight_init() true +void _backlight_on(void); +void _backlight_off(void); + +#ifdef HAVE_BACKLIGHT_BRIGHTNESS +void _backlight_set_brightness(int brightness); +#endif + +#ifdef HAVE_BUTTON_LIGHT +void _buttonlight_on(void); +void _buttonlight_off(void); +void _buttonlight_set_brightness(int brightness); +#endif + +#endif diff --git a/firmware/target/arm/philips/hdd6330/backlight-hdd6330.c b/firmware/target/arm/philips/hdd6330/backlight-hdd6330.c new file mode 100644 index 0000000..369f3a4 --- /dev/null +++ b/firmware/target/arm/philips/hdd6330/backlight-hdd6330.c @@ -0,0 +1,91 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: backlight-hdd.c 28307 2010-10-18 19:54:18Z b0hoon $ + * + * Copyright (C) 2008 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "backlight-target.h" +#include "system.h" +#include "backlight.h" +#include "synaptics-mep.h" + +#ifdef HAVE_BACKLIGHT_BRIGHTNESS +static const int brightness_vals[16] = + {255,237,219,201,183,165,147,130,112,94,76,58,40,22,5,0}; + +void _backlight_set_brightness(int brightness) +{ + outl(0x80000000 | (brightness_vals[brightness-1] << 16), 0x7000a000); +} +#endif + +void _backlight_on(void) +{ + GPO32_ENABLE |= 0x400; + GPO32_VAL |= 0x400; +} + +void _backlight_off(void) +{ + GPO32_ENABLE |= 0x400; + GPO32_VAL &= ~0x400; +} + +#ifdef HAVE_BUTTON_LIGHT +#define BUTTONLIGHT_MASK 0x7f +static unsigned short buttonight_brightness = DEFAULT_BRIGHTNESS_SETTING - 1; +static unsigned short buttonlight_status = 0; + +void _buttonlight_on(void) +{ + if (!buttonlight_status) + { + /* enable 3 leds (from 5) for PREV, PLAY and NEXT, */ + /* skip 2 leds because their light does not pass */ + /* through the panel anyway - on GPOs, module 0 */ + touchpad_set_parameter(0x00,0x22,0x15); + /* enable 1 led (from 2) for MENU - GPO, module 1 */ + /* no need to enable led for the hidden button */ + touchpad_set_parameter(0x01,0x21,0x01); + /* left, right and the scrollstrip */ + touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); + buttonlight_status = 1; + } +} + +void _buttonlight_off(void) +{ + if (buttonlight_status) + { + /* disable all leds on GPOs for module 0 and 1 */ + touchpad_set_parameter(0x00,0x22,0x00); + touchpad_set_parameter(0x01,0x21,0x00); + touchpad_set_buttonlights(BUTTONLIGHT_MASK, 0); + buttonlight_status = 0; + } +} + +void _buttonlight_set_brightness(int brightness) +{ + touchpad_set_parameter(0x00,0x22,0x15); + touchpad_set_parameter(0x01,0x21,0x01); + buttonight_brightness = brightness - 1; + touchpad_set_buttonlights(BUTTONLIGHT_MASK, buttonight_brightness); + buttonlight_status = 1; +} +#endif diff --git a/firmware/target/arm/philips/hdd6330/backlight-target.h b/firmware/target/arm/philips/hdd6330/backlight-target.h new file mode 100644 index 0000000..63f3f5a --- /dev/null +++ b/firmware/target/arm/philips/hdd6330/backlight-target.h @@ -0,0 +1,38 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: backlight-target.h 24112 2009-12-25 04:05:01Z lowlight $ + * + * Copyright (C) 2008 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef BACKLIGHT_TARGET_H +#define BACKLIGHT_TARGET_H + +#define _backlight_init() true +void _backlight_on(void); +void _backlight_off(void); + +#ifdef HAVE_BACKLIGHT_BRIGHTNESS +void _backlight_set_brightness(int brightness); +#endif + +#ifdef HAVE_BUTTON_LIGHT +void _buttonlight_on(void); +void _buttonlight_off(void); +void _buttonlight_set_brightness(int brightness); +#endif + +#endif -- cgit v1.1