xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/adi,ad7625.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,ad7625.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: Analog Devices Fast PulSAR Analog to Digital Converters
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Michael Hennerich <Michael.Hennerich@analog.com>
11*5f62a964SEmmanuel Vadot  - Nuno Sá <nuno.sa@analog.com>
12*5f62a964SEmmanuel Vadot
13*5f62a964SEmmanuel Vadotdescription: |
14*5f62a964SEmmanuel Vadot  A family of single channel differential analog to digital converters.
15*5f62a964SEmmanuel Vadot
16*5f62a964SEmmanuel Vadot  * https://www.analog.com/en/products/ad7625.html
17*5f62a964SEmmanuel Vadot  * https://www.analog.com/en/products/ad7626.html
18*5f62a964SEmmanuel Vadot  * https://www.analog.com/en/products/ad7960.html
19*5f62a964SEmmanuel Vadot  * https://www.analog.com/en/products/ad7961.html
20*5f62a964SEmmanuel Vadot
21*5f62a964SEmmanuel Vadotproperties:
22*5f62a964SEmmanuel Vadot  compatible:
23*5f62a964SEmmanuel Vadot    enum:
24*5f62a964SEmmanuel Vadot      - adi,ad7625
25*5f62a964SEmmanuel Vadot      - adi,ad7626
26*5f62a964SEmmanuel Vadot      - adi,ad7960
27*5f62a964SEmmanuel Vadot      - adi,ad7961
28*5f62a964SEmmanuel Vadot
29*5f62a964SEmmanuel Vadot  vdd1-supply: true
30*5f62a964SEmmanuel Vadot  vdd2-supply: true
31*5f62a964SEmmanuel Vadot  vio-supply: true
32*5f62a964SEmmanuel Vadot
33*5f62a964SEmmanuel Vadot  ref-supply:
34*5f62a964SEmmanuel Vadot    description:
35*5f62a964SEmmanuel Vadot      Voltage regulator for the external reference voltage (REF).
36*5f62a964SEmmanuel Vadot
37*5f62a964SEmmanuel Vadot  refin-supply:
38*5f62a964SEmmanuel Vadot    description:
39*5f62a964SEmmanuel Vadot      Voltage regulator for the reference buffer input (REFIN).
40*5f62a964SEmmanuel Vadot
41*5f62a964SEmmanuel Vadot  clocks:
42*5f62a964SEmmanuel Vadot    description:
43*5f62a964SEmmanuel Vadot      The clock connected to the CLK pins, gated by the clk_gate PWM.
44*5f62a964SEmmanuel Vadot    maxItems: 1
45*5f62a964SEmmanuel Vadot
46*5f62a964SEmmanuel Vadot  pwms:
47*5f62a964SEmmanuel Vadot    items:
48*5f62a964SEmmanuel Vadot      - description: PWM connected to the CNV input on the ADC.
49*5f62a964SEmmanuel Vadot      - description: PWM that gates the clock connected to the ADC's CLK input.
50*5f62a964SEmmanuel Vadot
51*5f62a964SEmmanuel Vadot  pwm-names:
52*5f62a964SEmmanuel Vadot    items:
53*5f62a964SEmmanuel Vadot      - const: cnv
54*5f62a964SEmmanuel Vadot      - const: clk_gate
55*5f62a964SEmmanuel Vadot
56*5f62a964SEmmanuel Vadot  io-backends:
57*5f62a964SEmmanuel Vadot    description:
58*5f62a964SEmmanuel Vadot      The AXI ADC IP block connected to the D+/- and DCO+/- lines of the
59*5f62a964SEmmanuel Vadot      ADC. An example backend can be found at
60*5f62a964SEmmanuel Vadot      http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html.
61*5f62a964SEmmanuel Vadot    maxItems: 1
62*5f62a964SEmmanuel Vadot
63*5f62a964SEmmanuel Vadot  adi,no-dco:
64*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
65*5f62a964SEmmanuel Vadot    description:
66*5f62a964SEmmanuel Vadot      Indicates the wiring of the DCO+/- lines. If true, then they are
67*5f62a964SEmmanuel Vadot      grounded and the device is in self-clocked mode. If this is not
68*5f62a964SEmmanuel Vadot      present, then the device is in echoed clock mode.
69*5f62a964SEmmanuel Vadot
70*5f62a964SEmmanuel Vadot  adi,en0-always-on:
71*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
72*5f62a964SEmmanuel Vadot    description:
73*5f62a964SEmmanuel Vadot      Indicates if EN0 is hard-wired to the high state. If neither this
74*5f62a964SEmmanuel Vadot      nor en0-gpios are present, then EN0 is hard-wired low.
75*5f62a964SEmmanuel Vadot
76*5f62a964SEmmanuel Vadot  adi,en1-always-on:
77*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
78*5f62a964SEmmanuel Vadot    description:
79*5f62a964SEmmanuel Vadot      Indicates if EN1 is hard-wired to the high state. If neither this
80*5f62a964SEmmanuel Vadot      nor en1-gpios are present, then EN1 is hard-wired low.
81*5f62a964SEmmanuel Vadot
82*5f62a964SEmmanuel Vadot  adi,en2-always-on:
83*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
84*5f62a964SEmmanuel Vadot    description:
85*5f62a964SEmmanuel Vadot      Indicates if EN2 is hard-wired to the high state. If neither this
86*5f62a964SEmmanuel Vadot      nor en2-gpios are present, then EN2 is hard-wired low.
87*5f62a964SEmmanuel Vadot
88*5f62a964SEmmanuel Vadot  adi,en3-always-on:
89*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
90*5f62a964SEmmanuel Vadot    description:
91*5f62a964SEmmanuel Vadot      Indicates if EN3 is hard-wired to the high state. If neither this
92*5f62a964SEmmanuel Vadot      nor en3-gpios are present, then EN3 is hard-wired low.
93*5f62a964SEmmanuel Vadot
94*5f62a964SEmmanuel Vadot  en0-gpios:
95*5f62a964SEmmanuel Vadot    description:
96*5f62a964SEmmanuel Vadot      Configurable EN0 pin.
97*5f62a964SEmmanuel Vadot
98*5f62a964SEmmanuel Vadot  en1-gpios:
99*5f62a964SEmmanuel Vadot    description:
100*5f62a964SEmmanuel Vadot      Configurable EN1 pin.
101*5f62a964SEmmanuel Vadot
102*5f62a964SEmmanuel Vadot  en2-gpios:
103*5f62a964SEmmanuel Vadot    description:
104*5f62a964SEmmanuel Vadot      Configurable EN2 pin.
105*5f62a964SEmmanuel Vadot
106*5f62a964SEmmanuel Vadot  en3-gpios:
107*5f62a964SEmmanuel Vadot    description:
108*5f62a964SEmmanuel Vadot      Configurable EN3 pin.
109*5f62a964SEmmanuel Vadot
110*5f62a964SEmmanuel Vadotrequired:
111*5f62a964SEmmanuel Vadot  - compatible
112*5f62a964SEmmanuel Vadot  - vdd1-supply
113*5f62a964SEmmanuel Vadot  - vdd2-supply
114*5f62a964SEmmanuel Vadot  - vio-supply
115*5f62a964SEmmanuel Vadot  - clocks
116*5f62a964SEmmanuel Vadot  - pwms
117*5f62a964SEmmanuel Vadot  - pwm-names
118*5f62a964SEmmanuel Vadot  - io-backends
119*5f62a964SEmmanuel Vadot
120*5f62a964SEmmanuel VadotallOf:
121*5f62a964SEmmanuel Vadot  - if:
122*5f62a964SEmmanuel Vadot      required:
123*5f62a964SEmmanuel Vadot        - ref-supply
124*5f62a964SEmmanuel Vadot    then:
125*5f62a964SEmmanuel Vadot      properties:
126*5f62a964SEmmanuel Vadot        refin-supply: false
127*5f62a964SEmmanuel Vadot  - if:
128*5f62a964SEmmanuel Vadot      required:
129*5f62a964SEmmanuel Vadot        - refin-supply
130*5f62a964SEmmanuel Vadot    then:
131*5f62a964SEmmanuel Vadot      properties:
132*5f62a964SEmmanuel Vadot        ref-supply: false
133*5f62a964SEmmanuel Vadot  - if:
134*5f62a964SEmmanuel Vadot      properties:
135*5f62a964SEmmanuel Vadot        compatible:
136*5f62a964SEmmanuel Vadot          contains:
137*5f62a964SEmmanuel Vadot            enum:
138*5f62a964SEmmanuel Vadot              - adi,ad7625
139*5f62a964SEmmanuel Vadot              - adi,ad7626
140*5f62a964SEmmanuel Vadot    then:
141*5f62a964SEmmanuel Vadot      properties:
142*5f62a964SEmmanuel Vadot        en2-gpios: false
143*5f62a964SEmmanuel Vadot        en3-gpios: false
144*5f62a964SEmmanuel Vadot        adi,en2-always-on: false
145*5f62a964SEmmanuel Vadot        adi,en3-always-on: false
146*5f62a964SEmmanuel Vadot
147*5f62a964SEmmanuel Vadot  - if:
148*5f62a964SEmmanuel Vadot      properties:
149*5f62a964SEmmanuel Vadot        compatible:
150*5f62a964SEmmanuel Vadot          contains:
151*5f62a964SEmmanuel Vadot            enum:
152*5f62a964SEmmanuel Vadot              - adi,ad7960
153*5f62a964SEmmanuel Vadot              - adi,ad7961
154*5f62a964SEmmanuel Vadot    then:
155*5f62a964SEmmanuel Vadot      # ad796x parts must have one of the two supplies
156*5f62a964SEmmanuel Vadot      oneOf:
157*5f62a964SEmmanuel Vadot        - required: [ref-supply]
158*5f62a964SEmmanuel Vadot        - required: [refin-supply]
159*5f62a964SEmmanuel Vadot
160*5f62a964SEmmanuel VadotadditionalProperties: false
161*5f62a964SEmmanuel Vadot
162*5f62a964SEmmanuel Vadotexamples:
163*5f62a964SEmmanuel Vadot  - |
164*5f62a964SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
165*5f62a964SEmmanuel Vadot    adc {
166*5f62a964SEmmanuel Vadot        compatible = "adi,ad7625";
167*5f62a964SEmmanuel Vadot        vdd1-supply = <&supply_5V>;
168*5f62a964SEmmanuel Vadot        vdd2-supply = <&supply_2_5V>;
169*5f62a964SEmmanuel Vadot        vio-supply = <&supply_2_5V>;
170*5f62a964SEmmanuel Vadot        io-backends = <&axi_adc>;
171*5f62a964SEmmanuel Vadot        clocks = <&ref_clk>;
172*5f62a964SEmmanuel Vadot        pwms = <&axi_pwm_gen 0 0>, <&axi_pwm_gen 1 0>;
173*5f62a964SEmmanuel Vadot        pwm-names = "cnv", "clk_gate";
174*5f62a964SEmmanuel Vadot        en0-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>;
175*5f62a964SEmmanuel Vadot        en1-gpios = <&gpio0 87 GPIO_ACTIVE_HIGH>;
176*5f62a964SEmmanuel Vadot    };
177