Renesas RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs include three
12-Bit successive approximation A/D converters.
RZ/T2H has two ADCs with 4 channels and one with 6.
RZ/N2H has two ADCs with 4 channels and one with 15.
Add support for them.
V3:
* remove leftover renesas,max-channels property from SoC dts
* split rzt2h_adc_start_stop() into rzt2h_adc_start() and
rzt2h_adc_stop(), getting rid of mask variable
* use FIELD_MODIFY() to clear and set at the same time
* switch from guard(mutex) to mutex_lock() & mutex_unlock() to keep
pm_runtime_put_autosuspend() out of the mutex and to avoid using both
guard() and goto in the same function
* inline ret and irq declarations
* use private state rather than indio_dev for platform_set_drvdata() to
avoid extra pointer arithmetic
* pick up Reviewed-by for the driver from Nuno
* pick up Acked-by for the bindings from Conor
* pick up Reviewed-by for the bindings from Geert
V2:
* pick up Reviewed-by from Geert
* dt-bindings: move required after patternProperties
* dt-bindings: describe 16 channels, but limit per-SoC to 6 / 15
* dt-bindings: use uppercase for clock descriptions
* remove max-channels property and find it from parsed channel subnodes
* remove start/stop wrappers
* stop calibration even on failure
* move data reading to rzt2h_adc_read_single() instead of interrupt
* handler
Cosmin Tanislav (7):
clk: renesas: r9a09g077: Add ADC modules clock
dt-bindings: iio: adc: document RZ/T2H and RZ/N2H ADC
iio: adc: add RZ/T2H / RZ/N2H ADC driver
arm64: dts: renesas: r9a09g077: Add ADCs support
arm64: dts: renesas: r9a09g087: Add ADCs support
arm64: dts: renesas: rzt2h/rzn2h-evk: enable ADCs
arm64: defconfig: enable RZ/T2H / RZ/N2H ADC driver
.../iio/adc/renesas,r9a09g077-adc.yaml | 160 +++++++++
MAINTAINERS | 8 +
arch/arm64/boot/dts/renesas/r9a09g077.dtsi | 66 ++++
.../dts/renesas/r9a09g077m44-rzt2h-evk.dts | 28 ++
arch/arm64/boot/dts/renesas/r9a09g087.dtsi | 66 ++++
.../dts/renesas/r9a09g087m44-rzn2h-evk.dts | 64 ++++
.../dts/renesas/rzt2h-n2h-evk-common.dtsi | 79 +++++
arch/arm64/configs/defconfig | 1 +
drivers/clk/renesas/r9a09g077-cpg.c | 3 +
drivers/iio/adc/Kconfig | 10 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/rzt2h_adc.c | 309 ++++++++++++++++++
12 files changed, 795 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/renesas,r9a09g077-adc.yaml
create mode 100644 drivers/iio/adc/rzt2h_adc.c
--
2.51.0