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

From: Liam Beguin
Date: Tue Jul 13 2021 - 00:35:05 EST


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
+
+
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:
+ 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