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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/iio/adc/adi,ad7944.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-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/iio/adc/adi,ad7944.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Analog Devices PulSAR LFCSP Analog to Digital Converters
  8 
  9 maintainers:
 10   - Michael Hennerich <Michael.Hennerich@analog.com>
 11   - Nuno Sá <nuno.sa@analog.com>
 12 
 13 description: |
 14   A family of pin-compatible single channel differential analog to digital
 15   converters with SPI support in a LFCSP package.
 16 
 17   * https://www.analog.com/en/products/ad7944.html
 18   * https://www.analog.com/en/products/ad7985.html
 19   * https://www.analog.com/en/products/ad7986.html
 20 
 21 $ref: /schemas/spi/spi-peripheral-props.yaml#
 22 
 23 properties:
 24   compatible:
 25     enum:
 26       - adi,ad7944
 27       - adi,ad7985
 28       - adi,ad7986
 29 
 30   reg:
 31     maxItems: 1
 32 
 33   spi-max-frequency:
 34     maximum: 111111111
 35 
 36   spi-cpol: true
 37   spi-cpha: true
 38 
 39   adi,spi-mode:
 40     $ref: /schemas/types.yaml#/definitions/string
 41     enum: [ single, chain ]
 42     description: |
 43       This property indicates the SPI wiring configuration.
 44 
 45       When this property is omitted, it is assumed that the device is using what
 46       the datasheet calls "4-wire mode". This is the conventional SPI mode used
 47       when there are multiple devices on the same bus. In this mode, the CNV
 48       line is used to initiate the conversion and the SDI line is connected to
 49       CS on the SPI controller.
 50 
 51       When this property is present, it indicates that the device is using one
 52       of the following alternative wiring configurations:
 53 
 54       * single: The datasheet calls this "3-wire mode". (NOTE: The datasheet's
 55         definition of 3-wire mode is NOT at all related to the standard
 56         spi-3wire property!) This mode is often used when the ADC is the only
 57         device on the bus. In this mode, SDI is tied to VIO, and the CNV line
 58         can be connected to the CS line of the SPI controller or to a GPIO, in
 59         which case the CS line of the controller is unused.
 60       * chain: The datasheet calls this "chain mode". This mode is used to save
 61         on wiring when multiple ADCs are used. In this mode, the SDI line of
 62         one chip is tied to the SDO of the next chip in the chain and the SDI of
 63         the last chip in the chain is tied to GND. Only the first chip in the
 64         chain is connected to the SPI bus. The CNV line of all chips are tied
 65         together. The CS line of the SPI controller can be used as the CNV line
 66         only if it is active high.
 67 
 68   '#daisy-chained-devices': true
 69 
 70   avdd-supply:
 71     description: A 2.5V supply that powers the analog circuitry.
 72 
 73   dvdd-supply:
 74     description: A 2.5V supply that powers the digital circuitry.
 75 
 76   vio-supply:
 77     description:
 78       A 1.8V to 2.7V supply for the digital inputs and outputs.
 79 
 80   bvdd-supply:
 81     description:
 82       A voltage supply for the buffered power. When using an external reference
 83       without an internal buffer (PDREF high, REFIN low), this should be
 84       connected to the same supply as ref-supply. Otherwise, when using an
 85       internal reference or an external reference with an internal buffer, this
 86       is connected to a 5V supply.
 87 
 88   ref-supply:
 89     description:
 90       Voltage regulator for the external reference voltage (REF). This property
 91       is omitted when using an internal reference.
 92 
 93   refin-supply:
 94     description:
 95       Voltage regulator for the reference buffer input (REFIN). When using an
 96       external buffer with internal reference, this should be connected to a
 97       1.2V external reference voltage supply. Otherwise, this property is
 98       omitted.
 99 
100   cnv-gpios:
101     description:
102       The Convert Input (CNV). This input has multiple functions. It initiates
103       the conversions and selects the SPI mode of the device (chain or CS). In
104       'single' mode, this property is omitted if the CNV pin is connected to the
105       CS line of the SPI controller.
106     maxItems: 1
107 
108   turbo-gpios:
109     description:
110       GPIO connected to the TURBO line. If omitted, it is assumed that the TURBO
111       line is hard-wired and the state is determined by the adi,always-turbo
112       property.
113     maxItems: 1
114 
115   adi,always-turbo:
116     type: boolean
117     description:
118       When present, this property indicates that the TURBO line is hard-wired
119       and the state is always high. If neither this property nor turbo-gpios is
120       present, the TURBO line is assumed to be hard-wired and the state is
121       always low.
122 
123   interrupts:
124     description:
125       The SDO pin can also function as a busy indicator. This node should be
126       connected to an interrupt that is triggered when the SDO line goes low
127       while the SDI line is high and the CNV line is low ('single' mode) or the
128       SDI line is low and the CNV line is high ('multi' mode); or when the SDO
129       line goes high while the SDI and CNV lines are high (chain mode),
130     maxItems: 1
131 
132 required:
133   - compatible
134   - reg
135   - avdd-supply
136   - dvdd-supply
137   - vio-supply
138   - bvdd-supply
139 
140 allOf:
141   # ref-supply and refin-supply are mutually exclusive (neither is also valid)
142   - if:
143       required:
144         - ref-supply
145     then:
146       properties:
147         refin-supply: false
148   - if:
149       required:
150         - refin-supply
151     then:
152       properties:
153         ref-supply: false
154   # in '4-wire' mode, cnv-gpios is required, for other modes it is optional
155   - if:
156       not:
157         required:
158           - adi,spi-mode
159     then:
160       required:
161         - cnv-gpios
162   # chain mode has lower SCLK max rate and doesn't work when TURBO is enabled
163   - if:
164       required:
165         - adi,spi-mode
166       properties:
167         adi,spi-mode:
168           const: chain
169     then:
170       properties:
171         spi-max-frequency:
172           maximum: 90909090
173         adi,always-turbo: false
174       required:
175         - '#daisy-chained-devices'
176     else:
177       properties:
178         '#daisy-chained-devices': false
179   # turbo-gpios and adi,always-turbo are mutually exclusive
180   - if:
181       required:
182         - turbo-gpios
183     then:
184       properties:
185         adi,always-turbo: false
186   - if:
187       required:
188         - adi,always-turbo
189     then:
190       properties:
191         turbo-gpios: false
192 
193 unevaluatedProperties: false
194 
195 examples:
196   - |
197     #include <dt-bindings/gpio/gpio.h>
198     spi {
199         #address-cells = <1>;
200         #size-cells = <0>;
201         adc@0 {
202             compatible = "adi,ad7944";
203             reg = <0>;
204             spi-cpha;
205             spi-max-frequency = <111111111>;
206             avdd-supply = <&supply_2_5V>;
207             dvdd-supply = <&supply_2_5V>;
208             vio-supply = <&supply_1_8V>;
209             bvdd-supply = <&supply_5V>;
210             cnv-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
211             turbo-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
212         };
213     };

~ [ 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