summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES4
-rw-r--r--firmware/export/config-ondavx747.h11
-rw-r--r--firmware/export/config.h3
-rw-r--r--firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c15
4 files changed, 22 insertions, 11 deletions
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
1267drivers/nand_id.c 1267drivers/nand_id.c
1268#endif /* CONFIG_CPU == JZ4732 */ 1268#endif /* CONFIG_CPU == JZ4732 */
1269 1269
1270#if defined(ONDA_VX747) || defined(ONDA_VX747P) 1270#if defined(ONDA_VX747) || defined(ONDA_VX747P) || defined(ONDA_VX777)
1271target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx7X7.c 1271target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx7X7.c
1272target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c 1272target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c
1273target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c 1273target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c
1274target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c 1274target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c
1275target/mips/ingenic_jz47xx/onda_vx747/speaker-onda_vx747.c 1275target/mips/ingenic_jz47xx/onda_vx747/speaker-onda_vx747.c
1276#endif /* ONDA_VX747 || ONDA_VX747P */ 1276#endif /* ONDA_VX747 || ONDA_VX747P || ONDA_VX777 */
1277 1277
1278#ifdef ONDA_VX767 1278#ifdef ONDA_VX767
1279target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx7X7.c 1279target/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 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22/* 22/*
23 * This config file is for the Onda VX747(+) 23 * This config file is for the Onda VX747(+)/VX777
24 */ 24 */
25 25
26#define TARGET_TREE /* this target is using the target tree system */ 26#define TARGET_TREE /* this target is using the target tree system */
@@ -29,8 +29,11 @@
29 29
30#ifdef ONDA_VX747P 30#ifdef ONDA_VX747P
31#define MODEL_NAME "Onda VX747+" 31#define MODEL_NAME "Onda VX747+"
32#define MODEL_NUMBER 44 32#define MODEL_NUMBER 54
33/* Define something for camera interface... */ 33/* Define something for camera interface... */
34#elif defined(ONDA_VX777)
35#define MODEL_NAME "Onda VX777"
36#define MODEL_NUMBER 61
34#else 37#else
35#define MODEL_NAME "Onda VX747" 38#define MODEL_NAME "Onda VX747"
36#define MODEL_NUMBER 45 39#define MODEL_NUMBER 45
@@ -87,7 +90,11 @@
87/* Define this if your LCD can be enabled/disabled */ 90/* Define this if your LCD can be enabled/disabled */
88#define HAVE_LCD_ENABLE 91#define HAVE_LCD_ENABLE
89 92
93#ifdef ONDA_VX777
94#define CONFIG_KEYPAD ONDAVX777_PAD
95#else
90#define CONFIG_KEYPAD ONDAVX747_PAD 96#define CONFIG_KEYPAD ONDAVX747_PAD
97#endif
91#define HAVE_TOUCHSCREEN 98#define HAVE_TOUCHSCREEN
92#define HAVE_BUTTON_DATA 99#define HAVE_BUTTON_DATA
93 100
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 @@
110#define SANSA_FUZE_PAD 36 110#define SANSA_FUZE_PAD 36
111#define LYRE_PROTO1_PAD 37 111#define LYRE_PROTO1_PAD 37
112#define SAMSUNG_YH_PAD 38 112#define SAMSUNG_YH_PAD 38
113#define ONDAVX777_PAD 39
113 114
114/* CONFIG_REMOTE_KEYPAD */ 115/* CONFIG_REMOTE_KEYPAD */
115#define H100_REMOTE 1 116#define H100_REMOTE 1
@@ -351,7 +352,7 @@ Lyre prototype 1*/
351#include "config-meizu-m6sp.h" 352#include "config-meizu-m6sp.h"
352#elif defined(MEIZU_M3) 353#elif defined(MEIZU_M3)
353#include "config-meizu-m3.h" 354#include "config-meizu-m3.h"
354#elif defined(ONDA_VX747) || defined(ONDA_VX747P) 355#elif defined(ONDA_VX747) || defined(ONDA_VX747P) || defined(ONDA_VX777)
355#include "config-ondavx747.h" 356#include "config-ondavx747.h"
356#elif defined(ONDA_VX767) 357#elif defined(ONDA_VX767)
357#include "config-ondavx767.h" 358#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 @@
42#define BTN_HOLD (1 << 22) /* on REG_GPIO_PXPIN(2) */ 42#define BTN_HOLD (1 << 22) /* on REG_GPIO_PXPIN(2) */
43#define BTN_MENU (1 << 20) 43#define BTN_MENU (1 << 20)
44#define BTN_VOL_UP (1 << 19) 44#define BTN_VOL_UP (1 << 19)
45#elif defined(ONDA_VX777)
46/* TODO */
45#else 47#else
46#error No buttons defined! 48#error No buttons defined!
47#endif 49#endif
@@ -123,7 +125,7 @@ unsigned int battery_adc_voltage(void)
123} 125}
124 126
125void button_init_device(void) 127void button_init_device(void)
126{ 128{
127#ifdef ONDA_VX747 129#ifdef ONDA_VX747
128 __gpio_as_input(32*3 + 29); 130 __gpio_as_input(32*3 + 29);
129 __gpio_as_input(32*3 + 27); 131 __gpio_as_input(32*3 + 27);
@@ -146,6 +148,8 @@ bool button_hold(void)
146 (~REG_GPIO_PXPIN(3)) & BTN_HOLD 148 (~REG_GPIO_PXPIN(3)) & BTN_HOLD
147#elif defined(ONDA_VX747P) 149#elif defined(ONDA_VX747P)
148 (~REG_GPIO_PXPIN(2)) & BTN_HOLD 150 (~REG_GPIO_PXPIN(2)) & BTN_HOLD
151#elif defined(ONDA_VX777)
152 false /* TODO */
149#endif 153#endif
150 ? true : false 154 ? true : false
151 ); 155 );
@@ -153,13 +157,14 @@ bool button_hold(void)
153 157
154int button_read_device(int *data) 158int button_read_device(int *data)
155{ 159{
156 int ret = 0, tmp; 160 int ret = 0;
157 161
158 /* Filter button events out if HOLD button is pressed at firmware/ level */ 162 /* Filter button events out if HOLD button is pressed at firmware/ level */
159 if(button_hold()) 163 if(button_hold())
160 return 0; 164 return 0;
161 165
162 tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; 166#ifndef ONDA_VX777
167 int tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK;
163 168
164 if(tmp & BTN_VOL_DOWN) 169 if(tmp & BTN_VOL_DOWN)
165 ret |= BUTTON_VOL_DOWN; 170 ret |= BUTTON_VOL_DOWN;
@@ -169,6 +174,7 @@ int button_read_device(int *data)
169 ret |= BUTTON_MENU; 174 ret |= BUTTON_MENU;
170 if(tmp & BTN_OFF) 175 if(tmp & BTN_OFF)
171 ret |= BUTTON_POWER; 176 ret |= BUTTON_POWER;
177#endif
172 178
173 if(cur_touch != 0 && pen_down) 179 if(cur_touch != 0 && pen_down)
174 { 180 {
@@ -176,9 +182,6 @@ int button_read_device(int *data)
176 if( UNLIKELY(!is_backlight_on(true)) ) 182 if( UNLIKELY(!is_backlight_on(true)) )
177 *data = 0; 183 *data = 0;
178 } 184 }
179
180 if(ret & (BUTTON_VOL_DOWN|BUTTON_VOL_UP))
181 touchscreen_set_mode( touchscreen_get_mode() == TOUCHSCREEN_BUTTON ? TOUCHSCREEN_POINT : TOUCHSCREEN_BUTTON);
182 185
183 return ret; 186 return ret;
184} 187}