On Wed, Feb 28, 2024 at 7:55 AM Dumitru Ceclan <mitrutzceclan@xxxxxxxxx> wrote: > > Add support for: AD7172-2, AD7175-8, AD7177-2. > AD7172-4 does not feature an internal reference, check for external > reference presence. > > Signed-off-by: Dumitru Ceclan <mitrutzceclan@xxxxxxxxx> > --- > .../bindings/iio/adc/adi,ad7173.yaml | 39 +++++++++++++++++-- > 1 file changed, 36 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > index 36f16a325bc5..7b5bb839fc3e 100644 > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml > @@ -21,17 +21,23 @@ description: | > > Datasheets for supported chips: > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-4.pdf > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-8.pdf > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD7177-2.pdf > > properties: > compatible: > enum: > - adi,ad7172-2 > + - adi,ad7172-4 > - adi,ad7173-8 > - adi,ad7175-2 > + - adi,ad7175-8 > - adi,ad7176-2 > + - adi,ad7177-2 > > reg: > maxItems: 1 > @@ -136,8 +142,10 @@ patternProperties: > refout-avss: REFOUT/AVSS (Internal reference) > avdd : AVDD /AVSS > > - External reference ref2 only available on ad7173-8. > - If not specified, internal reference used. > + External reference ref2 only available on ad7173-8 and ad7172-4. > + Internal reference refout-avss not available on ad7172-4. > + > + If not specified, internal reference used (if available). > $ref: /schemas/types.yaml#/definitions/string > enum: > - vref > @@ -157,12 +165,15 @@ required: > allOf: > - $ref: /schemas/spi/spi-peripheral-props.yaml# > > + # Only ad7172-4 and ad7173-8 support vref2 > - if: > properties: > compatible: > not: > contains: > - const: adi,ad7173-8 > + anyOf: > + - const: adi,ad7172-4 > + - const: adi,ad7173-8 According to the datasheets, it looks like adi,ad7175-8 should be included here too. > then: > properties: > vref2-supply: false > @@ -177,6 +188,28 @@ allOf: > reg: > maximum: 3 > > + # Model ad7172-4 does not support internal reference > + # mandatory to have an external reference > + - if: > + properties: > + compatible: > + contains: > + const: adi,ad7172-4 > + then: > + patternProperties: > + "^channel@[0-9a-f]$": > + properties: > + adi,reference-select: > + enum: > + - vref > + - vref2 > + - avdd > + required: > + - adi,reference-select > + oneOf: > + - required: [vref2-supply] > + - required: [vref-supply] Do these actually need to be required since avdd is also a possibility? > + > - if: > anyOf: > - required: [clock-names] > -- > 2.43.0 >