mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 16:53:59 -04:00
Since the driver supports several parts that present differences in their layout and behaviour, it is necessary to describe the differences from one chip to another. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Guillaume Stols <gstols@baylibre.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
206 lines
6.1 KiB
YAML
206 lines
6.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/adc/adi,ad7606.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Analog Devices AD7606 Simultaneous Sampling ADC
|
|
|
|
maintainers:
|
|
- Michael Hennerich <michael.hennerich@analog.com>
|
|
|
|
description: |
|
|
Analog Devices AD7606 Simultaneous Sampling ADC
|
|
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf
|
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
|
|
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
|
|
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- adi,ad7605-4
|
|
- adi,ad7606-4
|
|
- adi,ad7606-6
|
|
- adi,ad7606-8 # Referred to as AD7606 (without -8) in the datasheet
|
|
- adi,ad7606b
|
|
- adi,ad7616
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
spi-cpha: true
|
|
|
|
spi-cpol: true
|
|
|
|
avcc-supply: true
|
|
|
|
vdrive-supply:
|
|
description:
|
|
Determines the voltage level at which the interface logic pins will
|
|
operate.
|
|
|
|
refin-supply:
|
|
description:
|
|
The voltage supply for optional external reference voltage.
|
|
|
|
interrupts:
|
|
description:
|
|
The BUSY pin falling edge indicates that the conversion is over, and thus
|
|
new data is available.
|
|
maxItems: 1
|
|
|
|
adi,conversion-start-gpios:
|
|
description:
|
|
Must be the device tree identifier of the CONVST pin(s). This logic input
|
|
is used to initiate conversions on the analog input channels. As the line
|
|
is active high, it should be marked GPIO_ACTIVE_HIGH.
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
reset-gpios:
|
|
description:
|
|
Must be the device tree identifier of the RESET pin. If specified, it will
|
|
be asserted during driver probe. On the AD7606x, as the line is active
|
|
high, it should be marked GPIO_ACTIVE_HIGH. On the AD7616, as the line is
|
|
active low, it should be marked GPIO_ACTIVE_LOW.
|
|
maxItems: 1
|
|
|
|
standby-gpios:
|
|
description:
|
|
Must be the device tree identifier of the STBY pin. This pin is used to
|
|
place the AD7606 into one of two power-down modes, Standby mode or
|
|
Shutdown mode. As the line is active low, it should be marked
|
|
GPIO_ACTIVE_LOW.
|
|
maxItems: 1
|
|
|
|
adi,first-data-gpios:
|
|
description:
|
|
Must be the device tree identifier of the FRSTDATA pin. The FRSTDATA
|
|
output indicates when the first channel, V1, is being read back on either
|
|
the parallel, byte or serial interface. As the line is active high, it
|
|
should be marked GPIO_ACTIVE_HIGH.
|
|
maxItems: 1
|
|
|
|
adi,range-gpios:
|
|
description:
|
|
Must be the device tree identifier of the RANGE pin. The state on this
|
|
pin determines the input range of the analog input channels. If this pin
|
|
is tied to a logic high, the analog input range is ±10V for all channels.
|
|
On the AD760X, if this pin is tied to a logic low, the analog input range
|
|
is ±5V for all channels. As the line is active high, it should be marked
|
|
GPIO_ACTIVE_HIGH. On the AD7616, there are 2 pins, and if the 2 pins are
|
|
tied to a logic high, software mode is enabled, otherwise one of the 3
|
|
possible range values is selected.
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
adi,oversampling-ratio-gpios:
|
|
description:
|
|
Must be the device tree identifier of the over-sampling mode pins. As the
|
|
line is active high, it should be marked GPIO_ACTIVE_HIGH. On the AD7606X
|
|
parts that support it, if all 3 pins are tied to a logic high, software
|
|
mode is enabled.
|
|
maxItems: 3
|
|
|
|
adi,sw-mode:
|
|
description:
|
|
Software mode of operation, so far available only for AD7616 and AD7606B.
|
|
It is enabled when all three oversampling mode pins are connected to high
|
|
level for the AD7606B, or both the range selection are connected to high
|
|
level for the AD7616. The device is configured by the corresponding
|
|
registers. If the adi,oversampling-ratio-gpios property is defined, then
|
|
the driver will set the oversampling gpios to high. Otherwise, it is
|
|
assumed that the pins are hardwired to VDD.
|
|
type: boolean
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- spi-cpha
|
|
- avcc-supply
|
|
- vdrive-supply
|
|
- interrupts
|
|
- adi,conversion-start-gpios
|
|
|
|
allOf:
|
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: adi,ad7616
|
|
then:
|
|
properties:
|
|
adi,first-data-gpios: false
|
|
standby-gpios: false
|
|
adi,range-gpios:
|
|
maxItems: 2
|
|
else:
|
|
properties:
|
|
adi,range-gpios:
|
|
maxItems: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7605-4
|
|
- adi,ad7616
|
|
then:
|
|
properties:
|
|
adi,oversampling-ratio-gpios: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7605-4
|
|
- adi,ad7606-4
|
|
- adi,ad7606-6
|
|
- adi,ad7606-8
|
|
then:
|
|
properties:
|
|
adi,sw-mode: false
|
|
else:
|
|
properties:
|
|
adi,conversion-start-gpios:
|
|
maxItems: 1
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
adc@0 {
|
|
compatible = "adi,ad7606-8";
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
spi-cpol;
|
|
spi-cpha;
|
|
|
|
avcc-supply = <&adc_vref>;
|
|
vdrive-supply = <&vdd_supply>;
|
|
|
|
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
|
interrupt-parent = <&gpio>;
|
|
|
|
adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
|
reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
|
|
adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
|
|
adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>,
|
|
<&gpio 23 GPIO_ACTIVE_HIGH>,
|
|
<&gpio 26 GPIO_ACTIVE_HIGH>;
|
|
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
...
|