xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/adi,ad7779.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5f62a964SEmmanuel Vadot%YAML 1.2
3*5f62a964SEmmanuel Vadot---
4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Ramona Nechita <ramona.nechita@analog.com>
11*5f62a964SEmmanuel Vadot
12*5f62a964SEmmanuel Vadotdescription: |
13*5f62a964SEmmanuel Vadot  The AD777X family consist of 8-channel, simultaneous sampling analog-to-
14*5f62a964SEmmanuel Vadot  digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
15*5f62a964SEmmanuel Vadot  AD7771 provides an ultralow input current to allow direct sensor
16*5f62a964SEmmanuel Vadot  connection. Each input channel has a programmable gain stage
17*5f62a964SEmmanuel Vadot  allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
18*5f62a964SEmmanuel Vadot  outputs into the full-scale ADC input range, maximizing the
19*5f62a964SEmmanuel Vadot  dynamic range of the signal chain.
20*5f62a964SEmmanuel Vadot
21*5f62a964SEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
22*5f62a964SEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
23*5f62a964SEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
24*5f62a964SEmmanuel Vadot
25*5f62a964SEmmanuel Vadot$ref: /schemas/spi/spi-peripheral-props.yaml#
26*5f62a964SEmmanuel Vadot
27*5f62a964SEmmanuel Vadotproperties:
28*5f62a964SEmmanuel Vadot  compatible:
29*5f62a964SEmmanuel Vadot    enum:
30*5f62a964SEmmanuel Vadot      - adi,ad7770
31*5f62a964SEmmanuel Vadot      - adi,ad7771
32*5f62a964SEmmanuel Vadot      - adi,ad7779
33*5f62a964SEmmanuel Vadot
34*5f62a964SEmmanuel Vadot  reg:
35*5f62a964SEmmanuel Vadot    maxItems: 1
36*5f62a964SEmmanuel Vadot
37*5f62a964SEmmanuel Vadot  '#address-cells':
38*5f62a964SEmmanuel Vadot    const: 1
39*5f62a964SEmmanuel Vadot
40*5f62a964SEmmanuel Vadot  '#size-cells':
41*5f62a964SEmmanuel Vadot    const: 0
42*5f62a964SEmmanuel Vadot
43*5f62a964SEmmanuel Vadot  clocks:
44*5f62a964SEmmanuel Vadot    maxItems: 1
45*5f62a964SEmmanuel Vadot
46*5f62a964SEmmanuel Vadot  avdd1-supply:
47*5f62a964SEmmanuel Vadot    description: Front-End analog supply AVDD1. Can be used as conversion ref.
48*5f62a964SEmmanuel Vadot
49*5f62a964SEmmanuel Vadot  avdd2-supply:
50*5f62a964SEmmanuel Vadot    description: AVDD2 Analog Supply from 2.2 V to 3.6 V.
51*5f62a964SEmmanuel Vadot
52*5f62a964SEmmanuel Vadot  avdd4-supply:
53*5f62a964SEmmanuel Vadot    description: AVDD4 SAR Analog Supply and Reference Source.
54*5f62a964SEmmanuel Vadot
55*5f62a964SEmmanuel Vadot  interrupts:
56*5f62a964SEmmanuel Vadot    minItems: 1
57*5f62a964SEmmanuel Vadot    items:
58*5f62a964SEmmanuel Vadot      - description: |
59*5f62a964SEmmanuel Vadot          adc_rdy: Interrupt line for DRDY signal which indicates the end of
60*5f62a964SEmmanuel Vadot          conversion independently of the interface selected to read back the
61*5f62a964SEmmanuel Vadot          Σ-conversion.
62*5f62a964SEmmanuel Vadot      - description: |
63*5f62a964SEmmanuel Vadot          Alert: The chip includes self diagnostic features to guarantee the
64*5f62a964SEmmanuel Vadot          correct operation. If an error is detected, the ALERT pin is pulled
65*5f62a964SEmmanuel Vadot          high to generate an external interruption to the controller.
66*5f62a964SEmmanuel Vadot
67*5f62a964SEmmanuel Vadot  interrupt-names:
68*5f62a964SEmmanuel Vadot    minItems: 1
69*5f62a964SEmmanuel Vadot    maxItems: 2
70*5f62a964SEmmanuel Vadot    items:
71*5f62a964SEmmanuel Vadot      enum:
72*5f62a964SEmmanuel Vadot        - adc_rdy
73*5f62a964SEmmanuel Vadot        - alert
74*5f62a964SEmmanuel Vadot
75*5f62a964SEmmanuel Vadot  start-gpios:
76*5f62a964SEmmanuel Vadot    description:
77*5f62a964SEmmanuel Vadot      Pin that controls start synchronization pulse.
78*5f62a964SEmmanuel Vadot    maxItems: 1
79*5f62a964SEmmanuel Vadot
80*5f62a964SEmmanuel Vadot  reset-gpios:
81*5f62a964SEmmanuel Vadot    maxItems: 1
82*5f62a964SEmmanuel Vadot
83*5f62a964SEmmanuel Vadotrequired:
84*5f62a964SEmmanuel Vadot  - compatible
85*5f62a964SEmmanuel Vadot  - reg
86*5f62a964SEmmanuel Vadot  - clocks
87*5f62a964SEmmanuel Vadot  - interrupts
88*5f62a964SEmmanuel Vadot
89*5f62a964SEmmanuel VadotunevaluatedProperties: false
90*5f62a964SEmmanuel Vadot
91*5f62a964SEmmanuel Vadotexamples:
92*5f62a964SEmmanuel Vadot  - |
93*5f62a964SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
94*5f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
95*5f62a964SEmmanuel Vadot    spi {
96*5f62a964SEmmanuel Vadot        #address-cells = <1>;
97*5f62a964SEmmanuel Vadot        #size-cells = <0>;
98*5f62a964SEmmanuel Vadot
99*5f62a964SEmmanuel Vadot        adc@0 {
100*5f62a964SEmmanuel Vadot          compatible = "adi,ad7779";
101*5f62a964SEmmanuel Vadot          reg = <0>;
102*5f62a964SEmmanuel Vadot          start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
103*5f62a964SEmmanuel Vadot          reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
104*5f62a964SEmmanuel Vadot          interrupt-parent = <&intc>;
105*5f62a964SEmmanuel Vadot          interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
106*5f62a964SEmmanuel Vadot          interrupt-names = "adc_rdy";
107*5f62a964SEmmanuel Vadot          clocks = <&adc_clk>;
108*5f62a964SEmmanuel Vadot        };
109*5f62a964SEmmanuel Vadot    };
110*5f62a964SEmmanuel Vadot...
111