mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 07:44:21 +08:00
dt-bindings: iio: adc: add ad7944 ADCs
This adds a new binding for the Analog Devices, Inc. AD7944, AD7985, and AD7986 ADCs. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20240304-ad7944-mainline-v5-1-f0a38cea8901@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
1c5aa559a6
commit
59346366e5
213
Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
Normal file
213
Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
Normal file
@ -0,0 +1,213 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,ad7944.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices PulSAR LFCSP Analog to Digital Converters
|
||||
|
||||
maintainers:
|
||||
- Michael Hennerich <Michael.Hennerich@analog.com>
|
||||
- Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
description: |
|
||||
A family of pin-compatible single channel differential analog to digital
|
||||
converters with SPI support in a LFCSP package.
|
||||
|
||||
* https://www.analog.com/en/products/ad7944.html
|
||||
* https://www.analog.com/en/products/ad7985.html
|
||||
* https://www.analog.com/en/products/ad7986.html
|
||||
|
||||
$ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7944
|
||||
- adi,ad7985
|
||||
- adi,ad7986
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 111111111
|
||||
|
||||
spi-cpol: true
|
||||
spi-cpha: true
|
||||
|
||||
adi,spi-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [ single, chain ]
|
||||
description: |
|
||||
This property indicates the SPI wiring configuration.
|
||||
|
||||
When this property is omitted, it is assumed that the device is using what
|
||||
the datasheet calls "4-wire mode". This is the conventional SPI mode used
|
||||
when there are multiple devices on the same bus. In this mode, the CNV
|
||||
line is used to initiate the conversion and the SDI line is connected to
|
||||
CS on the SPI controller.
|
||||
|
||||
When this property is present, it indicates that the device is using one
|
||||
of the following alternative wiring configurations:
|
||||
|
||||
* single: The datasheet calls this "3-wire mode". (NOTE: The datasheet's
|
||||
definition of 3-wire mode is NOT at all related to the standard
|
||||
spi-3wire property!) This mode is often used when the ADC is the only
|
||||
device on the bus. In this mode, SDI is tied to VIO, and the CNV line
|
||||
can be connected to the CS line of the SPI controller or to a GPIO, in
|
||||
which case the CS line of the controller is unused.
|
||||
* chain: The datasheet calls this "chain mode". This mode is used to save
|
||||
on wiring when multiple ADCs are used. In this mode, the SDI line of
|
||||
one chip is tied to the SDO of the next chip in the chain and the SDI of
|
||||
the last chip in the chain is tied to GND. Only the first chip in the
|
||||
chain is connected to the SPI bus. The CNV line of all chips are tied
|
||||
together. The CS line of the SPI controller can be used as the CNV line
|
||||
only if it is active high.
|
||||
|
||||
'#daisy-chained-devices': true
|
||||
|
||||
avdd-supply:
|
||||
description: A 2.5V supply that powers the analog circuitry.
|
||||
|
||||
dvdd-supply:
|
||||
description: A 2.5V supply that powers the digital circuitry.
|
||||
|
||||
vio-supply:
|
||||
description:
|
||||
A 1.8V to 2.7V supply for the digital inputs and outputs.
|
||||
|
||||
bvdd-supply:
|
||||
description:
|
||||
A voltage supply for the buffered power. When using an external reference
|
||||
without an internal buffer (PDREF high, REFIN low), this should be
|
||||
connected to the same supply as ref-supply. Otherwise, when using an
|
||||
internal reference or an external reference with an internal buffer, this
|
||||
is connected to a 5V supply.
|
||||
|
||||
ref-supply:
|
||||
description:
|
||||
Voltage regulator for the external reference voltage (REF). This property
|
||||
is omitted when using an internal reference.
|
||||
|
||||
refin-supply:
|
||||
description:
|
||||
Voltage regulator for the reference buffer input (REFIN). When using an
|
||||
external buffer with internal reference, this should be connected to a
|
||||
1.2V external reference voltage supply. Otherwise, this property is
|
||||
omitted.
|
||||
|
||||
cnv-gpios:
|
||||
description:
|
||||
The Convert Input (CNV). This input has multiple functions. It initiates
|
||||
the conversions and selects the SPI mode of the device (chain or CS). In
|
||||
'single' mode, this property is omitted if the CNV pin is connected to the
|
||||
CS line of the SPI controller.
|
||||
maxItems: 1
|
||||
|
||||
turbo-gpios:
|
||||
description:
|
||||
GPIO connected to the TURBO line. If omitted, it is assumed that the TURBO
|
||||
line is hard-wired and the state is determined by the adi,always-turbo
|
||||
property.
|
||||
maxItems: 1
|
||||
|
||||
adi,always-turbo:
|
||||
type: boolean
|
||||
description:
|
||||
When present, this property indicates that the TURBO line is hard-wired
|
||||
and the state is always high. If neither this property nor turbo-gpios is
|
||||
present, the TURBO line is assumed to be hard-wired and the state is
|
||||
always low.
|
||||
|
||||
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 ('single' mode) or the
|
||||
SDI line is low and the CNV line is high ('multi' mode); or when the SDO
|
||||
line goes high while the SDI and CNV lines are high (chain mode),
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- avdd-supply
|
||||
- dvdd-supply
|
||||
- vio-supply
|
||||
- bvdd-supply
|
||||
|
||||
allOf:
|
||||
# ref-supply and refin-supply are mutually exclusive (neither is also valid)
|
||||
- if:
|
||||
required:
|
||||
- ref-supply
|
||||
then:
|
||||
properties:
|
||||
refin-supply: false
|
||||
- if:
|
||||
required:
|
||||
- refin-supply
|
||||
then:
|
||||
properties:
|
||||
ref-supply: false
|
||||
# in '4-wire' mode, cnv-gpios is required, for other modes it is optional
|
||||
- if:
|
||||
not:
|
||||
required:
|
||||
- adi,spi-mode
|
||||
then:
|
||||
required:
|
||||
- cnv-gpios
|
||||
# chain mode has lower SCLK max rate and doesn't work when TURBO is enabled
|
||||
- if:
|
||||
required:
|
||||
- adi,spi-mode
|
||||
properties:
|
||||
adi,spi-mode:
|
||||
const: chain
|
||||
then:
|
||||
properties:
|
||||
spi-max-frequency:
|
||||
maximum: 90909090
|
||||
adi,always-turbo: false
|
||||
required:
|
||||
- '#daisy-chained-devices'
|
||||
else:
|
||||
properties:
|
||||
'#daisy-chained-devices': false
|
||||
# turbo-gpios and adi,always-turbo are mutually exclusive
|
||||
- if:
|
||||
required:
|
||||
- turbo-gpios
|
||||
then:
|
||||
properties:
|
||||
adi,always-turbo: false
|
||||
- if:
|
||||
required:
|
||||
- adi,always-turbo
|
||||
then:
|
||||
properties:
|
||||
turbo-gpios: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
adc@0 {
|
||||
compatible = "adi,ad7944";
|
||||
reg = <0>;
|
||||
spi-cpha;
|
||||
spi-max-frequency = <111111111>;
|
||||
avdd-supply = <&supply_2_5V>;
|
||||
dvdd-supply = <&supply_2_5V>;
|
||||
vio-supply = <&supply_1_8V>;
|
||||
bvdd-supply = <&supply_5V>;
|
||||
cnv-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
turbo-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
@ -441,6 +441,14 @@ W: http://wiki.analog.com/AD7879
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: drivers/input/touchscreen/ad7879.c
|
||||
|
||||
AD7944 ADC DRIVER (AD7944/AD7985/AD7986)
|
||||
M: Michael Hennerich <michael.hennerich@analog.com>
|
||||
M: Nuno Sá <nuno.sa@analog.com>
|
||||
R: David Lechner <dlechner@baylibre.com>
|
||||
S: Supported
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
|
||||
|
||||
ADAFRUIT MINI I2C GAMEPAD
|
||||
M: Anshul Dalal <anshulusr@gmail.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
|
Loading…
Reference in New Issue
Block a user