xref: /linux/Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml (revision 93e4b3076b5f2d853462b9777d083c77fc0b7b23)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/adi,ltc2378.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices LTC2378 and similar Analog to Digital Converters
8
9maintainers:
10  - Marcelo Schmitt <marcelo.schmitt@analog.com>
11
12description: |
13  Analog Devices LTC2378 series of ADCs.
14  Specifications can be found at:
15    https://www.analog.com/media/en/technical-documentation/data-sheets/233818fa.pdf
16    https://www.analog.com/media/en/technical-documentation/data-sheets/236416fa.pdf
17    https://www.analog.com/media/en/technical-documentation/data-sheets/236418f.pdf
18    https://www.analog.com/media/en/technical-documentation/data-sheets/236716fa.pdf
19    https://www.analog.com/media/en/technical-documentation/data-sheets/236718f.pdf
20    https://www.analog.com/media/en/technical-documentation/data-sheets/236816f.pdf
21    https://www.analog.com/media/en/technical-documentation/data-sheets/236818f.pdf
22    https://www.analog.com/media/en/technical-documentation/data-sheets/236918fa.pdf
23    https://www.analog.com/media/en/technical-documentation/data-sheets/237016fa.pdf
24    https://www.analog.com/media/en/technical-documentation/data-sheets/237616fa.pdf
25    https://www.analog.com/media/en/technical-documentation/data-sheets/237618fa.pdf
26    https://www.analog.com/media/en/technical-documentation/data-sheets/237620fb.pdf
27    https://www.analog.com/media/en/technical-documentation/data-sheets/237716fa.pdf
28    https://www.analog.com/media/en/technical-documentation/data-sheets/237718fa.pdf
29    https://www.analog.com/media/en/technical-documentation/data-sheets/237720fb.pdf
30    https://www.analog.com/media/en/technical-documentation/data-sheets/237816fa.pdf
31    https://www.analog.com/media/en/technical-documentation/data-sheets/237818fa.pdf
32    https://www.analog.com/media/en/technical-documentation/data-sheets/237820fb.pdf
33    https://www.analog.com/media/en/technical-documentation/data-sheets/237918fb.pdf
34    https://www.analog.com/media/en/technical-documentation/data-sheets/238016fb.pdf
35
36$ref: /schemas/spi/spi-peripheral-props.yaml#
37
38properties:
39  compatible:
40    oneOf:
41      # Single compatible string match.
42      - enum:
43          - adi,ltc2338-18
44          - adi,ltc2364-16
45          - adi,ltc2364-18
46          - adi,ltc2376-16
47          - adi,ltc2376-18
48          - adi,ltc2376-20
49
50      # Low sample rate fallback for 16-bit unipolar sensors.
51      - items:
52          - enum:
53              - adi,ltc2370-16 # 2 MSPS
54              - adi,ltc2368-16 # 1 MSPS
55              - adi,ltc2367-16 # 500 kSPS
56          - const: adi,ltc2364-16 # fallback (250 kSPS)
57
58      # Low sample rate fallback for 18-bit unipolar sensors.
59      - items:
60          - enum:
61              - adi,ltc2369-18 # 1.6 MSPS
62              - adi,ltc2368-18 # 1 MSPS
63              - adi,ltc2367-18 # 500 kSPS
64          - const: adi,ltc2364-18 # fallback (250 kSPS)
65
66      # Low sample rate fallback for 16-bit bipolar sensors.
67      - items:
68          - enum:
69              - adi,ltc2380-16 # 2 MSPS
70              - adi,ltc2378-16 # 1 MSPS
71              - adi,ltc2377-16 # 500 kSPS
72          - const: adi,ltc2376-16 # fallback (250 kSPS)
73
74      # Low sample rate fallback for 18-bit bipolar sensors.
75      - items:
76          - enum:
77              - adi,ltc2379-18 # 1.6 MSPS
78              - adi,ltc2378-18 # 1 MSPS
79              - adi,ltc2377-18 # 500 kSPS
80          - const: adi,ltc2376-18 # fallback (250 kSPS)
81
82      # Low sample rate fallback for 20-bit bipolar sensors.
83      - items:
84          - enum:
85              - adi,ltc2378-20 # 1 MSPS
86              - adi,ltc2377-20 # 500 kSPS
87          - const: adi,ltc2376-20 # fallback (250 kSPS)
88
89  reg:
90    maxItems: 1
91
92  spi-max-frequency:
93    maximum: 100000000
94
95  vdd-supply:
96    description: A 2.5V supply that powers the chip (VDD).
97
98  ovdd-supply:
99    description:
100      A 1.71V to 5.25V supply that sets the logic level for digital interface.
101
102  ref-supply:
103    description:
104      Voltage reference input that determines the scale of ADC conversions.
105
106  refin-supply:
107    description:
108      Alternative voltage reference input.
109
110  cnv-gpios:
111    description:
112      When provided, this property indicates the GPIO that is connected to the
113      CNV pin.
114    maxItems: 1
115
116  pwms:
117    description: PWM signal connected to the CNV pin.
118    maxItems: 1
119
120  interrupts:
121    description:
122      Interrupt for signaling the completion of conversion results. The active
123      low signal provided on the BUSY pin asserts when ADC conversions finish.
124    maxItems: 1
125
126required:
127  - compatible
128  - reg
129  - vdd-supply
130  - ovdd-supply
131
132allOf:
133  # Except for LTC2338, all designs require a voltage reference input
134  - if:
135      properties:
136        compatible:
137          not:
138            contains:
139              enum:
140                - adi,ltc2338-18
141    then:
142      required:
143        - ref-supply
144      properties:
145        refin-supply: false
146    else:
147      properties:
148        ref-supply: false
149
150unevaluatedProperties: false
151
152examples:
153  - |
154    #include <dt-bindings/gpio/gpio.h>
155    #include <dt-bindings/interrupt-controller/irq.h>
156    spi {
157        #address-cells = <1>;
158        #size-cells = <0>;
159        adc@0 {
160            compatible = "adi,ltc2378-20", "adi,ltc2376-20";
161            reg = <0>;
162            spi-max-frequency = <71000000>;
163            vdd-supply = <&supply_2_5V>;
164            ovdd-supply = <&supply_3_3V>;
165            ref-supply = <&supply_5V>;
166            cnv-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH>;
167            interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
168            interrupt-parent = <&gpio>;
169        };
170    };
171