mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 14:43:16 +00:00
dt-bindings: adc: add AD7173
The AD7173 family offer a complete integrated Sigma-Delta ADC solution which can be used in high precision, low noise single channel applications or higher speed multiplexed applications. The Sigma-Delta ADC is intended primarily for measurement of signals close to DC but also delivers outstanding performance with input bandwidths out to ~10kHz. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Dumitru Ceclan <mitrutzceclan@gmail.com> Link: https://lore.kernel.org/r/20240228110622.25114-1-mitrutzceclan@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
9266dba068
commit
3d50d03f21
246
Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
Normal file
246
Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml
Normal file
@ -0,0 +1,246 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2023 Analog Devices Inc.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,ad7173.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD7173 ADC
|
||||
|
||||
maintainers:
|
||||
- Ceclan Dumitru <dumitru.ceclan@analog.com>
|
||||
|
||||
description: |
|
||||
Analog Devices AD717x ADC's:
|
||||
The AD717x family offer a complete integrated Sigma-Delta ADC solution which
|
||||
can be used in high precision, low noise single channel applications
|
||||
(Life Science measurements) or higher speed multiplexed applications
|
||||
(Factory Automation PLC Input modules). The Sigma-Delta ADC is intended
|
||||
primarily for measurement of signals close to DC but also delivers
|
||||
outstanding performance with input bandwidths out to ~10kHz.
|
||||
|
||||
Datasheets for supported chips:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-2.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7176-2.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7172-2
|
||||
- adi,ad7173-8
|
||||
- adi,ad7175-2
|
||||
- adi,ad7176-2
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: |
|
||||
Ready: multiplexed with SPI data out. While SPI CS is low,
|
||||
can be used to indicate the completion of a conversion.
|
||||
|
||||
- description: |
|
||||
Error: The three error bits in the status register (ADC_ERROR, CRC_ERROR,
|
||||
and REG_ERROR) are OR'ed, inverted, and mapped to the ERROR pin.
|
||||
Therefore, the ERROR pin indicates that an error has occurred.
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: rdy
|
||||
- const: err
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 20000000
|
||||
|
||||
gpio-controller:
|
||||
description: Marks the device node as a GPIO controller.
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
description:
|
||||
The first cell is the GPIO number and the second cell specifies
|
||||
GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
|
||||
|
||||
vref-supply:
|
||||
description: |
|
||||
Differential external reference supply used for conversion. The reference
|
||||
voltage (Vref) specified here must be the voltage difference between the
|
||||
REF+ and REF- pins: Vref = (REF+) - (REF-).
|
||||
|
||||
vref2-supply:
|
||||
description: |
|
||||
Differential external reference supply used for conversion. The reference
|
||||
voltage (Vref2) specified here must be the voltage difference between the
|
||||
REF2+ and REF2- pins: Vref2 = (REF2+) - (REF2-).
|
||||
|
||||
avdd-supply:
|
||||
description: Avdd supply, can be used as reference for conversion.
|
||||
This supply is referenced to AVSS, voltage specified here
|
||||
represents (AVDD1 - AVSS).
|
||||
|
||||
avdd2-supply:
|
||||
description: Avdd2 supply, used as the input to the internal voltage regulator.
|
||||
This supply is referenced to AVSS, voltage specified here
|
||||
represents (AVDD2 - AVSS).
|
||||
|
||||
iovdd-supply:
|
||||
description: iovdd supply, used for the chip digital interface.
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: |
|
||||
Optional external clock source. Can include one clock source: external
|
||||
clock or external crystal.
|
||||
|
||||
clock-names:
|
||||
enum:
|
||||
- ext-clk
|
||||
- xtal
|
||||
|
||||
'#clock-cells':
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]$":
|
||||
type: object
|
||||
$ref: adc.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
diff-channels:
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 31
|
||||
|
||||
adi,reference-select:
|
||||
description: |
|
||||
Select the reference source to use when converting on
|
||||
the specific channel. Valid values are:
|
||||
vref : REF+ /REF−
|
||||
vref2 : REF2+ /REF2−
|
||||
refout-avss: REFOUT/AVSS (Internal reference)
|
||||
avdd : AVDD /AVSS
|
||||
|
||||
External reference ref2 only available on ad7173-8.
|
||||
If not specified, internal reference used.
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum:
|
||||
- vref
|
||||
- vref2
|
||||
- refout-avss
|
||||
- avdd
|
||||
default: refout-avss
|
||||
|
||||
required:
|
||||
- reg
|
||||
- diff-channels
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
not:
|
||||
contains:
|
||||
const: adi,ad7173-8
|
||||
then:
|
||||
properties:
|
||||
vref2-supply: false
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]$":
|
||||
properties:
|
||||
adi,reference-select:
|
||||
enum:
|
||||
- vref
|
||||
- refout-avss
|
||||
- avdd
|
||||
reg:
|
||||
maximum: 3
|
||||
|
||||
- if:
|
||||
anyOf:
|
||||
- required: [clock-names]
|
||||
- required: [clocks]
|
||||
then:
|
||||
properties:
|
||||
'#clock-cells': false
|
||||
|
||||
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,ad7173-8";
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "rdy";
|
||||
interrupt-parent = <&gpio>;
|
||||
spi-max-frequency = <5000000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#clock-cells = <0>;
|
||||
|
||||
vref-supply = <&dummy_regulator>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
bipolar;
|
||||
diff-channels = <0 1>;
|
||||
adi,reference-select = "vref";
|
||||
};
|
||||
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
diff-channels = <2 3>;
|
||||
};
|
||||
|
||||
channel@2 {
|
||||
reg = <2>;
|
||||
bipolar;
|
||||
diff-channels = <4 5>;
|
||||
};
|
||||
|
||||
channel@3 {
|
||||
reg = <3>;
|
||||
bipolar;
|
||||
diff-channels = <6 7>;
|
||||
};
|
||||
|
||||
channel@4 {
|
||||
reg = <4>;
|
||||
diff-channels = <8 9>;
|
||||
adi,reference-select = "avdd";
|
||||
};
|
||||
};
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user