Re: [PATCH v4 4/5] dt-bindings: iio: adc: ad7949: add per channel reference

Jonathan Cameron
2021-07-31T15:00:09Z

On Tue, 27 Jul 2021 19:29:05 -0400
Liam Beguin <liambeguin@gmail.com> wrote:

> From: Liam Beguin <lvb@xiphos.com>
>
> Add bindings documentation describing per channel reference voltage
> selection.
> This adds the adi,internal-ref-microvolt 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@xiphos.com>

I'm fine with this, but as it's a bit unusual, definitely want to give a
little more time for Rob and others to take a look.

Jonathan
> ---
> .../bindings/iio/adc/adi,ad7949.yaml | 69 +++++++++++++++++--
> 1 file changed, 65 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..893f72b8081e 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml
> @@ -26,19 +26,63 @@ 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
> +
> 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-microvolt:
> + description: |
> + Internal reference voltage selection in microvolts.
> +
> + 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.
> +
> + enum: [2500000, 4096000]
> + default: 4096000
> +
> + required:
> + - reg
> +
> + additionalProperties: false
>
> additionalProperties: false
>
> @@ -49,9 +93,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-microvolt = <4096000>;
> + reg = <0>;
> + };
> +
> + channel@1 {
> + adi,internal-ref-microvolt = <2500000>;
> + reg = <1>;
> + };
> +
> + channel@2 {
> + reg = <2>;
> + };
> };
> };
> ...