summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/adc-imx31.c')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/adc-imx31.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
index d26d708da1..2f4e45c3b1 100644
--- a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
@@ -77,11 +77,11 @@ unsigned short adc_read(int channel)
77 77
78 mutex_unlock(&adc_mtx); 78 mutex_unlock(&adc_mtx);
79 79
80 /* Channels 0-3/8-11 in ADD1, 0-4/12-15 in ADD2 */ 80 /* Channels 0-3/8-11 in ADD1, 4-7/12-15 in ADD2 */
81 return (channel & 4) ? MC13783_ADD2r(data) : MC13783_ADD1r(data); 81 return (channel & 4) ? MC13783_ADD2r(data) : MC13783_ADD1r(data);
82} 82}
83 83
84/* Called when conversion is complete */ 84/* Called by mc13783 interrupt thread when conversion is complete */
85void adc_done(void) 85void adc_done(void)
86{ 86{
87 wakeup_signal(&adc_wake); 87 wakeup_signal(&adc_wake);
@@ -100,7 +100,8 @@ void adc_init(void)
100 MC13783_RTHEN | MC13783_CHRGICON); 100 MC13783_RTHEN | MC13783_CHRGICON);
101 /* Enable ADC, set multi-channel mode */ 101 /* Enable ADC, set multi-channel mode */
102 mc13783_write(MC13783_ADC1, MC13783_ADEN); 102 mc13783_write(MC13783_ADC1, MC13783_ADEN);
103 /* Enable the ADCDONE interrupt - notifications are dispatched by 103
104 * event handler. */ 104 /* Enable ADCDONE event */
105 mc13783_clear(MC13783_INTERRUPT_MASK0, MC13783_ADCDONEM); 105 mc13783_write(MC13783_INTERRUPT_STATUS0, MC13783_ADCDONEI);
106 mc13783_enable_event(MC13783_ADCDONE_EVENT);
106} 107}