On 13/04/2024 17:11, Alisa-Dariana Roman wrote: > Unlike the other AD719Xs, AD7194 has configurable differential > channels. The user can dynamically configure them in the devicetree. > > Also add an example for AD7194 devicetree. > > Signed-off-by: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx> > --- > .../bindings/iio/adc/adi,ad7192.yaml | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml > index ba506af3b73e..855f0a2d7d75 100644 > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml > @@ -21,8 +21,15 @@ properties: > - adi,ad7190 > - adi,ad7192 > - adi,ad7193 > + - adi,ad7194 > - adi,ad7195 > > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > reg: > maxItems: 1 > > @@ -104,8 +111,43 @@ required: > - spi-cpol > - spi-cpha > > +patternProperties: This goes after properties:, so before required: block. > + "^channel@[0-9]+$": Why restricting the pattern? If you have 256 channels, how are you going to encode it? > + type: object > + $ref: adc.yaml > + unevaluatedProperties: false > + > + properties: > + reg: > + description: The channel index. > + minimum: 1 > + maximum: 256 > + > + diff-channels: > + description: | > + Both inputs can be connected to pins AIN1 to AIN16 by choosing the > + appropriate value from 1 to 16. > + items: > + minimum: 1 > + maximum: 16 > + > + required: > + - reg > + - diff-channels > + > allOf: > - $ref: /schemas/spi/spi-peripheral-props.yaml# > + - if: > + properties: > + compatible: > + enum: > + - adi,ad7190 > + - adi,ad7192 > + - adi,ad7193 > + - adi,ad7195 > + then: > + patternProperties: > + "^channel@[0-9]+$": false > > unevaluatedProperties: false > > @@ -136,3 +178,35 @@ examples: > adi,burnout-currents-enable; > }; > }; > + - | > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + adc@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "adi,ad7194"; > + reg = <0>; compatible is always the first property. reg is second. Best regards, Krzysztof