[PATCH 1/3] dt-bindings: iio: adc: stm32: add support for diff channels
From: Fabrice Gasnier <hidden>
Date: 2017-10-25 08:06:25
Also in:
linux-devicetree, linux-iio, lkml
On 10/24/2017 08:42 PM, Jonathan Cameron wrote:
On 24 October 2017 17:41:38 BST, Rob Herring [off-list ref] wrote:quoted
On Tue, Oct 17, 2017 at 03:15:43PM +0200, Fabrice Gasnier wrote:quoted
STM32H7 ADC channels may be configured either as single-ended or differential. Add 'st,adc-diff-channels' property to support differential channels. Differential channels are defined as a pair of positive and negative inputs: vinp & vinn. Signed-off-by: Fabrice Gasnier <redacted> --- Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt | 6++++++quoted
1 file changed, 6 insertions(+) diff --gita/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txtquoted
index 48bfcaa3..c3c8de1 100644--- a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt@@ -62,6 +62,12 @@ Required properties: - st,adc-channels: List of single-ended channels muxed for this ADC. It can have up to 16 channels on stm32f4 or 20 channels onstm32h7, numberedquoted
from 0 to 15 or 19 (resp. for in0..in15 or in0..in19). +- st,adc-diff-channels: List of differential channels muxed for thisADC.quoted
+ Depending on part used, some channels can be configured asdifferentialquoted
+ instead of single-ended (e.g. stm32h7). List here positive andnegativequoted
+ inputs pairs as <vinp vinn>, <vinp vinn>,... vinp and vinn arenumberedquoted
+ from 0 to 19 on stm32h7) + Note: At least one of "st,adc-channels" or "st,adc-diff-channels"is required. Wouldn't both present be invalid?
Hi Rob, Jonathan,
Probably invalid to have a number in both but some channels in each would be fine.
Yes, both properties can be used together. Some channels can be used as
single-ended and some other ones as differential (mixed). But channels
can't be configured both as single-ended and differential (invalid).
I'll mention this in the note, and also update differential channels
example:
Example to setup:
- channel 1 as single-ended
- channels 2 & 3 as differential (with resp. 6 & 7 negative inputs)
adc: adc at 40022000 {
compatible = "st,stm32h7-adc-core";
...
adc1: adc at 0 {
compatible = "st,stm32h7-adc";
...
st,adc-channels = <1>;
st,adc-diff-channels = <2 6>, <3 7>;
};
};
I will send V2 with these updates.
Thanks,
Best Regards,
Fabricequoted
quoted
- #io-channel-cells = <1>: See the IIO bindings section "IIOconsumers" inquoted
Documentation/devicetree/bindings/iio/iio-bindings.txt -- 1.9.1