summaryrefslogtreecommitdiff
path: root/firmware/drivers/adc.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-01-12 00:35:50 +0000
committerDave Chapman <dave@dchapman.com>2006-01-12 00:35:50 +0000
commitd83e929f3fc369a5981e1e40e1c5307169a46cfc (patch)
treeac323ca5811374a030a1b65bb77fc7ccc163db04 /firmware/drivers/adc.c
parent8d130684214d23a9163810d1dacc33d108f2338a (diff)
downloadrockbox-d83e929f3fc369a5981e1e40e1c5307169a46cfc.tar.gz
rockbox-d83e929f3fc369a5981e1e40e1c5307169a46cfc.zip
Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/adc.c')
-rw-r--r--firmware/drivers/adc.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/firmware/drivers/adc.c b/firmware/drivers/adc.c
index c9ae2daca8..ad10017d85 100644
--- a/firmware/drivers/adc.c
+++ b/firmware/drivers/adc.c
@@ -294,4 +294,38 @@ void adc_init(void)
294 294
295} 295}
296 296
297#elif CONFIG_CPU == PNX0101
298
299static unsigned short adcdata[NUM_ADC_CHANNELS];
300
301unsigned short adc_read(int channel)
302{
303 return adcdata[channel];
304}
305
306static void adc_tick(void)
307{
308 if (ADCST & 0x10) {
309 adcdata[0] = ADCCH0 & 0x3ff;
310 adcdata[1] = ADCCH1 & 0x3ff;
311 adcdata[2] = ADCCH2 & 0x3ff;
312 adcdata[3] = ADCCH3 & 0x3ff;
313 adcdata[4] = ADCCH4 & 0x3ff;
314 ADCST = 0xa;
315 }
316}
317
318void adc_init(void)
319{
320 ADCR24 = 0xaaaaa;
321 ADCR28 = 0;
322 ADCST = 2;
323 ADCST = 0xa;
324
325 while (!(ADCST & 0x10));
326 adc_tick();
327
328 tick_add_task(adc_tick);
329}
330
297#endif 331#endif