xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/adi,ad7768-1.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Analog Devices AD7768-1 ADC device driver
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Michael Hennerich <michael.hennerich@analog.com>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotdescription: |
136be33864SEmmanuel Vadot  Datasheet at:
146be33864SEmmanuel Vadot    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf
156be33864SEmmanuel Vadot
166be33864SEmmanuel Vadotproperties:
176be33864SEmmanuel Vadot  compatible:
186be33864SEmmanuel Vadot    const: adi,ad7768-1
196be33864SEmmanuel Vadot
206be33864SEmmanuel Vadot  reg:
216be33864SEmmanuel Vadot    maxItems: 1
226be33864SEmmanuel Vadot
236be33864SEmmanuel Vadot  clocks:
246be33864SEmmanuel Vadot    maxItems: 1
256be33864SEmmanuel Vadot
266be33864SEmmanuel Vadot  clock-names:
276be33864SEmmanuel Vadot    const: mclk
286be33864SEmmanuel Vadot
296be33864SEmmanuel Vadot  interrupts:
306be33864SEmmanuel Vadot    maxItems: 1
316be33864SEmmanuel Vadot
32*5def4c47SEmmanuel Vadot  '#address-cells':
33*5def4c47SEmmanuel Vadot    const: 1
34*5def4c47SEmmanuel Vadot
35*5def4c47SEmmanuel Vadot  '#size-cells':
36*5def4c47SEmmanuel Vadot    const: 0
37*5def4c47SEmmanuel Vadot
386be33864SEmmanuel Vadot  vref-supply:
396be33864SEmmanuel Vadot    description:
406be33864SEmmanuel Vadot      ADC reference voltage supply
416be33864SEmmanuel Vadot
426be33864SEmmanuel Vadot  adi,sync-in-gpios:
43*5def4c47SEmmanuel Vadot    maxItems: 1
446be33864SEmmanuel Vadot    description:
456be33864SEmmanuel Vadot      Enables synchronization of multiple devices that require simultaneous
466be33864SEmmanuel Vadot      sampling. A pulse is always required if the configuration is changed
476be33864SEmmanuel Vadot      in any way, for example if the filter decimation rate changes.
486be33864SEmmanuel Vadot      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
496be33864SEmmanuel Vadot
506be33864SEmmanuel Vadot  reset-gpios:
516be33864SEmmanuel Vadot    maxItems: 1
526be33864SEmmanuel Vadot
536be33864SEmmanuel Vadot  spi-max-frequency: true
546be33864SEmmanuel Vadot
556be33864SEmmanuel Vadot  spi-cpol: true
566be33864SEmmanuel Vadot
576be33864SEmmanuel Vadot  spi-cpha: true
586be33864SEmmanuel Vadot
596be33864SEmmanuel Vadot  "#io-channel-cells":
606be33864SEmmanuel Vadot    const: 1
616be33864SEmmanuel Vadot
626be33864SEmmanuel Vadotrequired:
636be33864SEmmanuel Vadot  - compatible
646be33864SEmmanuel Vadot  - reg
656be33864SEmmanuel Vadot  - clocks
666be33864SEmmanuel Vadot  - clock-names
676be33864SEmmanuel Vadot  - vref-supply
686be33864SEmmanuel Vadot  - spi-cpol
696be33864SEmmanuel Vadot  - spi-cpha
706be33864SEmmanuel Vadot  - adi,sync-in-gpios
716be33864SEmmanuel Vadot
72*5def4c47SEmmanuel VadotpatternProperties:
73*5def4c47SEmmanuel Vadot  "^channel@([0-9]|1[0-5])$":
74*5def4c47SEmmanuel Vadot    type: object
75*5def4c47SEmmanuel Vadot    description: |
76*5def4c47SEmmanuel Vadot      Represents the external channels which are connected to the device.
77*5def4c47SEmmanuel Vadot
78*5def4c47SEmmanuel Vadot    properties:
79*5def4c47SEmmanuel Vadot      reg:
80*5def4c47SEmmanuel Vadot        maxItems: 1
81*5def4c47SEmmanuel Vadot        description: |
82*5def4c47SEmmanuel Vadot          The channel number.
83*5def4c47SEmmanuel Vadot
84*5def4c47SEmmanuel Vadot      label:
85*5def4c47SEmmanuel Vadot        description: |
86*5def4c47SEmmanuel Vadot          Unique name to identify which channel this is.
87*5def4c47SEmmanuel Vadot    required:
88*5def4c47SEmmanuel Vadot      - reg
89*5def4c47SEmmanuel Vadot    additionalProperties: false
90*5def4c47SEmmanuel Vadot
916be33864SEmmanuel VadotadditionalProperties: false
926be33864SEmmanuel Vadot
936be33864SEmmanuel Vadotexamples:
946be33864SEmmanuel Vadot  - |
956be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
966be33864SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
976be33864SEmmanuel Vadot    spi {
986be33864SEmmanuel Vadot        #address-cells = <1>;
996be33864SEmmanuel Vadot        #size-cells = <0>;
1006be33864SEmmanuel Vadot
1016be33864SEmmanuel Vadot        adc@0 {
1026be33864SEmmanuel Vadot            compatible = "adi,ad7768-1";
1036be33864SEmmanuel Vadot            reg = <0>;
1046be33864SEmmanuel Vadot            spi-max-frequency = <2000000>;
1056be33864SEmmanuel Vadot            spi-cpol;
1066be33864SEmmanuel Vadot            spi-cpha;
1076be33864SEmmanuel Vadot            vref-supply = <&adc_vref>;
1086be33864SEmmanuel Vadot            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
1096be33864SEmmanuel Vadot            interrupt-parent = <&gpio>;
1106be33864SEmmanuel Vadot            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
1116be33864SEmmanuel Vadot            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
1126be33864SEmmanuel Vadot            clocks = <&ad7768_mclk>;
1136be33864SEmmanuel Vadot            clock-names = "mclk";
114*5def4c47SEmmanuel Vadot
115*5def4c47SEmmanuel Vadot            #address-cells = <1>;
116*5def4c47SEmmanuel Vadot            #size-cells = <0>;
117*5def4c47SEmmanuel Vadot
118*5def4c47SEmmanuel Vadot            channel@0 {
119*5def4c47SEmmanuel Vadot                reg = <0>;
120*5def4c47SEmmanuel Vadot                label = "channel_0";
121*5def4c47SEmmanuel Vadot            };
1226be33864SEmmanuel Vadot        };
1236be33864SEmmanuel Vadot    };
1246be33864SEmmanuel Vadot...
125