[PATCH v4 00/15] iio: adc: stm32: add support for stm32mp23 and stm32mp25
HOTtoday
From: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Date: 2026-10-06 07:58:27
Also in:
linux-arm-kernel, linux-iio, lkml
Add support for STM32MP23 and STM32MP25 Analog to Digital Converter. It's a variant of other supported STM32MP ADCs. Add the DT bindings, driver, SOC DTS and an example on stm32mp257f-ev1 board. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> --- Changes in v4: - Improve differential calibration routine since Sashiko comments - Use mV SI unit as advised by Joshua - Use const array or structs as advised by Joshua and Sashiko - Add collected Acks or Rb from Conor and Joshua - Link to v3: https://patch.msgid.link/20260930-adc-stm32mp25-v1-v3-0-406834430d72@foss.st.com Changes in v3: - Refactor the calibration routines since Andy comments - Style cleanup since Andy comments (added one precursor patch) - Adopt field_prep as advised by Jonathan on patch 2 - Rebased on additional fix that has been applied separately ("iio: adc: stm32: fix minimum sampling time values") - Link to v2: https://patch.msgid.link/20260923-adc-stm32mp25-v1-v2-0-46bc019537c6@foss.st.com Changes in v2: - dt-bindings: updates since discussion with Jonathan. Drop fallback compatible and "st,adc-trigger-sel". - driver: address Jonathan and Andy comments and overall: - Split into several pieces to prepare the infrastructure without functional change - Add stm32mp23/25 support - Then add vddgpu feature. - Rebased on top of fixes sent separately, since pre-existing issues have been reported by Sashiko on v1. https://patch.msgid.link/20260916-adc-fix-intchan-v1-v3-1-b5f05b86bc60@foss.st.com https://patch.msgid.link/20260916-adc-fix-div0-v3-1-bedf027a6e7e@foss.st.com - Link to v1: https://patch.msgid.link/20260911-adc-stm32mp25-v1-v1-0-cef26eecdef2@foss.st.com --- Cheick Traore (1): arm64: dts: st: add ADC nodes on stm32mp231 Fabrice Gasnier (11): dt-bindings: iio: adc: stm32-adc: add support for stm32mp23 and stm32mp25 iio: adc: stm32-adc: core: manage clock prescaler diversity iio: adc: stm32-adc: core: configurable number of interrupts iio: adc: stm32-adc: rework internal channels data iio: adc: stm32-adc: add vreg enable option to manage diversity iio: adc: stm32-adc: preferred style cleanup iio: adc: stm32-adc: add support for stm32mp25 iio: adc: stm32-adc: add support for stm32mp23 iio: adc: stm32-adc: add support for vddgpu on stm32mp23 and stm32mp25 arm64: dts: st: add ADC nodes on stm32mp251 arm64: dts: st: add ADC support on stm32mp257f-ev1 board Olivier Moysan (1): iio: adc: stm32-adc: manage characterization voltage diversity Patrice Chotard (2): arm64: dts: st: add vrefint calibration on stm32mp23 arm64: dts: st: add vrefint calibration on stm32mp25 .../devicetree/bindings/iio/adc/st,stm32-adc.yaml | 71 +++ arch/arm64/boot/dts/st/stm32mp231.dtsi | 116 ++++ arch/arm64/boot/dts/st/stm32mp251.dtsi | 116 ++++ arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 22 + drivers/iio/adc/stm32-adc-core.c | 104 ++-- drivers/iio/adc/stm32-adc-core.h | 21 + drivers/iio/adc/stm32-adc.c | 602 ++++++++++++++++++++- 7 files changed, 992 insertions(+), 60 deletions(-) --- base-commit: 7b05d04fbd3e7aa3380767122eba0b3df2882ede change-id: 20260911-adc-stm32mp25-v1-2ac7328559d9 Best regards, -- Fabrice Gasnier [off-list ref]