[PATCH v5 0/7] iio: adc: stm32-adc: add internal channels support

Olivier Moysan
2021-10-14T13:15:46Z

This patchset adds support of ADC2 internal channels VDDCORE, VREFINT and VBAT
on STM32MP15x SoCs. The generic IIO channel bindings is also introduced here
to provide this feature. The legacy channel binding is kept for backward compatibility.

Changes in v2:
- Add 'deprecated' to channels legacy properties in ADC bindings
- Add set/clr service for common registers, to make code more generic in
internal channels enable/disable services.
- Expose vrefint channel as a processed channel to return
the actual value of vrefp.
- Minor code improvements

Changes in v3:
- fix vrefint sampling time check.

Changes in v4:
- fix binding
- add dedicated spin lock for common register
- manage probe_defer on nvmem read

Changes in v5:
- fix binding example

v5 resent as serie index was wrong on previous post. sorry !

Olivier Moysan (7):
dt-bindings: iio: stm32-adc: add generic channel binding
dt-bindings: iio: stm32-adc: add nvmem support for vrefint internal
channel
iio: adc: stm32-adc: split channel init into several routines
iio: adc: stm32-adc: add support of generic channels binding
iio: adc: stm32-adc: add support of internal channels
iio: adc: stm32-adc: add vrefint calibration support
iio: adc: stm32-adc: use generic binding for sample-time

.../bindings/iio/adc/st,stm32-adc.yaml | 108 ++++-
drivers/iio/adc/stm32-adc-core.c | 1 +
drivers/iio/adc/stm32-adc-core.h | 10 +
drivers/iio/adc/stm32-adc.c | 422 ++++++++++++++++--
4 files changed, 486 insertions(+), 55 deletions(-)