Commit caf7b763 authored by Alisa-Dariana Roman's avatar Alisa-Dariana Roman Committed by Jonathan Cameron
Browse files

dt-bindings: iio: adc: ad7192: Add AD7194 support



Unlike the other AD719Xs, AD7194 has configurable channels. The user can
dynamically configure them in the devicetree.

Also add an example for AD7194 devicetree.

Signed-off-by: default avatarAlisa-Dariana Roman <alisa.roman@analog.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240514120222.56488-6-alisa.roman@analog.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent dd471a2b
Loading
Loading
Loading
Loading
+89 −0
Original line number Diff line number Diff line
@@ -21,8 +21,15 @@ properties:
      - adi,ad7190
      - adi,ad7192
      - adi,ad7193
      - adi,ad7194
      - adi,ad7195

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  reg:
    maxItems: 1

@@ -89,6 +96,42 @@ properties:
    description: see Documentation/devicetree/bindings/iio/adc/adc.yaml
    type: boolean

patternProperties:
  "^channel@[0-9a-f]+$":
    type: object
    $ref: adc.yaml
    unevaluatedProperties: false

    properties:
      reg:
        description: The channel index.
        minimum: 0
        maximum: 271

      diff-channels:
        description:
          Both inputs can be connected to pins AIN1 to AIN16 by choosing the
          appropriate value from 1 to 16.
        items:
          minimum: 1
          maximum: 16

      single-channel:
        description:
          Positive input can be connected to pins AIN1 to AIN16 by choosing the
          appropriate value from 1 to 16. Negative input is connected to AINCOM.
        items:
          minimum: 1
          maximum: 16

    oneOf:
      - required:
          - reg
          - diff-channels
      - required:
          - reg
          - single-channel

required:
  - compatible
  - reg
@@ -103,6 +146,17 @@ required:

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#
  - if:
      properties:
        compatible:
          enum:
            - adi,ad7190
            - adi,ad7192
            - adi,ad7193
            - adi,ad7195
    then:
      patternProperties:
        "^channel@[0-9a-f]+$": false

unevaluatedProperties: false

@@ -133,3 +187,38 @@ examples:
            adi,burnout-currents-enable;
        };
    };
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        adc@0 {
            compatible = "adi,ad7194";
            reg = <0>;

            #address-cells = <1>;
            #size-cells = <0>;

            spi-max-frequency = <1000000>;
            spi-cpol;
            spi-cpha;
            clocks = <&ad7192_mclk>;
            clock-names = "mclk";
            interrupts = <25 0x2>;
            interrupt-parent = <&gpio>;
            aincom-supply = <&aincom>;
            dvdd-supply = <&dvdd>;
            avdd-supply = <&avdd>;
            vref-supply = <&vref>;

            channel@0 {
                reg = <0>;
                diff-channels = <1 6>;
            };

            channel@1 {
                reg = <1>;
                single-channel = <1>;
            };
        };
    };