mirror of
https://github.com/torvalds/linux.git
synced 2026-04-24 01:25:49 -04:00
This both ensures this binding is compliant with the generic properties and reduces the amount we need to specify in this separate binding. Whilst here mark the child node as additionalProperties: false Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Rob Herring <robh@kernel.org> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Link: https://lore.kernel.org/r/20201031182423.742798-3-jic23@kernel.org
157 lines
3.4 KiB
YAML
157 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.
|
||
|
||
spi-max-frequency: true
|
||
|
||
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
|
||
|
||
additionalProperties: 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>;
|
||
};
|
||
};
|
||
};
|