Re: [PATCH v3 4/4] dt-bindings: iio: adc: ad7949: add per channel reference
From: Rob Herring
Date: Thu Jul 15 2021 - 12:33:57 EST
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
>
>