Message ID | 20210727232906.980769-5-liambeguin@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | AD7949 Fixes | expand |
On Tue, 27 Jul 2021 19:29:05 -0400 Liam Beguin <liambeguin@gmail.com> wrote: > From: Liam Beguin <lvb@xiphos.com> > > Add bindings documentation describing per channel reference voltage > selection. > This adds the adi,internal-ref-microvolt property, and child nodes for > each channel. This is required to properly configure the ADC sample > request based on which reference source should be used for the > calculation. > > Signed-off-by: Liam Beguin <lvb@xiphos.com> I'm fine with this, but as it's a bit unusual, definitely want to give a little more time for Rob and others to take a look. Jonathan > --- > .../bindings/iio/adc/adi,ad7949.yaml | 69 +++++++++++++++++-- > 1 file changed, 65 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml > index 9b56bd4d5510..893f72b8081e 100644 > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml > @@ -26,19 +26,63 @@ properties: > reg: > maxItems: 1 > > + vrefin-supply: > + description: > + Buffered ADC reference voltage supply. > + > vref-supply: > description: > - ADC reference voltage supply > + Unbuffered ADC reference voltage supply. > > spi-max-frequency: true > > - "#io-channel-cells": > + '#io-channel-cells': > const: 1 > > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > required: > - compatible > - reg > - - vref-supply > + > +patternProperties: > + '^channel@([0-7])$': > + type: object > + description: | > + Represents the external channels which are connected to the ADC. > + > + properties: > + reg: > + description: | > + The channel number. > + Up to 4 channels, numbered from 0 to 3 for adi,ad7682. > + Up to 8 channels, numbered from 0 to 7 for adi,ad7689 and adi,ad7949. > + items: > + minimum: 0 > + maximum: 7 > + > + adi,internal-ref-microvolt: > + description: | > + Internal reference voltage selection in microvolts. > + > + If no internal reference is specified, the channel will default to the > + external reference defined by vrefin-supply (or vref-supply). > + vrefin-supply will take precedence over vref-supply if both are defined. > + > + If no supplies are defined, the reference selection will default to > + 4096mV internal reference. > + > + enum: [2500000, 4096000] > + default: 4096000 > + > + required: > + - reg > + > + additionalProperties: false > > additionalProperties: false > > @@ -49,9 +93,26 @@ examples: > #size-cells = <0>; > > adc@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > compatible = "adi,ad7949"; > reg = <0>; > - vref-supply = <&vdd_supply>; > + vrefin-supply = <&vdd_supply>; > + > + channel@0 { > + adi,internal-ref-microvolt = <4096000>; > + reg = <0>; > + }; > + > + channel@1 { > + adi,internal-ref-microvolt = <2500000>; > + reg = <1>; > + }; > + > + channel@2 { > + reg = <2>; > + }; > }; > }; > ...
On Tue, 27 Jul 2021 19:29:05 -0400, Liam Beguin wrote: > From: Liam Beguin <lvb@xiphos.com> > > Add bindings documentation describing per channel reference voltage > selection. > This adds the adi,internal-ref-microvolt property, and child nodes for > each channel. This is required to properly configure the ADC sample > request based on which reference source should be used for the > calculation. > > Signed-off-by: Liam Beguin <lvb@xiphos.com> > --- > .../bindings/iio/adc/adi,ad7949.yaml | 69 +++++++++++++++++-- > 1 file changed, 65 insertions(+), 4 deletions(-) > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml index 9b56bd4d5510..893f72b8081e 100644 --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml @@ -26,19 +26,63 @@ properties: reg: maxItems: 1 + vrefin-supply: + description: + Buffered ADC reference voltage supply. + vref-supply: description: - ADC reference voltage supply + Unbuffered ADC reference voltage supply. spi-max-frequency: true - "#io-channel-cells": + '#io-channel-cells': const: 1 + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + required: - compatible - reg - - vref-supply + +patternProperties: + '^channel@([0-7])$': + type: object + description: | + Represents the external channels which are connected to the ADC. + + properties: + reg: + description: | + The channel number. + Up to 4 channels, numbered from 0 to 3 for adi,ad7682. + Up to 8 channels, numbered from 0 to 7 for adi,ad7689 and adi,ad7949. + items: + minimum: 0 + maximum: 7 + + adi,internal-ref-microvolt: + description: | + Internal reference voltage selection in microvolts. + + If no internal reference is specified, the channel will default to the + external reference defined by vrefin-supply (or vref-supply). + vrefin-supply will take precedence over vref-supply if both are defined. + + If no supplies are defined, the reference selection will default to + 4096mV internal reference. + + enum: [2500000, 4096000] + default: 4096000 + + required: + - reg + + additionalProperties: false additionalProperties: false @@ -49,9 +93,26 @@ examples: #size-cells = <0>; adc@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "adi,ad7949"; reg = <0>; - vref-supply = <&vdd_supply>; + vrefin-supply = <&vdd_supply>; + + channel@0 { + adi,internal-ref-microvolt = <4096000>; + reg = <0>; + }; + + channel@1 { + adi,internal-ref-microvolt = <2500000>; + reg = <1>; + }; + + channel@2 { + reg = <2>; + }; }; }; ...