[PATCH 1/2] dt-bindings: adc: ad7173: add support for additional models

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add support for: AD7172-2, AD7175-8, AD7177-2
Add hardware description of the AD771X family instead of "Bindings for"
AD7172-4 does not feature an internal reference, check for ext-ref

Signed-off-by: Dumitru Ceclan <mitrutzceclan@xxxxxxxxx>
---
 .../bindings/iio/adc/adi,ad7173.yaml          | 50 +++++++++++++++++--
 1 file changed, 46 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
index 7c8caef76528..6d4b26e43144 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
@@ -11,19 +11,33 @@ maintainers:
   - Ceclan Dumitru <dumitru.ceclan@xxxxxxxxxx>
 
 description: |
-  Bindings for the Analog Devices AD717X ADC's. Datasheets for supported chips:
+  Analog Devices AD717X ADC's:
+  The AD717x family offer a complete integrated Sigma-Delta ADC solution which
+  can be used in high precision, low noise single channel applications
+  (Life Science measurements) or higher speed multiplexed applications
+  (Factory Automation PLC Input modules). The Sigma-Delta ADC is intended
+  primarily for measurement of signals close to DC but also delivers outstanding
+  performance with input bandwidths out to ~10kHz.
+
+  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
@@ -89,8 +103,10 @@ patternProperties:
           refout-avss: REFOUT/AVSS (Internal reference)
           avdd       : AVDD
 
-          External reference refin2 only available on ad7173-8.
-          If not specified, internal reference used.
+          External reference refin2 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:
           - refin
@@ -111,12 +127,15 @@ required:
 allOf:
   - $ref: /schemas/spi/spi-peripheral-props.yaml#
 
+  # Only ad7172-4 and ad7173-8 support refin2
   - if:
       properties:
         compatible:
           not:
             contains:
-              const: adi,ad7173-8
+              anyOf:
+                - const: adi,ad7172-4
+                - const: adi,ad7173-8
     then:
       properties:
         refin2-supply: false
@@ -129,6 +148,29 @@ allOf:
                 - refout-avss
                 - avdd
 
+  # 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:
+                - refin
+                - refin2
+                - avdd
+              default: false
+          required:
+            - adi,reference-select
+      oneOf:
+        - required: [refin2-supply]
+        - required: [refin-supply]
+
 unevaluatedProperties: false
 
 examples:
-- 
2.42.0





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux