263 lines
6.0 KiB
YAML
263 lines
6.0 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|||
|
# Copyright 2022 Analog Devices Inc.
|
|||
|
%YAML 1.2
|
|||
|
---
|
|||
|
$id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml#
|
|||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||
|
|
|||
|
title: Analog Devices AD4130 ADC device driver
|
|||
|
|
|||
|
maintainers:
|
|||
|
- Cosmin Tanislav <cosmin.tanislav@analog.com>
|
|||
|
|
|||
|
description: |
|
|||
|
Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here:
|
|||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf
|
|||
|
|
|||
|
properties:
|
|||
|
compatible:
|
|||
|
enum:
|
|||
|
- adi,ad4130
|
|||
|
|
|||
|
reg:
|
|||
|
maxItems: 1
|
|||
|
|
|||
|
clocks:
|
|||
|
maxItems: 1
|
|||
|
description: phandle to the master clock (mclk)
|
|||
|
|
|||
|
clock-names:
|
|||
|
items:
|
|||
|
- const: mclk
|
|||
|
|
|||
|
interrupts:
|
|||
|
maxItems: 1
|
|||
|
|
|||
|
interrupt-names:
|
|||
|
description: |
|
|||
|
Specify which interrupt pin should be configured as Data Ready / FIFO
|
|||
|
interrupt.
|
|||
|
Default if not supplied is int.
|
|||
|
enum:
|
|||
|
- int
|
|||
|
- clk
|
|||
|
- p2
|
|||
|
- dout
|
|||
|
|
|||
|
'#address-cells':
|
|||
|
const: 1
|
|||
|
|
|||
|
'#size-cells':
|
|||
|
const: 0
|
|||
|
|
|||
|
'#clock-cells':
|
|||
|
const: 0
|
|||
|
|
|||
|
clock-output-names:
|
|||
|
maxItems: 1
|
|||
|
|
|||
|
refin1-supply:
|
|||
|
description: refin1 supply. Can be used as reference for conversion.
|
|||
|
|
|||
|
refin2-supply:
|
|||
|
description: refin2 supply. Can be used as reference for conversion.
|
|||
|
|
|||
|
avdd-supply:
|
|||
|
description: AVDD voltage supply. Can be used as reference for conversion.
|
|||
|
|
|||
|
iovdd-supply:
|
|||
|
description: IOVDD voltage supply. Used for the chip interface.
|
|||
|
|
|||
|
spi-max-frequency:
|
|||
|
maximum: 5000000
|
|||
|
|
|||
|
adi,ext-clk-freq-hz:
|
|||
|
description: Specify the frequency of the external clock.
|
|||
|
enum: [76800, 153600]
|
|||
|
default: 76800
|
|||
|
|
|||
|
adi,bipolar:
|
|||
|
description: Specify if the device should be used in bipolar mode.
|
|||
|
type: boolean
|
|||
|
|
|||
|
adi,vbias-pins:
|
|||
|
description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to.
|
|||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|||
|
minItems: 1
|
|||
|
maxItems: 16
|
|||
|
items:
|
|||
|
minimum: 0
|
|||
|
maximum: 15
|
|||
|
|
|||
|
required:
|
|||
|
- compatible
|
|||
|
- reg
|
|||
|
- interrupts
|
|||
|
|
|||
|
patternProperties:
|
|||
|
"^channel@([0-9a-f])$":
|
|||
|
type: object
|
|||
|
$ref: adc.yaml
|
|||
|
unevaluatedProperties: false
|
|||
|
|
|||
|
properties:
|
|||
|
reg:
|
|||
|
description: The channel number.
|
|||
|
minimum: 0
|
|||
|
maximum: 15
|
|||
|
|
|||
|
diff-channels:
|
|||
|
description: |
|
|||
|
Besides the analog inputs available, internal inputs can be used.
|
|||
|
16: Internal temperature sensor.
|
|||
|
17: AVSS
|
|||
|
18: Internal reference
|
|||
|
19: DGND
|
|||
|
20: (AVDD − AVSS)/6+
|
|||
|
21: (AVDD − AVSS)/6-
|
|||
|
22: (IOVDD − DGND)/6+
|
|||
|
23: (IOVDD − DGND)/6-
|
|||
|
24: (ALDO − AVSS)/6+
|
|||
|
25: (ALDO − AVSS)/6-
|
|||
|
26: (DLDO − DGND)/6+
|
|||
|
27: (DLDO − DGND)/6-
|
|||
|
28: V_MV_P
|
|||
|
29: V_MV_M
|
|||
|
items:
|
|||
|
minimum: 0
|
|||
|
maximum: 29
|
|||
|
|
|||
|
adi,reference-select:
|
|||
|
description: |
|
|||
|
Select the reference source to use when converting on the
|
|||
|
specific channel. Valid values are:
|
|||
|
0: REFIN1(+)/REFIN1(−)
|
|||
|
1: REFIN2(+)/REFIN2(−)
|
|||
|
2: REFOUT/AVSS (Internal reference)
|
|||
|
3: AVDD/AVSS
|
|||
|
If not specified, REFIN1 is used.
|
|||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|||
|
enum: [0, 1, 2, 3]
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,excitation-pin-0:
|
|||
|
description: |
|
|||
|
Analog input to apply excitation current to while the channel
|
|||
|
is active.
|
|||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|||
|
minimum: 0
|
|||
|
maximum: 15
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,excitation-pin-1:
|
|||
|
description: |
|
|||
|
Analog input to apply excitation current to while this channel
|
|||
|
is active.
|
|||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|||
|
minimum: 0
|
|||
|
maximum: 15
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,excitation-current-0-nanoamp:
|
|||
|
description: |
|
|||
|
Excitation current in nanoamps to be applied to pin specified in
|
|||
|
adi,excitation-pin-0 while this channel is active.
|
|||
|
enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,excitation-current-1-nanoamp:
|
|||
|
description: |
|
|||
|
Excitation current in nanoamps to be applied to pin specified in
|
|||
|
adi,excitation-pin-1 while this channel is active.
|
|||
|
enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,burnout-current-nanoamp:
|
|||
|
description: |
|
|||
|
Burnout current in nanoamps to be applied for this channel.
|
|||
|
enum: [0, 500, 2000, 4000]
|
|||
|
default: 0
|
|||
|
|
|||
|
adi,buffered-positive:
|
|||
|
description: Enable buffered mode for positive input.
|
|||
|
type: boolean
|
|||
|
|
|||
|
adi,buffered-negative:
|
|||
|
description: Enable buffered mode for negative input.
|
|||
|
type: boolean
|
|||
|
|
|||
|
required:
|
|||
|
- reg
|
|||
|
- diff-channels
|
|||
|
|
|||
|
allOf:
|
|||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
|||
|
|
|||
|
unevaluatedProperties: false
|
|||
|
|
|||
|
examples:
|
|||
|
- |
|
|||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|||
|
|
|||
|
spi {
|
|||
|
#address-cells = <1>;
|
|||
|
#size-cells = <0>;
|
|||
|
|
|||
|
adc@0 {
|
|||
|
compatible = "adi,ad4130";
|
|||
|
reg = <0>;
|
|||
|
|
|||
|
#address-cells = <1>;
|
|||
|
#size-cells = <0>;
|
|||
|
|
|||
|
spi-max-frequency = <5000000>;
|
|||
|
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
|
|||
|
interrupt-parent = <&gpio>;
|
|||
|
|
|||
|
channel@0 {
|
|||
|
reg = <0>;
|
|||
|
|
|||
|
adi,reference-select = <2>;
|
|||
|
|
|||
|
/* AIN8, AIN9 */
|
|||
|
diff-channels = <8 9>;
|
|||
|
};
|
|||
|
|
|||
|
channel@1 {
|
|||
|
reg = <1>;
|
|||
|
|
|||
|
adi,reference-select = <2>;
|
|||
|
|
|||
|
/* AIN10, AIN11 */
|
|||
|
diff-channels = <10 11>;
|
|||
|
};
|
|||
|
|
|||
|
channel@2 {
|
|||
|
reg = <2>;
|
|||
|
|
|||
|
adi,reference-select = <2>;
|
|||
|
|
|||
|
/* Temperature Sensor, DGND */
|
|||
|
diff-channels = <16 19>;
|
|||
|
};
|
|||
|
|
|||
|
channel@3 {
|
|||
|
reg = <3>;
|
|||
|
|
|||
|
adi,reference-select = <2>;
|
|||
|
|
|||
|
/* Internal reference, DGND */
|
|||
|
diff-channels = <18 19>;
|
|||
|
};
|
|||
|
|
|||
|
channel@4 {
|
|||
|
reg = <4>;
|
|||
|
|
|||
|
adi,reference-select = <2>;
|
|||
|
|
|||
|
/* DGND, DGND */
|
|||
|
diff-channels = <19 19>;
|
|||
|
};
|
|||
|
};
|
|||
|
};
|