Commit aaf0ceb3 authored by Fabrice Gasnier's avatar Fabrice Gasnier Committed by Jonathan Cameron

dt-bindings: iio: stm32-adc: add support for STM32H7

Document support for STM32H7 Analog to Digital Converter.
Main difference is regarding compatible, clock definitions and new
features like differential channels support:
STM32H7 ADC block has two clock inputs, common clock for all ADCs.
One 'bus' clock for registers access, and one optional 'adc' clock
for analog circuitry (bus clock may be used for conversions).
Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@st.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 18edac2e
...@@ -21,11 +21,19 @@ own configurable sequence and trigger: ...@@ -21,11 +21,19 @@ own configurable sequence and trigger:
Contents of a stm32 adc root node: Contents of a stm32 adc root node:
----------------------------------- -----------------------------------
Required properties: Required properties:
- compatible: Should be "st,stm32f4-adc-core". - compatible: Should be one of:
"st,stm32f4-adc-core"
"st,stm32h7-adc-core"
- reg: Offset and length of the ADC block register set. - reg: Offset and length of the ADC block register set.
- interrupts: Must contain the interrupt for ADC block. - interrupts: Must contain the interrupt for ADC block.
- clocks: Clock for the analog circuitry (common to all ADCs). - clocks: Core can use up to two clocks, depending on part used:
- clock-names: Must be "adc". - "adc" clock: for the analog circuitry, common to all ADCs.
It's required on stm32f4.
It's optional on stm32h7.
- "bus" clock: for registers access, common to all ADCs.
It's not present on stm32f4.
It's required on stm32h7.
- clock-names: Must be "adc" and/or "bus" depending on part used.
- interrupt-controller: Identifies the controller node as interrupt-parent - interrupt-controller: Identifies the controller node as interrupt-parent
- vref-supply: Phandle to the vref input analog reference voltage. - vref-supply: Phandle to the vref input analog reference voltage.
- #interrupt-cells = <1>; - #interrupt-cells = <1>;
...@@ -42,14 +50,18 @@ An ADC block node should contain at least one subnode, representing an ...@@ -42,14 +50,18 @@ An ADC block node should contain at least one subnode, representing an
ADC instance available on the machine. ADC instance available on the machine.
Required properties: Required properties:
- compatible: Should be "st,stm32f4-adc". - compatible: Should be one of:
"st,stm32f4-adc"
"st,stm32h7-adc"
- reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200). - reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200).
- clocks: Input clock private to this ADC instance. - clocks: Input clock private to this ADC instance. It's required only on
stm32f4, that has per instance clock input for registers access.
- interrupt-parent: Phandle to the parent interrupt controller. - interrupt-parent: Phandle to the parent interrupt controller.
- interrupts: IRQ Line for the ADC (e.g. may be 0 for adc@0, 1 for adc@100 or - interrupts: IRQ Line for the ADC (e.g. may be 0 for adc@0, 1 for adc@100 or
2 for adc@200). 2 for adc@200).
- st,adc-channels: List of single-ended channels muxed for this ADC. - st,adc-channels: List of single-ended channels muxed for this ADC.
It can have up to 16 channels, numbered from 0 to 15 (resp. for in0..in15). It can have up to 16 channels on stm32f4 or 20 channels on stm32h7, numbered
from 0 to 15 or 19 (resp. for in0..in15 or in0..in19).
- #io-channel-cells = <1>: See the IIO bindings section "IIO consumers" in - #io-channel-cells = <1>: See the IIO bindings section "IIO consumers" in
Documentation/devicetree/bindings/iio/iio-bindings.txt Documentation/devicetree/bindings/iio/iio-bindings.txt
...@@ -58,7 +70,9 @@ Optional properties: ...@@ -58,7 +70,9 @@ Optional properties:
See ../../dma/dma.txt for details. See ../../dma/dma.txt for details.
- dma-names: Must be "rx" when dmas property is being used. - dma-names: Must be "rx" when dmas property is being used.
- assigned-resolution-bits: Resolution (bits) to use for conversions. Must - assigned-resolution-bits: Resolution (bits) to use for conversions. Must
match device available resolutions (e.g. can be 6, 8, 10 or 12 on stm32f4). match device available resolutions:
* can be 6, 8, 10 or 12 on stm32f4
* can be 8, 10, 12, 14 or 16 on stm32h7
Default is maximum resolution if unset. Default is maximum resolution if unset.
Example: Example:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment