158 lines
3.4 KiB
YAML
158 lines
3.4 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|||
|
# Copyright 2019 Analog Devices Inc.
|
|||
|
%YAML 1.2
|
|||
|
---
|
|||
|
$id: http://devicetree.org/schemas/iio/adc/adi,ad7124.yaml#
|
|||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||
|
|
|||
|
title: Analog Devices AD7124 ADC device driver
|
|||
|
|
|||
|
maintainers:
|
|||
|
- Stefan Popa <stefan.popa@analog.com>
|
|||
|
|
|||
|
description: |
|
|||
|
Bindings for the Analog Devices AD7124 ADC device. Datasheet can be
|
|||
|
found here:
|
|||
|
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7124-8.pdf
|
|||
|
|
|||
|
properties:
|
|||
|
compatible:
|
|||
|
enum:
|
|||
|
- adi,ad7124-4
|
|||
|
- adi,ad7124-8
|
|||
|
|
|||
|
reg:
|
|||
|
description: SPI chip select number for the device
|
|||
|
maxItems: 1
|
|||
|
|
|||
|
clocks:
|
|||
|
maxItems: 1
|
|||
|
description: phandle to the master clock (mclk)
|
|||
|
|
|||
|
clock-names:
|
|||
|
items:
|
|||
|
- const: mclk
|
|||
|
|
|||
|
interrupts:
|
|||
|
description: IRQ line for the ADC
|
|||
|
maxItems: 1
|
|||
|
|
|||
|
'#address-cells':
|
|||
|
const: 1
|
|||
|
|
|||
|
'#size-cells':
|
|||
|
const: 0
|
|||
|
|
|||
|
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 supply can be used as reference for conversion.
|
|||
|
|
|||
|
required:
|
|||
|
- compatible
|
|||
|
- reg
|
|||
|
- clocks
|
|||
|
- clock-names
|
|||
|
- interrupts
|
|||
|
|
|||
|
patternProperties:
|
|||
|
"^channel@([0-9]|1[0-5])$":
|
|||
|
$ref: "adc.yaml"
|
|||
|
type: object
|
|||
|
description: |
|
|||
|
Represents the external channels which are connected to the ADC.
|
|||
|
|
|||
|
properties:
|
|||
|
reg:
|
|||
|
description: |
|
|||
|
The channel number. It can have up to 8 channels on ad7124-4
|
|||
|
and 16 channels on ad7124-8, numbered from 0 to 15.
|
|||
|
items:
|
|||
|
minimum: 0
|
|||
|
maximum: 15
|
|||
|
|
|||
|
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(−).
|
|||
|
3: AVDD
|
|||
|
If this field is left empty, internal reference is selected.
|
|||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|||
|
enum: [0, 1, 3]
|
|||
|
|
|||
|
diff-channels: true
|
|||
|
|
|||
|
bipolar: true
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
additionalProperties: false
|
|||
|
|
|||
|
allOf:
|
|||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
|||
|
|
|||
|
unevaluatedProperties: false
|
|||
|
|
|||
|
examples:
|
|||
|
- |
|
|||
|
spi {
|
|||
|
#address-cells = <1>;
|
|||
|
#size-cells = <0>;
|
|||
|
|
|||
|
adc@0 {
|
|||
|
compatible = "adi,ad7124-4";
|
|||
|
reg = <0>;
|
|||
|
spi-max-frequency = <5000000>;
|
|||
|
interrupts = <25 2>;
|
|||
|
interrupt-parent = <&gpio>;
|
|||
|
refin1-supply = <&adc_vref>;
|
|||
|
clocks = <&ad7124_mclk>;
|
|||
|
clock-names = "mclk";
|
|||
|
|
|||
|
#address-cells = <1>;
|
|||
|
#size-cells = <0>;
|
|||
|
|
|||
|
channel@0 {
|
|||
|
reg = <0>;
|
|||
|
diff-channels = <0 1>;
|
|||
|
adi,reference-select = <0>;
|
|||
|
adi,buffered-positive;
|
|||
|
};
|
|||
|
|
|||
|
channel@1 {
|
|||
|
reg = <1>;
|
|||
|
bipolar;
|
|||
|
diff-channels = <2 3>;
|
|||
|
adi,reference-select = <0>;
|
|||
|
adi,buffered-positive;
|
|||
|
adi,buffered-negative;
|
|||
|
};
|
|||
|
|
|||
|
channel@2 {
|
|||
|
reg = <2>;
|
|||
|
diff-channels = <4 5>;
|
|||
|
};
|
|||
|
|
|||
|
channel@3 {
|
|||
|
reg = <3>;
|
|||
|
diff-channels = <6 7>;
|
|||
|
};
|
|||
|
};
|
|||
|
};
|