Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: iio: adc: add ad7944 ADCs

This adds a new binding for the Analog Devices, Inc. AD7944, AD7985, and
AD7986 ADCs.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://lore.kernel.org/r/20240304-ad7944-mainline-v5-1-f0a38cea8901@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

David Lechner and committed by
Jonathan Cameron
59346366 1c5aa559

+221
+213
Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
··· 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 + };
+8
MAINTAINERS
··· 441 441 W: https://ez.analog.com/linux-software-drivers 442 442 F: drivers/input/touchscreen/ad7879.c 443 443 444 + AD7944 ADC DRIVER (AD7944/AD7985/AD7986) 445 + M: Michael Hennerich <michael.hennerich@analog.com> 446 + M: Nuno Sá <nuno.sa@analog.com> 447 + R: David Lechner <dlechner@baylibre.com> 448 + S: Supported 449 + W: https://ez.analog.com/linux-software-drivers 450 + F: Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml 451 + 444 452 ADAFRUIT MINI I2C GAMEPAD 445 453 M: Anshul Dalal <anshulusr@gmail.com> 446 454 L: linux-input@vger.kernel.org