# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/adi,ad4691.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices AD4691 Family Multichannel SAR ADCs maintainers: - Radu Sabau description: | The AD4691 family are high-speed, low-power, multichannel successive approximation register (SAR) analog-to-digital converters (ADCs) with an SPI-compatible serial interface. The ADC supports CNV Burst Mode, where an external PWM drives the CNV pin, and Manual Mode, where CNV is directly tied to the SPI chip-select. Datasheets: * https://www.analog.com/en/products/ad4691.html * https://www.analog.com/en/products/ad4692.html * https://www.analog.com/en/products/ad4693.html * https://www.analog.com/en/products/ad4694.html $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: enum: - adi,ad4691 - adi,ad4692 - adi,ad4693 - adi,ad4694 reg: maxItems: 1 spi-max-frequency: maximum: 40000000 spi-cpol: true spi-cpha: true avdd-supply: description: Analog power supply (4.5V to 5.5V). vdd-supply: description: External 1.8V digital core supply. When present, the internal LDO is disabled (LDO_EN = 0). Mutually exclusive with ldo-in-supply. ldo-in-supply: description: LDO input supply (2.4V to 5.5V). When present and vdd-supply is absent, the internal LDO generates 1.8V VDD from this input (LDO_EN = 1). Mutually exclusive with vdd-supply. vio-supply: description: I/O voltage supply (1.71V to 1.89V or VDD). ref-supply: description: External reference voltage supply (2.4V to 5.25V). refin-supply: description: Internal reference buffer input supply. reset-gpios: description: GPIO line controlling the hardware reset pin (active-low). maxItems: 1 pwms: description: PWM connected to the CNV pin. When present, selects CNV Burst Mode where the PWM drives the conversion rate. When absent, Manual Mode is used (CNV tied to SPI CS). maxItems: 1 interrupts: description: Interrupt lines connected to the ADC GP pins. Each GP pin can be physically wired to an interrupt-capable input on the SoC. maxItems: 4 interrupt-names: description: Names of the interrupt lines, matching the GP pin names. minItems: 1 maxItems: 4 items: enum: - gp0 - gp1 - gp2 - gp3 gpio-controller: true '#gpio-cells': const: 2 '#trigger-source-cells': description: This node can act as a trigger source. The single cell in a consumer reference specifies the GP pin number (0-3) used as the trigger output. const: 1 required: - compatible - reg - avdd-supply - vio-supply allOf: # vdd-supply and ldo-in-supply are mutually exclusive, one is required: # either an external 1.8V VDD is provided or the internal LDO is fed from # ldo-in-supply to generate VDD. - oneOf: - required: - vdd-supply - required: - ldo-in-supply # ref-supply and refin-supply are mutually exclusive, one is required - oneOf: - required: - ref-supply - required: - refin-supply unevaluatedProperties: false examples: - | #include /* AD4692 in CNV Burst Mode with SPI offload */ spi { #address-cells = <1>; #size-cells = <0>; adc@0 { compatible = "adi,ad4692"; reg = <0>; spi-cpol; spi-cpha; spi-max-frequency = <40000000>; avdd-supply = <&avdd_supply>; ldo-in-supply = <&avdd_supply>; vio-supply = <&vio_supply>; ref-supply = <&ref_5v>; reset-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; pwms = <&pwm_gen 0 0>; #trigger-source-cells = <1>; }; }; - | #include /* AD4692 in Manual Mode (CNV tied to SPI CS) */ spi { #address-cells = <1>; #size-cells = <0>; adc@0 { compatible = "adi,ad4692"; reg = <0>; spi-cpol; spi-cpha; spi-max-frequency = <31250000>; avdd-supply = <&avdd_supply>; ldo-in-supply = <&avdd_supply>; vio-supply = <&vio_supply>; refin-supply = <&refin_supply>; reset-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; }; };