diff options
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/onda_vx747')
-rwxr-xr-x[-rw-r--r--] | firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | 27 |
1 files changed, 26 insertions, 1 deletions
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 2624eb3d82..1aa98819fe 100644..100755 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | |||
@@ -27,11 +27,22 @@ | |||
27 | #include "powermgmt.h" | 27 | #include "powermgmt.h" |
28 | #include "kernel.h" | 28 | #include "kernel.h" |
29 | 29 | ||
30 | #ifdef ONDA_VX747 | ||
30 | #define BTN_OFF (1 << 29) | 31 | #define BTN_OFF (1 << 29) |
31 | #define BTN_VOL_DOWN (1 << 27) | 32 | #define BTN_VOL_DOWN (1 << 27) |
32 | #define BTN_HOLD (1 << 16) | 33 | #define BTN_HOLD (1 << 16) |
33 | #define BTN_MENU (1 << 1) | 34 | #define BTN_MENU (1 << 1) |
34 | #define BTN_VOL_UP (1 << 0) | 35 | #define BTN_VOL_UP (1 << 0) |
36 | #elif defined(ONDA_VX747P) | ||
37 | #define BTN_OFF (1 << 29) | ||
38 | #define BTN_VOL_DOWN (1 << 27) | ||
39 | #define BTN_HOLD (1 << 22) /* on REG_GPIO_PXPIN(2) */ | ||
40 | #define BTN_MENU (1 << 20) | ||
41 | #define BTN_VOL_UP (1 << 19) | ||
42 | #else | ||
43 | #error No buttons defined! | ||
44 | #endif | ||
45 | |||
35 | #define BTN_MASK (BTN_OFF | BTN_VOL_DOWN | \ | 46 | #define BTN_MASK (BTN_OFF | BTN_VOL_DOWN | \ |
36 | BTN_MENU | BTN_VOL_UP) | 47 | BTN_MENU | BTN_VOL_UP) |
37 | 48 | ||
@@ -130,11 +141,19 @@ void button_init_device(void) | |||
130 | REG_SADC_CTRL = (~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM)); | 141 | REG_SADC_CTRL = (~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM)); |
131 | REG_SADC_ENA = (SADC_ENA_TSEN | SADC_ENA_PBATEN); | 142 | REG_SADC_ENA = (SADC_ENA_TSEN | SADC_ENA_PBATEN); |
132 | 143 | ||
144 | #ifdef ONDA_VX747 | ||
133 | __gpio_as_input(32*3 + 29); | 145 | __gpio_as_input(32*3 + 29); |
134 | __gpio_as_input(32*3 + 27); | 146 | __gpio_as_input(32*3 + 27); |
135 | __gpio_as_input(32*3 + 16); | 147 | __gpio_as_input(32*3 + 16); |
136 | __gpio_as_input(32*3 + 1); | 148 | __gpio_as_input(32*3 + 1); |
137 | __gpio_as_input(32*3 + 0); | 149 | __gpio_as_input(32*3 + 0); |
150 | #elif defined(ONDA_VX747P) | ||
151 | __gpio_as_input(32*3 + 29); | ||
152 | __gpio_as_input(32*3 + 27); | ||
153 | __gpio_as_input(32*3 + 20); | ||
154 | __gpio_as_input(32*3 + 19); | ||
155 | __gpio_as_input(32*2 + 22); | ||
156 | #endif | ||
138 | 157 | ||
139 | mutex_init(&battery_mtx); | 158 | mutex_init(&battery_mtx); |
140 | } | 159 | } |
@@ -173,7 +192,13 @@ int button_read_device(int *data) | |||
173 | int ret = 0, tmp; | 192 | int ret = 0, tmp; |
174 | 193 | ||
175 | /* Filter button events out if HOLD button is pressed at firmware/ level */ | 194 | /* Filter button events out if HOLD button is pressed at firmware/ level */ |
176 | if((~REG_GPIO_PXPIN(3)) & BTN_HOLD) | 195 | if( |
196 | #ifdef ONDA_VX747 | ||
197 | (~REG_GPIO_PXPIN(3)) & BTN_HOLD | ||
198 | #elif defined(ONDA_VX747P) | ||
199 | (~REG_GPIO_PXPIN(2)) & BTN_HOLD | ||
200 | #endif | ||
201 | ) | ||
177 | return 0; | 202 | return 0; |
178 | 203 | ||
179 | tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; | 204 | tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; |