summaryrefslogtreecommitdiff
path: root/drivers/iio
diff options
context:
space:
mode:
authorNaidu Tellapati <naidu.tellapati@imgtec.com>2015-05-07 18:22:20 -0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-06 08:20:54 -0700
commitf82128dac1fa79c4f38d32f08adc80e237e7e5c6 (patch)
treea8adc63986de19292588e3c570d7c67178f2407e /drivers/iio
parenta604c614da331f4b9f5c4d76e8adceec1d600a01 (diff)
iio: adc: cc10001: Add delay before setting START bit
commit f29b212edb9e253cafcb4a2ab7842a890989f1a5 upstream. 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> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/iio')
-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 e7810ac8e295..57146335862e 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);