Message ID | 20231105193132.47009-3-alisadariana@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: adc: ad7192: Add support for AD7194 | expand |
On 05/11/2023 20:31, alisadariana@gmail.com wrote: > From: Alisa-Dariana Roman <alisa.roman@analog.com> > > Unlike the other AD719Xs, AD7194 has configurable differential > channels. The default configuration for these channels can be changed > from the devicetree. > > Also add an example for AD7194 devicetree. > > Signed-off-by: Alisa-Dariana Roman <alisa.roman@analog.com> > --- > .../bindings/iio/adc/adi,ad7192.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml > index 16def2985ab4..b9a9f7b20670 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 > > @@ -96,6 +103,31 @@ required: > - spi-cpol > - spi-cpha > > +patternProperties: > + "^channel@([0-9a-f])$": > + type: object > + $ref: adc.yaml > + unevaluatedProperties: false > + > + properties: > + reg: > + description: The channel index. > + minimum: 0 > + maximum: 7 Your pattern a bit above is not correct then: [0-7] > + > + diff-channels: > + description: | > + The differential channel pair for Ad7194 configurable channels. The > + first channel is the positive input, the second channel is the > + negative input. > + items: > + minimum: 1 > + maximum: 16 > + > + required: > + - reg > + - diff-channels > + > allOf: > - $ref: /schemas/spi/spi-peripheral-props.yaml# > > @@ -127,3 +159,40 @@ 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>; > + spi-max-frequency = <1000000>; > + spi-cpol; > + spi-cpha; > + clocks = <&ad7192_mclk>; > + clock-names = "mclk"; > + interrupts = <25 0x2>; > + interrupt-parent = <&gpio>; > + dvdd-supply = <&dvdd>; > + avdd-supply = <&avdd>; > + vref-supply = <&vref>; > + > + adi,refin2-pins-enable; > + adi,rejection-60-Hz-enable; > + adi,buffer-enable; > + adi,burnout-currents-enable; > + > + channel@0 { Why cannot you add this to the existing example? Best regards, Krzysztof
On 06.11.2023 10:56, Krzysztof Kozlowski wrote: > On 05/11/2023 20:31, alisadariana@gmail.com wrote: >> From: Alisa-Dariana Roman <alisa.roman@analog.com> >> >> Unlike the other AD719Xs, AD7194 has configurable differential >> channels. The default configuration for these channels can be changed >> from the devicetree. >> >> Also add an example for AD7194 devicetree. >> >> Signed-off-by: Alisa-Dariana Roman <alisa.roman@analog.com> >> --- >> .../bindings/iio/adc/adi,ad7192.yaml | 69 +++++++++++++++++++ >> 1 file changed, 69 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml >> index 16def2985ab4..b9a9f7b20670 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 >> >> @@ -96,6 +103,31 @@ required: >> - spi-cpol >> - spi-cpha >> >> +patternProperties: >> + "^channel@([0-9a-f])$": >> + type: object >> + $ref: adc.yaml >> + unevaluatedProperties: false >> + >> + properties: >> + reg: >> + description: The channel index. >> + minimum: 0 >> + maximum: 7 > > Your pattern a bit above is not correct then: [0-7] > >> + >> + diff-channels: >> + description: | >> + The differential channel pair for Ad7194 configurable channels. The >> + first channel is the positive input, the second channel is the >> + negative input. >> + items: >> + minimum: 1 >> + maximum: 16 >> + >> + required: >> + - reg >> + - diff-channels >> + >> allOf: >> - $ref: /schemas/spi/spi-peripheral-props.yaml# >> >> @@ -127,3 +159,40 @@ 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>; >> + spi-max-frequency = <1000000>; >> + spi-cpol; >> + spi-cpha; >> + clocks = <&ad7192_mclk>; >> + clock-names = "mclk"; >> + interrupts = <25 0x2>; >> + interrupt-parent = <&gpio>; >> + dvdd-supply = <&dvdd>; >> + avdd-supply = <&avdd>; >> + vref-supply = <&vref>; >> + >> + adi,refin2-pins-enable; >> + adi,rejection-60-Hz-enable; >> + adi,buffer-enable; >> + adi,burnout-currents-enable; >> + >> + channel@0 { > > Why cannot you add this to the existing example? > > > > Best regards, > Krzysztof > I added another example to highlight the fact that only AD7194 supports configurable channels. How should I proceed? Kind regards, Alisa-Dariana Roman
On 14/11/2023 17:02, Alisa-Dariana Roman wrote: > On 06.11.2023 10:56, Krzysztof Kozlowski wrote: >> On 05/11/2023 20:31, alisadariana@gmail.com wrote: >>> From: Alisa-Dariana Roman <alisa.roman@analog.com> >>> >>> Unlike the other AD719Xs, AD7194 has configurable differential >>> channels. The default configuration for these channels can be changed >>> from the devicetree. >>> >>> Also add an example for AD7194 devicetree. >>> >>> Signed-off-by: Alisa-Dariana Roman <alisa.roman@analog.com> >>> --- >>> .../bindings/iio/adc/adi,ad7192.yaml | 69 +++++++++++++++++++ >>> 1 file changed, 69 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml >>> index 16def2985ab4..b9a9f7b20670 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 >>> >>> @@ -96,6 +103,31 @@ required: >>> - spi-cpol >>> - spi-cpha >>> >>> +patternProperties: >>> + "^channel@([0-9a-f])$": >>> + type: object >>> + $ref: adc.yaml >>> + unevaluatedProperties: false >>> + >>> + properties: >>> + reg: >>> + description: The channel index. >>> + minimum: 0 >>> + maximum: 7 >> >> Your pattern a bit above is not correct then: [0-7] >> >>> + >>> + diff-channels: >>> + description: | >>> + The differential channel pair for Ad7194 configurable channels. The >>> + first channel is the positive input, the second channel is the >>> + negative input. >>> + items: >>> + minimum: 1 >>> + maximum: 16 >>> + >>> + required: >>> + - reg >>> + - diff-channels >>> + >>> allOf: >>> - $ref: /schemas/spi/spi-peripheral-props.yaml# >>> >>> @@ -127,3 +159,40 @@ 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>; >>> + spi-max-frequency = <1000000>; >>> + spi-cpol; >>> + spi-cpha; >>> + clocks = <&ad7192_mclk>; >>> + clock-names = "mclk"; >>> + interrupts = <25 0x2>; >>> + interrupt-parent = <&gpio>; >>> + dvdd-supply = <&dvdd>; >>> + avdd-supply = <&avdd>; >>> + vref-supply = <&vref>; >>> + >>> + adi,refin2-pins-enable; >>> + adi,rejection-60-Hz-enable; >>> + adi,buffer-enable; >>> + adi,burnout-currents-enable; >>> + >>> + channel@0 { >> >> Why cannot you add this to the existing example? >> >> >> >> Best regards, >> Krzysztof >> > I added another example to highlight the fact that only AD7194 supports > configurable channels. How should I proceed? Bindings did not tell that, so it seems you miss that part - allOf constraining channels per variant. Best regards, Krzysztof
On 14.11.2023 19:39, Krzysztof Kozlowski wrote: > On 14/11/2023 17:02, Alisa-Dariana Roman wrote: >> On 06.11.2023 10:56, Krzysztof Kozlowski wrote: >>> On 05/11/2023 20:31, alisadariana@gmail.com wrote: >>>> From: Alisa-Dariana Roman <alisa.roman@analog.com> >>>> >>>> Unlike the other AD719Xs, AD7194 has configurable differential >>>> channels. The default configuration for these channels can be changed >>>> from the devicetree. >>>> >>>> Also add an example for AD7194 devicetree. >>>> >>>> Signed-off-by: Alisa-Dariana Roman <alisa.roman@analog.com> >>>> --- >>>> .../bindings/iio/adc/adi,ad7192.yaml | 69 +++++++++++++++++++ >>>> 1 file changed, 69 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml >>>> index 16def2985ab4..b9a9f7b20670 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 >>>> >>>> @@ -96,6 +103,31 @@ required: >>>> - spi-cpol >>>> - spi-cpha >>>> >>>> +patternProperties: >>>> + "^channel@([0-9a-f])$": >>>> + type: object >>>> + $ref: adc.yaml >>>> + unevaluatedProperties: false >>>> + >>>> + properties: >>>> + reg: >>>> + description: The channel index. >>>> + minimum: 0 >>>> + maximum: 7 >>> >>> Your pattern a bit above is not correct then: [0-7] >>> >>>> + >>>> + diff-channels: >>>> + description: | >>>> + The differential channel pair for Ad7194 configurable channels. The >>>> + first channel is the positive input, the second channel is the >>>> + negative input. >>>> + items: >>>> + minimum: 1 >>>> + maximum: 16 >>>> + >>>> + required: >>>> + - reg >>>> + - diff-channels >>>> + >>>> allOf: >>>> - $ref: /schemas/spi/spi-peripheral-props.yaml# >>>> >>>> @@ -127,3 +159,40 @@ 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>; >>>> + spi-max-frequency = <1000000>; >>>> + spi-cpol; >>>> + spi-cpha; >>>> + clocks = <&ad7192_mclk>; >>>> + clock-names = "mclk"; >>>> + interrupts = <25 0x2>; >>>> + interrupt-parent = <&gpio>; >>>> + dvdd-supply = <&dvdd>; >>>> + avdd-supply = <&avdd>; >>>> + vref-supply = <&vref>; >>>> + >>>> + adi,refin2-pins-enable; >>>> + adi,rejection-60-Hz-enable; >>>> + adi,buffer-enable; >>>> + adi,burnout-currents-enable; >>>> + >>>> + channel@0 { >>> >>> Why cannot you add this to the existing example? >>> >>> >>> >>> Best regards, >>> Krzysztof >>> >> I added another example to highlight the fact that only AD7194 supports >> configurable channels. How should I proceed? > > Bindings did not tell that, so it seems you miss that part - allOf > constraining channels per variant. > > Best regards, > Krzysztof > And should I remove the AD7194 example? Kind regards, Alisa-Dariana Roman
On 14/11/2023 19:27, Alisa-Dariana Roman wrote: >>>> >>>> Best regards, >>>> Krzysztof >>>> >>> I added another example to highlight the fact that only AD7194 supports >>> configurable channels. How should I proceed? >> >> Bindings did not tell that, so it seems you miss that part - allOf >> constraining channels per variant. >> >> Best regards, >> Krzysztof >> > And should I remove the AD7194 example? You can add new example in such case (and keep old). Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7192.yaml index 16def2985ab4..b9a9f7b20670 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 @@ -96,6 +103,31 @@ required: - spi-cpol - spi-cpha +patternProperties: + "^channel@([0-9a-f])$": + type: object + $ref: adc.yaml + unevaluatedProperties: false + + properties: + reg: + description: The channel index. + minimum: 0 + maximum: 7 + + diff-channels: + description: | + The differential channel pair for Ad7194 configurable channels. The + first channel is the positive input, the second channel is the + negative input. + items: + minimum: 1 + maximum: 16 + + required: + - reg + - diff-channels + allOf: - $ref: /schemas/spi/spi-peripheral-props.yaml# @@ -127,3 +159,40 @@ 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>; + spi-max-frequency = <1000000>; + spi-cpol; + spi-cpha; + clocks = <&ad7192_mclk>; + clock-names = "mclk"; + interrupts = <25 0x2>; + interrupt-parent = <&gpio>; + dvdd-supply = <&dvdd>; + avdd-supply = <&avdd>; + vref-supply = <&vref>; + + adi,refin2-pins-enable; + adi,rejection-60-Hz-enable; + adi,buffer-enable; + adi,burnout-currents-enable; + + channel@0 { + reg = <0>; + diff-channels = <1 6>; + }; + + channel@1 { + reg = <1>; + diff-channels = <2 3>; + }; + }; + };