summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-20 18:28:51 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-20 18:28:51 +0000
commitbe8a27ad818c0db4c6687edce159bbbe9df7ff5e (patch)
treea6baefd29b28329bf107786669a86311d5f40db6 /firmware/target
parent0eb5dc649f34ca136d0160bf5d43961a2c3cea05 (diff)
downloadrockbox-be8a27ad818c0db4c6687edce159bbbe9df7ff5e.tar.gz
rockbox-be8a27ad818c0db4c6687edce159bbbe9df7ff5e.zip
Onda VX747: fix touchscreen issues when switching from bootloader to 'normal' Rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20754 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c44
1 files changed, 26 insertions, 18 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 d7ad3eb3e6..ebc2f214a9 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
@@ -123,22 +123,7 @@ unsigned int battery_adc_voltage(void)
123} 123}
124 124
125void button_init_device(void) 125void button_init_device(void)
126{ 126{
127 __cpm_start_sadc();
128 REG_SADC_ENA = 0;
129 REG_SADC_STATE &= ~REG_SADC_STATE;
130 REG_SADC_CTRL = 0x1F;
131
132 REG_SADC_CFG = SADC_CFG_INIT;
133
134 system_enable_irq(IRQ_SADC);
135
136 REG_SADC_SAMETIME = 10;
137 REG_SADC_WAITTIME = 100;
138 REG_SADC_STATE &= ~REG_SADC_STATE;
139 REG_SADC_CTRL = ~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM);
140 REG_SADC_ENA = SADC_ENA_TSEN;
141
142#ifdef ONDA_VX747 127#ifdef ONDA_VX747
143 __gpio_as_input(32*3 + 29); 128 __gpio_as_input(32*3 + 29);
144 __gpio_as_input(32*3 + 27); 129 __gpio_as_input(32*3 + 27);
@@ -152,8 +137,6 @@ void button_init_device(void)
152 __gpio_as_input(32*3 + 19); 137 __gpio_as_input(32*3 + 19);
153 __gpio_as_input(32*2 + 22); 138 __gpio_as_input(32*2 + 22);
154#endif 139#endif
155
156 mutex_init(&battery_mtx);
157} 140}
158 141
159bool button_hold(void) 142bool button_hold(void)
@@ -282,4 +265,29 @@ void SADC(void)
282 265
283void adc_init(void) 266void adc_init(void)
284{ 267{
268 __cpm_start_sadc();
269 REG_SADC_ENA = 0;
270 REG_SADC_STATE &= (~REG_SADC_STATE);
271 REG_SADC_CTRL = 0x1f;
272
273 REG_SADC_CFG = SADC_CFG_INIT;
274
275 system_enable_irq(IRQ_SADC);
276
277 REG_SADC_SAMETIME = 10;
278 REG_SADC_WAITTIME = 100;
279 REG_SADC_STATE &= ~REG_SADC_STATE;
280 REG_SADC_CTRL = ~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM);
281 REG_SADC_ENA = SADC_ENA_TSEN;
282
283 mutex_init(&battery_mtx);
284}
285
286void adc_close(void)
287{
288 REG_SADC_ENA = 0;
289 __intc_mask_irq(IRQ_SADC);
290 sleep(20);
291 __cpm_stop_sadc();
285} 292}
293