196472f18SMarcelo Schmitt# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 296472f18SMarcelo Schmitt%YAML 1.2 396472f18SMarcelo Schmitt--- 496472f18SMarcelo Schmitt$id: http://devicetree.org/schemas/iio/adc/adi,ad4000.yaml# 596472f18SMarcelo Schmitt$schema: http://devicetree.org/meta-schemas/core.yaml# 696472f18SMarcelo Schmitt 796472f18SMarcelo Schmitttitle: Analog Devices AD4000 and similar Analog to Digital Converters 896472f18SMarcelo Schmitt 996472f18SMarcelo Schmittmaintainers: 1096472f18SMarcelo Schmitt - Marcelo Schmitt <marcelo.schmitt@analog.com> 1196472f18SMarcelo Schmitt 1296472f18SMarcelo Schmittdescription: | 1396472f18SMarcelo Schmitt Analog Devices AD4000 family of Analog to Digital Converters with SPI support. 1496472f18SMarcelo Schmitt Specifications can be found at: 1596472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad4000-4004-4008.pdf 1696472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad4001-4005.pdf 1796472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad4002-4006-4010.pdf 1896472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad4003-4007-4011.pdf 1996472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad4020-4021-4022.pdf 2096472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4001.pdf 2196472f18SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4003.pdf 22*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7685.pdf 23*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7686.pdf 24*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7687.pdf 25*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7688.pdf 26*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7690.pdf 27*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7691.pdf 28*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7693.pdf 29*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7942.pdf 30*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7946.pdf 31*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7980.pdf 32*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7982.pdf 33*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7983.pdf 34*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7984.pdf 35*c54b9094SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/ad7988-1_7988-5.pdf 3696472f18SMarcelo Schmitt 3796472f18SMarcelo Schmitt$ref: /schemas/spi/spi-peripheral-props.yaml# 3896472f18SMarcelo Schmitt 3996472f18SMarcelo Schmittproperties: 4096472f18SMarcelo Schmitt compatible: 4196472f18SMarcelo Schmitt oneOf: 42*c54b9094SMarcelo Schmitt - enum: 43*c54b9094SMarcelo Schmitt - adi,ad4000 44*c54b9094SMarcelo Schmitt - adi,ad4001 45*c54b9094SMarcelo Schmitt - adi,ad4002 46*c54b9094SMarcelo Schmitt - adi,ad4003 47*c54b9094SMarcelo Schmitt - adi,ad4020 48*c54b9094SMarcelo Schmitt - adi,adaq4001 49*c54b9094SMarcelo Schmitt - adi,adaq4003 50*c54b9094SMarcelo Schmitt - adi,ad7687 51*c54b9094SMarcelo Schmitt - adi,ad7691 52*c54b9094SMarcelo Schmitt - adi,ad7942 53*c54b9094SMarcelo Schmitt - adi,ad7946 54*c54b9094SMarcelo Schmitt - adi,ad7983 5596472f18SMarcelo Schmitt - items: 5696472f18SMarcelo Schmitt - enum: 5796472f18SMarcelo Schmitt - adi,ad4004 5896472f18SMarcelo Schmitt - adi,ad4008 5996472f18SMarcelo Schmitt - const: adi,ad4000 6096472f18SMarcelo Schmitt - items: 6196472f18SMarcelo Schmitt - enum: 6296472f18SMarcelo Schmitt - adi,ad4005 6396472f18SMarcelo Schmitt - const: adi,ad4001 6496472f18SMarcelo Schmitt - items: 6596472f18SMarcelo Schmitt - enum: 6696472f18SMarcelo Schmitt - adi,ad4006 6796472f18SMarcelo Schmitt - adi,ad4010 6896472f18SMarcelo Schmitt - const: adi,ad4002 6996472f18SMarcelo Schmitt - items: 7096472f18SMarcelo Schmitt - enum: 7196472f18SMarcelo Schmitt - adi,ad4007 7296472f18SMarcelo Schmitt - adi,ad4011 7396472f18SMarcelo Schmitt - const: adi,ad4003 7496472f18SMarcelo Schmitt - items: 7596472f18SMarcelo Schmitt - enum: 7696472f18SMarcelo Schmitt - adi,ad4021 7796472f18SMarcelo Schmitt - adi,ad4022 7896472f18SMarcelo Schmitt - const: adi,ad4020 79*c54b9094SMarcelo Schmitt - items: 80*c54b9094SMarcelo Schmitt - enum: 81*c54b9094SMarcelo Schmitt - adi,ad7685 82*c54b9094SMarcelo Schmitt - adi,ad7686 83*c54b9094SMarcelo Schmitt - adi,ad7980 84*c54b9094SMarcelo Schmitt - adi,ad7988-1 85*c54b9094SMarcelo Schmitt - adi,ad7988-5 86*c54b9094SMarcelo Schmitt - const: adi,ad7983 87*c54b9094SMarcelo Schmitt - items: 88*c54b9094SMarcelo Schmitt - enum: 89*c54b9094SMarcelo Schmitt - adi,ad7688 90*c54b9094SMarcelo Schmitt - adi,ad7693 91*c54b9094SMarcelo Schmitt - const: adi,ad7687 92*c54b9094SMarcelo Schmitt - items: 93*c54b9094SMarcelo Schmitt - enum: 94*c54b9094SMarcelo Schmitt - adi,ad7690 95*c54b9094SMarcelo Schmitt - adi,ad7982 96*c54b9094SMarcelo Schmitt - adi,ad7984 97*c54b9094SMarcelo Schmitt - const: adi,ad7691 9896472f18SMarcelo Schmitt 9996472f18SMarcelo Schmitt reg: 10096472f18SMarcelo Schmitt maxItems: 1 10196472f18SMarcelo Schmitt 10296472f18SMarcelo Schmitt spi-max-frequency: 10396472f18SMarcelo Schmitt maximum: 102040816 # for VIO > 2.7 V, 81300813 for VIO > 1.7 V 10496472f18SMarcelo Schmitt 10596472f18SMarcelo Schmitt adi,sdi-pin: 10696472f18SMarcelo Schmitt $ref: /schemas/types.yaml#/definitions/string 10796472f18SMarcelo Schmitt enum: [ high, low, cs, sdi ] 10896472f18SMarcelo Schmitt default: sdi 10996472f18SMarcelo Schmitt description: 11096472f18SMarcelo Schmitt Describes how the ADC SDI pin is wired. A value of "sdi" indicates that 11196472f18SMarcelo Schmitt the ADC SDI is connected to host SDO. "high" indicates that the ADC SDI 11296472f18SMarcelo Schmitt pin is hard-wired to logic high (VIO). "low" indicates that it is 11396472f18SMarcelo Schmitt hard-wired low (GND). "cs" indicates that the ADC SDI pin is connected to 11496472f18SMarcelo Schmitt the host CS line. 11596472f18SMarcelo Schmitt 11696472f18SMarcelo Schmitt '#daisy-chained-devices': true 11796472f18SMarcelo Schmitt 11896472f18SMarcelo Schmitt vdd-supply: 11996472f18SMarcelo Schmitt description: A 1.8V supply that powers the chip (VDD). 12096472f18SMarcelo Schmitt 12196472f18SMarcelo Schmitt vio-supply: 12296472f18SMarcelo Schmitt description: 12396472f18SMarcelo Schmitt A 1.8V to 5.5V supply for the digital inputs and outputs (VIO). 12496472f18SMarcelo Schmitt 12596472f18SMarcelo Schmitt ref-supply: 12696472f18SMarcelo Schmitt description: 12796472f18SMarcelo Schmitt A 2.5 to 5V supply for the external reference voltage (REF). 12896472f18SMarcelo Schmitt 12996472f18SMarcelo Schmitt cnv-gpios: 13096472f18SMarcelo Schmitt description: 13196472f18SMarcelo Schmitt When provided, this property indicates the GPIO that is connected to the 13296472f18SMarcelo Schmitt CNV pin. 13396472f18SMarcelo Schmitt maxItems: 1 13496472f18SMarcelo Schmitt 13596472f18SMarcelo Schmitt adi,high-z-input: 13696472f18SMarcelo Schmitt type: boolean 13796472f18SMarcelo Schmitt description: 13896472f18SMarcelo Schmitt High-Z mode allows the amplifier and RC filter in front of the ADC to be 13996472f18SMarcelo Schmitt chosen based on the signal bandwidth of interest, rather than the settling 14096472f18SMarcelo Schmitt requirements of the switched capacitor SAR ADC inputs. 14196472f18SMarcelo Schmitt 14296472f18SMarcelo Schmitt adi,gain-milli: 14396472f18SMarcelo Schmitt description: | 14496472f18SMarcelo Schmitt The hardware gain applied to the ADC input (in milli units). 14596472f18SMarcelo Schmitt The gain provided by the ADC input scaler is defined by the hardware 14696472f18SMarcelo Schmitt connections between chip pins OUT+, R1K-, R1K1-, R1K+, R1K1+, and OUT-. 14796472f18SMarcelo Schmitt If not present, default to 1000 (no actual gain applied). 14896472f18SMarcelo Schmitt $ref: /schemas/types.yaml#/definitions/uint16 14996472f18SMarcelo Schmitt enum: [454, 909, 1000, 1900] 15096472f18SMarcelo Schmitt default: 1000 15196472f18SMarcelo Schmitt 15296472f18SMarcelo Schmitt interrupts: 15396472f18SMarcelo Schmitt description: 15496472f18SMarcelo Schmitt The SDO pin can also function as a busy indicator. This node should be 15596472f18SMarcelo Schmitt connected to an interrupt that is triggered when the SDO line goes low 15696472f18SMarcelo Schmitt while the SDI line is high and the CNV line is low ("3-wire" mode) or the 15796472f18SMarcelo Schmitt SDI line is low and the CNV line is high ("4-wire" mode); or when the SDO 15896472f18SMarcelo Schmitt line goes high while the SDI and CNV lines are high (chain mode), 15996472f18SMarcelo Schmitt maxItems: 1 16096472f18SMarcelo Schmitt 16196472f18SMarcelo Schmittrequired: 16296472f18SMarcelo Schmitt - compatible 16396472f18SMarcelo Schmitt - reg 16496472f18SMarcelo Schmitt - vdd-supply 16596472f18SMarcelo Schmitt - vio-supply 16696472f18SMarcelo Schmitt - ref-supply 16796472f18SMarcelo Schmitt 16896472f18SMarcelo SchmittallOf: 169*c54b9094SMarcelo Schmitt # Single-channel PulSAR devices have SDI either tied to VIO, GND, or host CS. 170*c54b9094SMarcelo Schmitt - if: 171*c54b9094SMarcelo Schmitt properties: 172*c54b9094SMarcelo Schmitt compatible: 173*c54b9094SMarcelo Schmitt contains: 174*c54b9094SMarcelo Schmitt enum: 175*c54b9094SMarcelo Schmitt - adi,ad7687 176*c54b9094SMarcelo Schmitt - adi,ad7691 177*c54b9094SMarcelo Schmitt - adi,ad7942 178*c54b9094SMarcelo Schmitt - adi,ad7946 179*c54b9094SMarcelo Schmitt - adi,ad7983 180*c54b9094SMarcelo Schmitt then: 181*c54b9094SMarcelo Schmitt properties: 182*c54b9094SMarcelo Schmitt adi,sdi-pin: 183*c54b9094SMarcelo Schmitt enum: [ high, low, cs ] 184*c54b9094SMarcelo Schmitt default: cs 18596472f18SMarcelo Schmitt # The configuration register can only be accessed if SDI is connected to MOSI 18696472f18SMarcelo Schmitt - if: 18796472f18SMarcelo Schmitt required: 18896472f18SMarcelo Schmitt - adi,sdi-pin 18996472f18SMarcelo Schmitt then: 19096472f18SMarcelo Schmitt properties: 19196472f18SMarcelo Schmitt adi,high-z-input: false 19296472f18SMarcelo Schmitt # chain mode has lower SCLK max rate 19396472f18SMarcelo Schmitt - if: 19496472f18SMarcelo Schmitt required: 19596472f18SMarcelo Schmitt - '#daisy-chained-devices' 19696472f18SMarcelo Schmitt then: 19796472f18SMarcelo Schmitt properties: 19896472f18SMarcelo Schmitt spi-max-frequency: 19996472f18SMarcelo Schmitt maximum: 50000000 # for VIO > 2.7 V, 40000000 for VIO > 1.7 V 20096472f18SMarcelo Schmitt # Gain property only applies to ADAQ devices 20196472f18SMarcelo Schmitt - if: 20296472f18SMarcelo Schmitt properties: 20396472f18SMarcelo Schmitt compatible: 20496472f18SMarcelo Schmitt not: 20596472f18SMarcelo Schmitt contains: 20696472f18SMarcelo Schmitt enum: 20796472f18SMarcelo Schmitt - adi,adaq4001 20896472f18SMarcelo Schmitt - adi,adaq4003 20996472f18SMarcelo Schmitt then: 21096472f18SMarcelo Schmitt properties: 21196472f18SMarcelo Schmitt adi,gain-milli: false 21296472f18SMarcelo Schmitt 21396472f18SMarcelo SchmittunevaluatedProperties: false 21496472f18SMarcelo Schmitt 21596472f18SMarcelo Schmittexamples: 21696472f18SMarcelo Schmitt - | 21796472f18SMarcelo Schmitt #include <dt-bindings/gpio/gpio.h> 21896472f18SMarcelo Schmitt spi { 21996472f18SMarcelo Schmitt #address-cells = <1>; 22096472f18SMarcelo Schmitt #size-cells = <0>; 22196472f18SMarcelo Schmitt adc@0 { 22296472f18SMarcelo Schmitt compatible = "adi,ad4020"; 22396472f18SMarcelo Schmitt reg = <0>; 22496472f18SMarcelo Schmitt spi-max-frequency = <71000000>; 22596472f18SMarcelo Schmitt vdd-supply = <&supply_1_8V>; 22696472f18SMarcelo Schmitt vio-supply = <&supply_1_8V>; 22796472f18SMarcelo Schmitt ref-supply = <&supply_5V>; 22896472f18SMarcelo Schmitt adi,sdi-pin = "cs"; 22996472f18SMarcelo Schmitt cnv-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH>; 23096472f18SMarcelo Schmitt }; 23196472f18SMarcelo Schmitt }; 23296472f18SMarcelo Schmitt - | 23396472f18SMarcelo Schmitt spi { 23496472f18SMarcelo Schmitt #address-cells = <1>; 23596472f18SMarcelo Schmitt #size-cells = <0>; 23696472f18SMarcelo Schmitt adc@0 { 23796472f18SMarcelo Schmitt compatible = "adi,adaq4003"; 23896472f18SMarcelo Schmitt reg = <0>; 23996472f18SMarcelo Schmitt spi-max-frequency = <80000000>; 24096472f18SMarcelo Schmitt vdd-supply = <&supply_1_8V>; 24196472f18SMarcelo Schmitt vio-supply = <&supply_1_8V>; 24296472f18SMarcelo Schmitt ref-supply = <&supply_5V>; 24396472f18SMarcelo Schmitt adi,high-z-input; 24496472f18SMarcelo Schmitt adi,gain-milli = /bits/ 16 <454>; 24596472f18SMarcelo Schmitt }; 24696472f18SMarcelo Schmitt }; 247