[v2,1/2] dt-bindings: adc: ad7173: add support for additional models
Commit Message
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@gmail.com>
---
.../bindings/iio/adc/adi,ad7173.yaml | 39 +++++++++++++++++--
1 file changed, 36 insertions(+), 3 deletions(-)
Comments
On 28/02/2024 14:54, Dumitru Ceclan 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@gmail.com>
> ---
> .../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
There is no such file in next-20240229.
> @@ -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:
That's enum... or you want to make something more complicated because I
see there not:...
> + - const: adi,ad7172-4
> + - const: adi,ad7173-8
> 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
Are you defining properties here? I cannot verify because this file does
not exist in next.
> + oneOf:
> + - required: [vref2-supply]
> + - required: [vref-supply]
Best regards,
Krzysztof
On 29/02/2024 16:49, Krzysztof Kozlowski wrote:
> On 28/02/2024 14:54, Dumitru Ceclan wrote:
>> Add support for: AD7172-2, AD7175-8, AD7177-2.
>> AD7172-4 does not feature an internal reference, check for external
>> reference presence.
..
>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>
> There is no such file in next-20240229.
>
It's not yet accepted
https://lore.kernel.org/all/20240228110622.25114-1-mitrutzceclan@gmail.com/
..
>> + # 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
>
> Are you defining properties here? I cannot verify because this file does
> not exist in next.
>
No, just constraining reference-select to be required and exclude
"refout-avss".
>
>
> Best regards,
> Krzysztof
>
On 29/02/2024 16:08, Ceclan, Dumitru wrote:
> On 29/02/2024 16:49, Krzysztof Kozlowski wrote:
>> On 28/02/2024 14:54, Dumitru Ceclan wrote:
>>> Add support for: AD7172-2, AD7175-8, AD7177-2.
>>> AD7172-4 does not feature an internal reference, check for external
>>> reference presence.
>
> ...
>
>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>>
>> There is no such file in next-20240229.
>>
>
> It's not yet accepted
> https://lore.kernel.org/all/20240228110622.25114-1-mitrutzceclan@gmail.com/
And how can we know this? You must clearly document dependencies.
This also means the patch cannot be directly applied and cannot be
tested by toolset.
Did you test this particular patch?
>
> ...
>
>>> + # 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
>>
>> Are you defining properties here? I cannot verify because this file does
>> not exist in next.
>>
>
> No, just constraining reference-select to be required and exclude
> "refout-avss".
>
ok
Best regards,
Krzysztof
On 29/02/2024 18:00, Krzysztof Kozlowski wrote:
> On 29/02/2024 16:08, Ceclan, Dumitru wrote:
>> On 29/02/2024 16:49, Krzysztof Kozlowski wrote:
>>> On 28/02/2024 14:54, Dumitru Ceclan wrote:
>>>> Add support for: AD7172-2, AD7175-8, AD7177-2.
>>>> AD7172-4 does not feature an internal reference, check for external
>>>> reference presence.
>>
>> ...
>>
>>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
>>>
>>> There is no such file in next-20240229.
>>>
>>
>> It's not yet accepted
>> https://lore.kernel.org/all/20240228110622.25114-1-mitrutzceclan@gmail.com/
>
> And how can we know this? You must clearly document dependencies.
>
> This also means the patch cannot be directly applied and cannot be
> tested by toolset.
Understood, sorry.
>
> Did you test this particular patch?
>
Yes
@@ -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
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]
+
- if:
anyOf:
- required: [clock-names]