Re: [PATCH v3 04/15] iio: adc: stm32-adc: manage characterization voltage diversity
From: Joshua Crofts
Date: Wed Sep 30 2026 - 14:13:36 EST
On Wed, 30 Sep 2026 16:18:25 +0200
Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx> wrote:
> From: Olivier Moysan <olivier.moysan@xxxxxxxxxxx>
>
> The characterization voltage used to calibrate vrefint depends
> on SoC family. Add vref_charac_mv field in stm32_adc_cfg structure
> to store the characterization voltage for each SoC, and use it
> in Vref computation formula.
>
> Signed-off-by: Olivier Moysan <olivier.moysan@xxxxxxxxxxx>
> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
> ---
> Changes in v2:
> - Andy's review comments: rename variable to vref_charac_mv (unit suffix).
> Drop the const attribute.
> ---
> drivers/iio/adc/stm32-adc.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c
> index 600f975f1d7b..fa46803d54be 100644
> --- a/drivers/iio/adc/stm32-adc.c
> +++ b/drivers/iio/adc/stm32-adc.c
> @@ -43,7 +43,6 @@
> #define STM32_ADC_TIMEOUT_US 100000
> #define STM32_ADC_TIMEOUT (msecs_to_jiffies(STM32_ADC_TIMEOUT_US / 1000))
> #define STM32_ADC_HW_STOP_DELAY_MS 100
> -#define STM32_ADC_VREFINT_VOLTAGE 3300
>
> #define STM32_DMA_BUFFER_SIZE PAGE_SIZE
>
> @@ -211,6 +210,7 @@ struct stm32_adc;
> * @set_ovs: routine to set oversampling configuration
> * @smp_cycles: programmable sampling time (ADC clock cycles)
> * @ts_int_ch: pointer to array of internal channels minimum sampling time in ns
> + * @vref_charac_mv: Vref characterization voltage used to measure vrefint calibration value
> */
> struct stm32_adc_cfg {
> const struct stm32_adc_regspec *regs;
> @@ -230,6 +230,7 @@ struct stm32_adc_cfg {
> void (*set_ovs)(struct iio_dev *indio_dev, u32 ovs_idx);
> const unsigned int *smp_cycles;
> const unsigned int *ts_int_ch;
> + int vref_charac_mv;
Case-sensitive units if it's SI is preferred in IIO, therefore *_mV.
(checkpatch warns against this, but just ignore it).
--
Kind regards,
Joshua Crofts