On Tue, Jul 13, 2021 at 12:34:25AM -0400, Liam Beguin wrote: > From: Liam Beguin <lvb@xxxxxxxxxx> > > Add bindings documentation describing per channel reference voltage > selection. > This adds the adi,internal-ref-mv 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@xxxxxxxxxx> > --- > .../bindings/iio/adc/adi,ad7949.yaml | 71 +++++++++++++++++-- > 1 file changed, 67 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..18abba3b0b4d 100644 > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml > @@ -26,19 +26,65 @@ 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 > + > + extra blank line. > 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-mv: Use standard unit suffix name. Then you can drop the type $ref. > + description: | > + Internal reference voltage selection in millivolts. > + > + 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. > + > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [2500, 4096] > + default: 4096 > + > + required: > + - reg > + > + additionalProperties: false > > additionalProperties: false > > @@ -49,9 +95,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-mv = <4096>; > + reg = <0>; > + }; > + > + channel@1 { > + adi,internal-ref-mv = <2500>; > + reg = <1>; > + }; > + > + channel@2 { > + reg = <2>; > + }; > }; > }; > ... > -- > 2.30.1.489.g328c10930387 > >