~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 # Copyright 2023 Analog Devices Inc.
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: Analog Devices AD7173 ADC
  9 
 10 maintainers:
 11   - Ceclan Dumitru <dumitru.ceclan@analog.com>
 12 
 13 description: |
 14   Analog Devices AD717x ADC's:
 15   The AD717x family offer a complete integrated Sigma-Delta ADC solution which
 16   can be used in high precision, low noise single channel applications
 17   (Life Science measurements) or higher speed multiplexed applications
 18   (Factory Automation PLC Input modules). The Sigma-Delta ADC is intended
 19   primarily for measurement of signals close to DC but also delivers
 20   outstanding performance with input bandwidths out to ~10kHz.
 21 
 22   Analog Devices AD411x ADC's:
 23   The AD411X family encompasses a series of low power, low noise, 24-bit,
 24   sigma-delta analog-to-digital converters that offer a versatile range of
 25   specifications. They integrate an analog front end suitable for processing
 26   fully differential/single-ended and bipolar voltage inputs.
 27 
 28   Datasheets for supported chips:
 29     https://www.analog.com/media/en/technical-documentation/data-sheets/AD4111.pdf
 30     https://www.analog.com/media/en/technical-documentation/data-sheets/AD4112.pdf
 31     https://www.analog.com/media/en/technical-documentation/data-sheets/AD4114.pdf
 32     https://www.analog.com/media/en/technical-documentation/data-sheets/AD4115.pdf
 33     https://www.analog.com/media/en/technical-documentation/data-sheets/AD4116.pdf
 34     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf
 35     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-4.pdf
 36     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf
 37     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf
 38     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-8.pdf
 39     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf
 40     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7177-2.pdf
 41 
 42 properties:
 43   compatible:
 44     enum:
 45       - adi,ad4111
 46       - adi,ad4112
 47       - adi,ad4114
 48       - adi,ad4115
 49       - adi,ad4116
 50       - adi,ad7172-2
 51       - adi,ad7172-4
 52       - adi,ad7173-8
 53       - adi,ad7175-2
 54       - adi,ad7175-8
 55       - adi,ad7176-2
 56       - adi,ad7177-2
 57 
 58   reg:
 59     maxItems: 1
 60 
 61   interrupts:
 62     minItems: 1
 63     items:
 64       - description: |
 65           Ready: multiplexed with SPI data out. While SPI CS is low,
 66           can be used to indicate the completion of a conversion.
 67 
 68       - description: |
 69           Error: The three error bits in the status register (ADC_ERROR, CRC_ERROR,
 70           and REG_ERROR) are OR'ed, inverted, and mapped to the ERROR pin.
 71           Therefore, the ERROR pin indicates that an error has occurred.
 72 
 73   interrupt-names:
 74     minItems: 1
 75     items:
 76       - const: rdy
 77       - const: err
 78 
 79   '#address-cells':
 80     const: 1
 81 
 82   '#size-cells':
 83     const: 0
 84 
 85   spi-max-frequency:
 86     maximum: 20000000
 87 
 88   gpio-controller:
 89     description: Marks the device node as a GPIO controller.
 90 
 91   '#gpio-cells':
 92     const: 2
 93     description:
 94       The first cell is the GPIO number and the second cell specifies
 95       GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
 96 
 97   vref-supply:
 98     description: |
 99       Differential external reference supply used for conversion. The reference
100       voltage (Vref) specified here must be the voltage difference between the
101       REF+ and REF- pins: Vref = (REF+) - (REF-).
102 
103   vref2-supply:
104     description: |
105       Differential external reference supply used for conversion. The reference
106       voltage (Vref2) specified here must be the voltage difference between the
107       REF2+ and REF2- pins: Vref2 = (REF2+) - (REF2-).
108 
109   avdd-supply:
110     description: Avdd supply, can be used as reference for conversion.
111                  This supply is referenced to AVSS, voltage specified here
112                  represents (AVDD1 - AVSS).
113 
114   avdd2-supply:
115     description: Avdd2 supply, used as the input to the internal voltage regulator.
116                  This supply is referenced to AVSS, voltage specified here
117                  represents (AVDD2 - AVSS).
118 
119   iovdd-supply:
120     description: iovdd supply, used for the chip digital interface.
121 
122   clocks:
123     maxItems: 1
124     description: |
125       Optional external clock source. Can include one clock source: external
126       clock or external crystal.
127 
128   clock-names:
129     enum:
130       - ext-clk
131       - xtal
132 
133   '#clock-cells':
134     const: 0
135 
136 patternProperties:
137   "^channel@[0-9a-f]$":
138     type: object
139     $ref: adc.yaml
140     unevaluatedProperties: false
141 
142     properties:
143       reg:
144         minimum: 0
145         maximum: 15
146 
147       diff-channels:
148         description: |
149           This property is used for defining the inputs of a differential
150           voltage channel. The first value is the positive input and the second
151           value is the negative input of the channel.
152 
153           Family AD411x supports a dedicated VINCOM voltage input.
154           To select it set the second channel to 16.
155             (VIN2, VINCOM) -> diff-channels = <2 16>
156 
157           There are special values that can be selected besides the voltage
158           analog inputs:
159             21: REF+
160             22: REF−
161 
162           Supported only by AD7172-2, AD7172-4, AD7175-2, AD7175-8, AD7177-2,
163           must be paired together and can be used to monitor the power supply
164           of the ADC:
165             19: ((AVDD1 − AVSS)/5)+
166             20: ((AVDD1 − AVSS)/5)−
167 
168         items:
169           minimum: 0
170           maximum: 31
171 
172       single-channel:
173         description: |
174           This property is used for defining a current channel or the positive
175           input of a voltage channel (single-ended or pseudo-differential).
176 
177           Models AD4111 and AD4112 support current channels.
178             Example: (IIN2+, IIN2−) -> single-channel = <2>
179           To correctly configure a current channel set the "adi,current-channel"
180           property to true.
181 
182           To configure a single-ended/pseudo-differential channel set the
183           "common-mode-channel" property to the desired negative voltage input.
184 
185           When used as a voltage channel, special inputs are valid as well.
186         minimum: 0
187         maximum: 31
188 
189       common-mode-channel:
190         description:
191           This property is used for defining the negative input of a
192           single-ended or pseudo-differential voltage channel.
193 
194           Special inputs are valid as well.
195         minimum: 0
196         maximum: 31
197 
198       adi,reference-select:
199         description: |
200           Select the reference source to use when converting on
201           the specific channel. Valid values are:
202           vref       : REF+  /REF−
203           vref2      : REF2+ /REF2−
204           refout-avss: REFOUT/AVSS (Internal reference)
205           avdd       : AVDD  /AVSS
206 
207           External reference ref2 only available on ad7173-8 and ad7172-4.
208           Internal reference refout-avss not available on ad7172-4.
209 
210           If not specified, internal reference used (if available).
211         $ref: /schemas/types.yaml#/definitions/string
212         enum:
213           - vref
214           - vref2
215           - refout-avss
216           - avdd
217         default: refout-avss
218 
219       adi,current-channel:
220         $ref: /schemas/types.yaml#/definitions/flag
221         description: |
222           Signal that the selected inputs are current channels.
223           Only available on AD4111 and AD4112.
224 
225     required:
226       - reg
227 
228     allOf:
229       - oneOf:
230           - required: [single-channel]
231             properties:
232               diff-channels: false
233           - required: [diff-channels]
234             properties:
235               single-channel: false
236               adi,current-channel: false
237               common-mode-channel: false
238 
239       - if:
240           required: [common-mode-channel]
241         then:
242           properties:
243             adi,current-channel: false
244 
245 required:
246   - compatible
247   - reg
248 
249 allOf:
250   - $ref: /schemas/spi/spi-peripheral-props.yaml#
251 
252   # Only ad7172-4, ad7173-8 and ad7175-8 support vref2
253   - if:
254       properties:
255         compatible:
256           not:
257             contains:
258               enum:
259                 - adi,ad7172-4
260                 - adi,ad7173-8
261                 - adi,ad7175-8
262     then:
263       properties:
264         vref2-supply: false
265       patternProperties:
266         "^channel@[0-9a-f]$":
267           properties:
268             adi,reference-select:
269               enum:
270                 - vref
271                 - refout-avss
272                 - avdd
273 
274   - if:
275       properties:
276         compatible:
277           contains:
278             enum:
279               - adi,ad4114
280               - adi,ad4115
281               - adi,ad4116
282               - adi,ad7173-8
283               - adi,ad7175-8
284     then:
285       patternProperties:
286         "^channel@[0-9a-f]$":
287           properties:
288             reg:
289               maximum: 15
290 
291   - if:
292       properties:
293         compatible:
294           contains:
295             enum:
296               - adi,ad7172-2
297               - adi,ad7175-2
298               - adi,ad7176-2
299               - adi,ad7177-2
300     then:
301       patternProperties:
302         "^channel@[0-9a-f]$":
303           properties:
304             reg:
305               maximum: 3
306 
307   # Model ad7172-4 does not support internal reference
308   - if:
309       properties:
310         compatible:
311           contains:
312             const: adi,ad7172-4
313     then:
314       patternProperties:
315         "^channel@[0-9a-f]$":
316           properties:
317             reg:
318               maximum: 7
319             adi,reference-select:
320               enum:
321                 - vref
322                 - vref2
323                 - avdd
324           required:
325             - adi,reference-select
326 
327   - if:
328       properties:
329         compatible:
330           contains:
331             enum:
332               - adi,ad4111
333               - adi,ad4112
334               - adi,ad4114
335               - adi,ad4115
336               - adi,ad4116
337     then:
338       properties:
339         avdd2-supply: false
340 
341   - if:
342       properties:
343         compatible:
344           not:
345             contains:
346               enum:
347                 - adi,ad4111
348                 - adi,ad4112
349     then:
350       patternProperties:
351         "^channel@[0-9a-f]$":
352           properties:
353             adi,current-channel: false
354 
355   - if:
356       anyOf:
357         - required: [clock-names]
358         - required: [clocks]
359     then:
360       properties:
361         '#clock-cells': false
362 
363 unevaluatedProperties: false
364 
365 examples:
366   # Example AD7173-8 with external reference connected to REF+/REF-:
367   - |
368     #include <dt-bindings/gpio/gpio.h>
369     #include <dt-bindings/interrupt-controller/irq.h>
370 
371     spi {
372       #address-cells = <1>;
373       #size-cells = <0>;
374 
375       adc@0 {
376         compatible = "adi,ad7173-8";
377         reg = <0>;
378 
379         #address-cells = <1>;
380         #size-cells = <0>;
381 
382         interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
383         interrupt-names = "rdy";
384         interrupt-parent = <&gpio>;
385         spi-max-frequency = <5000000>;
386         gpio-controller;
387         #gpio-cells = <2>;
388         #clock-cells = <0>;
389 
390         vref-supply = <&dummy_regulator>;
391 
392         channel@0 {
393           reg = <0>;
394           bipolar;
395           diff-channels = <0 1>;
396           adi,reference-select = "vref";
397         };
398 
399         channel@1 {
400           reg = <1>;
401           diff-channels = <2 3>;
402         };
403 
404         channel@2 {
405           reg = <2>;
406           bipolar;
407           diff-channels = <4 5>;
408         };
409 
410         channel@3 {
411           reg = <3>;
412           bipolar;
413           diff-channels = <6 7>;
414         };
415 
416         channel@4 {
417           reg = <4>;
418           diff-channels = <8 9>;
419           adi,reference-select = "avdd";
420         };
421       };
422     };
423 
424   # Example AD4111 with current channel and single-ended channel:
425   - |
426     #include <dt-bindings/gpio/gpio.h>
427     #include <dt-bindings/interrupt-controller/irq.h>
428 
429     spi {
430       #address-cells = <1>;
431       #size-cells = <0>;
432 
433        adc@0 {
434         compatible = "adi,ad4111";
435         reg = <0>;
436 
437         #address-cells = <1>;
438         #size-cells = <0>;
439 
440         interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
441         interrupt-names = "rdy";
442         interrupt-parent = <&gpio>;
443         spi-max-frequency = <5000000>;
444         gpio-controller;
445         #gpio-cells = <2>;
446         #clock-cells = <0>;
447 
448         channel@0 {
449           reg = <0>;
450           bipolar;
451           diff-channels = <4 5>;
452         };
453 
454         // Single ended channel VIN2/VINCOM
455         channel@1 {
456           reg = <1>;
457           bipolar;
458           single-channel = <2>;
459           common-mode-channel = <16>;
460         };
461 
462         // Current channel IN2+/IN2-
463         channel@2 {
464           reg = <2>;
465           single-channel = <2>;
466           adi,current-channel;
467         };
468       };
469     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php