From 582942016bdf3599952b343858ba9fb9785494e8 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Sat, 20 Jun 2009 10:54:13 +0000 Subject: * Commit a modified FS#10354 (thanks to Davide Quarta) - add support the VX747+ in scramble and configure * Add support for the VX777 * Remove the touchscreen mode switching combo from the button driver git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21379 a1c6a512-1295-4272-9138-f99709370657 --- firmware/SOURCES | 4 ++-- firmware/export/config-ondavx747.h | 11 +++++++++-- firmware/export/config.h | 3 ++- .../mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | 15 +++++++++------ 4 files changed, 22 insertions(+), 11 deletions(-) (limited to 'firmware') diff --git a/firmware/SOURCES b/firmware/SOURCES index bba9ef1dc5..742a582d6f 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -1267,13 +1267,13 @@ target/mips/ingenic_jz47xx/pcm-jz4740.c drivers/nand_id.c #endif /* CONFIG_CPU == JZ4732 */ -#if defined(ONDA_VX747) || defined(ONDA_VX747P) +#if defined(ONDA_VX747) || defined(ONDA_VX747P) || defined(ONDA_VX777) target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx7X7.c target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c target/mips/ingenic_jz47xx/onda_vx747/speaker-onda_vx747.c -#endif /* ONDA_VX747 || ONDA_VX747P */ +#endif /* ONDA_VX747 || ONDA_VX747P || ONDA_VX777 */ #ifdef ONDA_VX767 target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx7X7.c diff --git a/firmware/export/config-ondavx747.h b/firmware/export/config-ondavx747.h index 9a9defcf2f..5625635c89 100644 --- a/firmware/export/config-ondavx747.h +++ b/firmware/export/config-ondavx747.h @@ -20,7 +20,7 @@ ****************************************************************************/ /* - * This config file is for the Onda VX747(+) + * This config file is for the Onda VX747(+)/VX777 */ #define TARGET_TREE /* this target is using the target tree system */ @@ -29,8 +29,11 @@ #ifdef ONDA_VX747P #define MODEL_NAME "Onda VX747+" -#define MODEL_NUMBER 44 +#define MODEL_NUMBER 54 /* Define something for camera interface... */ +#elif defined(ONDA_VX777) +#define MODEL_NAME "Onda VX777" +#define MODEL_NUMBER 61 #else #define MODEL_NAME "Onda VX747" #define MODEL_NUMBER 45 @@ -87,7 +90,11 @@ /* Define this if your LCD can be enabled/disabled */ #define HAVE_LCD_ENABLE +#ifdef ONDA_VX777 +#define CONFIG_KEYPAD ONDAVX777_PAD +#else #define CONFIG_KEYPAD ONDAVX747_PAD +#endif #define HAVE_TOUCHSCREEN #define HAVE_BUTTON_DATA diff --git a/firmware/export/config.h b/firmware/export/config.h index e53e19ac1d..5148096a30 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -110,6 +110,7 @@ #define SANSA_FUZE_PAD 36 #define LYRE_PROTO1_PAD 37 #define SAMSUNG_YH_PAD 38 +#define ONDAVX777_PAD 39 /* CONFIG_REMOTE_KEYPAD */ #define H100_REMOTE 1 @@ -351,7 +352,7 @@ Lyre prototype 1*/ #include "config-meizu-m6sp.h" #elif defined(MEIZU_M3) #include "config-meizu-m3.h" -#elif defined(ONDA_VX747) || defined(ONDA_VX747P) +#elif defined(ONDA_VX747) || defined(ONDA_VX747P) || defined(ONDA_VX777) #include "config-ondavx747.h" #elif defined(ONDA_VX767) #include "config-ondavx767.h" diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c index ebc2f214a9..24caac0100 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c @@ -42,6 +42,8 @@ #define BTN_HOLD (1 << 22) /* on REG_GPIO_PXPIN(2) */ #define BTN_MENU (1 << 20) #define BTN_VOL_UP (1 << 19) +#elif defined(ONDA_VX777) +/* TODO */ #else #error No buttons defined! #endif @@ -123,7 +125,7 @@ unsigned int battery_adc_voltage(void) } void button_init_device(void) -{ +{ #ifdef ONDA_VX747 __gpio_as_input(32*3 + 29); __gpio_as_input(32*3 + 27); @@ -146,6 +148,8 @@ bool button_hold(void) (~REG_GPIO_PXPIN(3)) & BTN_HOLD #elif defined(ONDA_VX747P) (~REG_GPIO_PXPIN(2)) & BTN_HOLD +#elif defined(ONDA_VX777) + false /* TODO */ #endif ? true : false ); @@ -153,13 +157,14 @@ bool button_hold(void) int button_read_device(int *data) { - int ret = 0, tmp; + int ret = 0; /* Filter button events out if HOLD button is pressed at firmware/ level */ if(button_hold()) return 0; - tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; +#ifndef ONDA_VX777 + int tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; if(tmp & BTN_VOL_DOWN) ret |= BUTTON_VOL_DOWN; @@ -169,6 +174,7 @@ int button_read_device(int *data) ret |= BUTTON_MENU; if(tmp & BTN_OFF) ret |= BUTTON_POWER; +#endif if(cur_touch != 0 && pen_down) { @@ -176,9 +182,6 @@ int button_read_device(int *data) if( UNLIKELY(!is_backlight_on(true)) ) *data = 0; } - - if(ret & (BUTTON_VOL_DOWN|BUTTON_VOL_UP)) - touchscreen_set_mode( touchscreen_get_mode() == TOUCHSCREEN_BUTTON ? TOUCHSCREEN_POINT : TOUCHSCREEN_BUTTON); return ret; } -- cgit v1.2.3