198 lines
5.6 KiB
YAML
198 lines
5.6 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/iio/adc/adi,ad4000.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Analog Devices AD4000 and similar Analog to Digital Converters
|
||
|
|
||
|
maintainers:
|
||
|
- Marcelo Schmitt <marcelo.schmitt@analog.com>
|
||
|
|
||
|
description: |
|
||
|
Analog Devices AD4000 family of Analog to Digital Converters with SPI support.
|
||
|
Specifications can be found at:
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4000-4004-4008.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4001-4005.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4002-4006-4010.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4003-4007-4011.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4020-4021-4022.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4001.pdf
|
||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4003.pdf
|
||
|
|
||
|
$ref: /schemas/spi/spi-peripheral-props.yaml#
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- const: adi,ad4000
|
||
|
- items:
|
||
|
- enum:
|
||
|
- adi,ad4004
|
||
|
- adi,ad4008
|
||
|
- const: adi,ad4000
|
||
|
|
||
|
- const: adi,ad4001
|
||
|
- items:
|
||
|
- enum:
|
||
|
- adi,ad4005
|
||
|
- const: adi,ad4001
|
||
|
|
||
|
- const: adi,ad4002
|
||
|
- items:
|
||
|
- enum:
|
||
|
- adi,ad4006
|
||
|
- adi,ad4010
|
||
|
- const: adi,ad4002
|
||
|
|
||
|
- const: adi,ad4003
|
||
|
- items:
|
||
|
- enum:
|
||
|
- adi,ad4007
|
||
|
- adi,ad4011
|
||
|
- const: adi,ad4003
|
||
|
|
||
|
- const: adi,ad4020
|
||
|
- items:
|
||
|
- enum:
|
||
|
- adi,ad4021
|
||
|
- adi,ad4022
|
||
|
- const: adi,ad4020
|
||
|
|
||
|
- const: adi,adaq4001
|
||
|
|
||
|
- const: adi,adaq4003
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
spi-max-frequency:
|
||
|
maximum: 102040816 # for VIO > 2.7 V, 81300813 for VIO > 1.7 V
|
||
|
|
||
|
adi,sdi-pin:
|
||
|
$ref: /schemas/types.yaml#/definitions/string
|
||
|
enum: [ high, low, cs, sdi ]
|
||
|
default: sdi
|
||
|
description:
|
||
|
Describes how the ADC SDI pin is wired. A value of "sdi" indicates that
|
||
|
the ADC SDI is connected to host SDO. "high" indicates that the ADC SDI
|
||
|
pin is hard-wired to logic high (VIO). "low" indicates that it is
|
||
|
hard-wired low (GND). "cs" indicates that the ADC SDI pin is connected to
|
||
|
the host CS line.
|
||
|
|
||
|
'#daisy-chained-devices': true
|
||
|
|
||
|
vdd-supply:
|
||
|
description: A 1.8V supply that powers the chip (VDD).
|
||
|
|
||
|
vio-supply:
|
||
|
description:
|
||
|
A 1.8V to 5.5V supply for the digital inputs and outputs (VIO).
|
||
|
|
||
|
ref-supply:
|
||
|
description:
|
||
|
A 2.5 to 5V supply for the external reference voltage (REF).
|
||
|
|
||
|
cnv-gpios:
|
||
|
description:
|
||
|
When provided, this property indicates the GPIO that is connected to the
|
||
|
CNV pin.
|
||
|
maxItems: 1
|
||
|
|
||
|
adi,high-z-input:
|
||
|
type: boolean
|
||
|
description:
|
||
|
High-Z mode allows the amplifier and RC filter in front of the ADC to be
|
||
|
chosen based on the signal bandwidth of interest, rather than the settling
|
||
|
requirements of the switched capacitor SAR ADC inputs.
|
||
|
|
||
|
adi,gain-milli:
|
||
|
description: |
|
||
|
The hardware gain applied to the ADC input (in milli units).
|
||
|
The gain provided by the ADC input scaler is defined by the hardware
|
||
|
connections between chip pins OUT+, R1K-, R1K1-, R1K+, R1K1+, and OUT-.
|
||
|
If not present, default to 1000 (no actual gain applied).
|
||
|
$ref: /schemas/types.yaml#/definitions/uint16
|
||
|
enum: [454, 909, 1000, 1900]
|
||
|
default: 1000
|
||
|
|
||
|
interrupts:
|
||
|
description:
|
||
|
The SDO pin can also function as a busy indicator. This node should be
|
||
|
connected to an interrupt that is triggered when the SDO line goes low
|
||
|
while the SDI line is high and the CNV line is low ("3-wire" mode) or the
|
||
|
SDI line is low and the CNV line is high ("4-wire" mode); or when the SDO
|
||
|
line goes high while the SDI and CNV lines are high (chain mode),
|
||
|
maxItems: 1
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- vdd-supply
|
||
|
- vio-supply
|
||
|
- ref-supply
|
||
|
|
||
|
allOf:
|
||
|
# The configuration register can only be accessed if SDI is connected to MOSI
|
||
|
- if:
|
||
|
required:
|
||
|
- adi,sdi-pin
|
||
|
then:
|
||
|
properties:
|
||
|
adi,high-z-input: false
|
||
|
# chain mode has lower SCLK max rate
|
||
|
- if:
|
||
|
required:
|
||
|
- '#daisy-chained-devices'
|
||
|
then:
|
||
|
properties:
|
||
|
spi-max-frequency:
|
||
|
maximum: 50000000 # for VIO > 2.7 V, 40000000 for VIO > 1.7 V
|
||
|
# Gain property only applies to ADAQ devices
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
not:
|
||
|
contains:
|
||
|
enum:
|
||
|
- adi,adaq4001
|
||
|
- adi,adaq4003
|
||
|
then:
|
||
|
properties:
|
||
|
adi,gain-milli: false
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
spi {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
adc@0 {
|
||
|
compatible = "adi,ad4020";
|
||
|
reg = <0>;
|
||
|
spi-max-frequency = <71000000>;
|
||
|
vdd-supply = <&supply_1_8V>;
|
||
|
vio-supply = <&supply_1_8V>;
|
||
|
ref-supply = <&supply_5V>;
|
||
|
adi,sdi-pin = "cs";
|
||
|
cnv-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
};
|
||
|
- |
|
||
|
spi {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
adc@0 {
|
||
|
compatible = "adi,adaq4003";
|
||
|
reg = <0>;
|
||
|
spi-max-frequency = <80000000>;
|
||
|
vdd-supply = <&supply_1_8V>;
|
||
|
vio-supply = <&supply_1_8V>;
|
||
|
ref-supply = <&supply_5V>;
|
||
|
adi,high-z-input;
|
||
|
adi,gain-milli = /bits/ 16 <454>;
|
||
|
};
|
||
|
};
|