iio: adc: stm32-adc: add vrefint calibration support
authorOlivier Moysan <olivier.moysan@foss.st.com>
Thu, 14 Oct 2021 13:12:27 +0000 (15:12 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 20 Oct 2021 13:43:54 +0000 (14:43 +0100)
commit0e346b2cfa855d6e6990dbdb220983fbf2bb0b92
tree3b343348f8ca63bbc0c28229abf13e787dd8cc5c
parentaec6e0d8f0fe2e99c6486ebf1979fe2a03890e39
iio: adc: stm32-adc: add vrefint calibration support

Add support of vrefint calibration.
If a channel is labeled as vrefint, get vrefint calibration
from non volatile memory for this channel.
vrefint channel is exposed as a processed channel returning
the actual value of vrefp:
vrefp = 3.3 x vrefint_cal / vrefint_data

A conversion on vrefint channel allows to update scale
factor according to vrefint deviation, compared to vrefint
calibration value.

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/20211014131228.4692-7-olivier.moysan@foss.st.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/stm32-adc.c