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.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
index 3c66c42adc..52293228f8 100644
--- a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c
@@ -57,8 +57,8 @@ unsigned short adc_read(int channel)
57 { 57 {
58 /* Keep enable, start conversion, increment from channel 0, 58 /* Keep enable, start conversion, increment from channel 0,
59 * increment from channel 4 */ 59 * increment from channel 4 */
60 uint32_t adc1 = MC13783_ADEN | MC13783_ASC | MC13783_ADA1w(0) | 60 uint32_t adc1 = MC13783_ADEN | MC13783_ASC |
61 MC13783_ADA2w(4); 61 (0 << MC13783_ADA1_POS) | (4 << MC13783_ADA2_POS);
62 62
63 if (input_select == 1) 63 if (input_select == 1)
64 adc1 |= MC13783_ADSEL; /* 2nd set of inputs */ 64 adc1 |= MC13783_ADSEL; /* 2nd set of inputs */
@@ -81,7 +81,9 @@ unsigned short adc_read(int channel)
81 mutex_unlock(&adc_mtx); 81 mutex_unlock(&adc_mtx);
82 82
83 /* Channels 0-3/8-11 in ADD1, 4-7/12-15 in ADD2 */ 83 /* Channels 0-3/8-11 in ADD1, 4-7/12-15 in ADD2 */
84 return (channel & 4) ? MC13783_ADD2r(data) : MC13783_ADD1r(data); 84 return (channel & 4) ?
85 ((data & MC13783_ADD2) >> MC13783_ADD2_POS) :
86 ((data & MC13783_ADD1) >> MC13783_ADD1_POS);
85} 87}
86 88
87bool adc_enable_channel(int channel, bool enable) 89bool adc_enable_channel(int channel, bool enable)