summaryrefslogtreecommitdiff
path: root/drivers/iio/adc/stm32-adc-core.h
diff options
context:
space:
mode:
authorOlivier Moysan <olivier.moysan@foss.st.com>2022-11-15 13:31:21 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2022-11-23 23:56:13 +0300
commit9d901e356c8d3640940cb72ff7969f03e85c2e95 (patch)
tree099e7abca6dbeb36c793e40fcf997c4e5e73bb5a /drivers/iio/adc/stm32-adc-core.h
parentf237cf1914e24ebba88670ecc36e8209c888c9a2 (diff)
downloadlinux-9d901e356c8d3640940cb72ff7969f03e85c2e95.tar.xz
iio: adc: stm32-adc: smart calibration support
Add smart calibration support for STM32MP1. - STM32MP15x: both linear & offset calibration are supported - STM32MP13x: Only offset calibration is supported Linear calibration: Linear calibration is SoC dependent and does not change over time so it can be done only once. Linear calibration may have already been done in u-boot. Skip calibration execution if calibration data are already available. Save calibration factors in private data and restore them from private data on next ADC start. Offset calibration: This calibration may vary over time, depending on temperature or voltage. Run offset single-ended and differential calibration on each ADC start, as it is not time consuming. This calibration do not need to be saved. So, remove calfact_s and calfact_d value and bitfields that are no longer used. Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com> Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> Link: https://lore.kernel.org/r/20221115103124.70074-2-olivier.moysan@foss.st.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/stm32-adc-core.h')
-rw-r--r--drivers/iio/adc/stm32-adc-core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iio/adc/stm32-adc-core.h b/drivers/iio/adc/stm32-adc-core.h
index 9d6dfa1c03fa..73b2c2e91c08 100644
--- a/drivers/iio/adc/stm32-adc-core.h
+++ b/drivers/iio/adc/stm32-adc-core.h
@@ -142,6 +142,7 @@
#define STM32H7_LINCALRDYW3 BIT(24)
#define STM32H7_LINCALRDYW2 BIT(23)
#define STM32H7_LINCALRDYW1 BIT(22)
+#define STM32H7_LINCALRDYW_MASK GENMASK(27, 22)
#define STM32H7_ADCALLIN BIT(16)
#define STM32H7_BOOST BIT(8)
#define STM32H7_ADSTP BIT(4)