aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/cc10001_adc.c
diff options
context:
space:
mode:
authorNaidu Tellapati <naidu.tellapati@imgtec.com>2015-05-07 18:22:20 -0300
committerJonathan Cameron <jic23@kernel.org>2015-05-12 20:01:13 +0100
commitf29b212edb9e253cafcb4a2ab7842a890989f1a5 (patch)
tree7bd4b5e971fab715aa243bff5eb648dbb6f9fe29 /drivers/iio/adc/cc10001_adc.c
parentiio: adc: cc10001: Fix regulator_get_voltage() return value check (diff)
downloadlinux-dev-f29b212edb9e253cafcb4a2ab7842a890989f1a5.tar.xz
linux-dev-f29b212edb9e253cafcb4a2ab7842a890989f1a5.zip
iio: adc: cc10001: Add delay before setting START bit
According to hardware team there should be some delay after setting channel number, start mode and before setting START. Add a one microsecond delay for this purpose. Fixes: 1664f6a5b0c8 ("iio: adc: Cosmic Circuits 10001 ADC driver") Signed-off-by: Naidu Tellapati <naidu.tellapati@imgtec.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/adc/cc10001_adc.c')
-rw-r--r--drivers/iio/adc/cc10001_adc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iio/adc/cc10001_adc.c b/drivers/iio/adc/cc10001_adc.c
index fb7c5d2cc61a..115f6e99a7fa 100644
--- a/drivers/iio/adc/cc10001_adc.c
+++ b/drivers/iio/adc/cc10001_adc.c
@@ -100,6 +100,7 @@ static void cc10001_adc_start(struct cc10001_adc_device *adc_dev,
val = (channel & CC10001_ADC_CH_MASK) | CC10001_ADC_MODE_SINGLE_CONV;
cc10001_adc_write_reg(adc_dev, CC10001_ADC_CONFIG, val);
+ udelay(1);
val = cc10001_adc_read_reg(adc_dev, CC10001_ADC_CONFIG);
val = val | CC10001_ADC_START_CONV;
cc10001_adc_write_reg(adc_dev, CC10001_ADC_CONFIG, val);