mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 04:37:32 -04:00
dt-bindings: iio: adc: add AD4691 family
Add DT bindings for the Analog Devices AD4691 family of multichannel SAR ADCs (AD4691, AD4692, AD4693, AD4694). The four variants are not compatible with each other: AD4691/AD4692 have 16 analog input channels while AD4693/AD4694 have 8, and AD4691/AD4693 top out at 500 kSPS while AD4692/AD4694 reach 1 MSPS. These differences in channel count and maximum sample rate require distinct compatible strings so the driver can select the correct channel configuration and rate limits. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Radu Sabau <radu.sabau@analog.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
committed by
Jonathan Cameron
parent
7853cf5b65
commit
1ea5792ad7
180
Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml
Normal file
180
Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml
Normal file
@@ -0,0 +1,180 @@
|
||||
# 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 <radu.sabau@analog.com>
|
||||
|
||||
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 <dt-bindings/gpio/gpio.h>
|
||||
/* 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 <dt-bindings/gpio/gpio.h>
|
||||
/* 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>;
|
||||
};
|
||||
};
|
||||
@@ -1476,6 +1476,13 @@ W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad4170-4.yaml
|
||||
F: drivers/iio/adc/ad4170-4.c
|
||||
|
||||
ANALOG DEVICES INC AD4691 DRIVER
|
||||
M: Radu Sabau <radu.sabau@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml
|
||||
|
||||
ANALOG DEVICES INC AD4695 DRIVER
|
||||
M: Michael Hennerich <michael.hennerich@analog.com>
|
||||
M: Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
Reference in New Issue
Block a user