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

dt-bindings: iio: adc: add AD762x/AD796x ADCs

Add a binding specification for the Analog Devices Inc. AD7625,
AD7626, AD7960, and AD7961 ADCs.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Link: https://patch.msgid.link/20240909-ad7625_r1-v5-1-60a397768b25@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Trevor Gamblin and committed by
Jonathan Cameron
29301cc3 96f1792f

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