Skip to content

Commit

Permalink
dt-bindings: iio: adc: add AD7191
Browse files Browse the repository at this point in the history
AD7191 is a pin-programmable, ultralow noise 24-bit sigma-delta ADC
designed for precision bridge sensor measurements. It features two
differential analog input channels, selectable output rates,
programmable gain, internal temperature sensor and simultaneous
50Hz/60Hz rejection.

Signed-off-by: Alisa-Dariana Roman <[email protected]>
  • Loading branch information
romandariana committed Dec 19, 2024
1 parent a13cd00 commit a44063a
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 0 deletions.
128 changes: 128 additions & 0 deletions Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2024 Analog Devices Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/adi,ad7191.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AD7191 ADC device driver

maintainers:
- Alisa-Dariana Roman <[email protected]>

description: |
Bindings for the Analog Devices AD7191 ADC device. Datasheet can be
found here:
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7191.pdf
properties:
compatible:
enum:
- adi,ad7191

reg:
maxItems: 1

spi-cpol: true

spi-cpha: true

clocks:
maxItems: 1
description:
Optionally, either a crystal can be attached externally between MCLK1 and
MCLK2 pins, or an external CMOS-compatible clock can drive the MCLK2
pin. If absent, internal 4.92MHz clock is used.

interrupts:
maxItems: 1

avdd-supply:
description: AVdd voltage supply

dvdd-supply:
description: DVdd voltage supply

vref-supply:
description: Vref voltage supply

odr1-gpios:
description: GPIO connected to ODR1 pin for output data rate selection
maxItems: 1

odr2-gpios:
description: GPIO connected to ODR2 pin for output data rate selection
maxItems: 1

pga1-gpios:
description: GPIO connected to PGA1 pin for gain selection
maxItems: 1

pga2-gpios:
description: GPIO connected to PGA2 pin for gain selection
maxItems: 1

temp-gpios:
description: GPIO connected to TEMP pin for temperature sensor enable
maxItems: 1

chan-gpios:
description: GPIO connected to CHAN pin for input channel selection
maxItems: 1

clksel-gpios:
description: GPIO connected to CLKSEL pin for clock source selection
maxItems: 1

required:
- compatible
- reg
- interrupts
- avdd-supply
- dvdd-supply
- vref-supply
- spi-cpol
- spi-cpha
- odr1-gpios
- odr2-gpios
- pga1-gpios
- pga2-gpios
- temp-gpios
- chan-gpios
- clksel-gpios

allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
spi0 {
#address-cells = <1>;
#size-cells = <0>;
adc@0 {
compatible = "adi,ad7191";
reg = <0>;
spi-max-frequency = <1000000>;
spi-cpol;
spi-cpha;
clocks = <&ad7191_mclk>;
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
interrupt-parent = <&gpio>;
avdd-supply = <&avdd>;
dvdd-supply = <&dvdd>;
vref-supply = <&vref>;
odr1-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
odr2-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
pga1-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
pga2-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
temp-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
chan-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
clksel-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1258,6 +1258,13 @@ F: Documentation/iio/ad4695.rst
F: drivers/iio/adc/ad4695.c
F: include/dt-bindings/iio/adi,ad4695.h

ANALOG DEVICES INC AD7191 DRIVER
M: Alisa-Dariana Roman <[email protected]>
L: [email protected]
S: Supported
W: https://ez.analog.com/linux-software-drivers
F: Documentation/devicetree/bindings/iio/adc/adi,ad7191.yaml

ANALOG DEVICES INC AD7192 DRIVER
M: Alexandru Tachici <[email protected]>
L: [email protected]
Expand Down

0 comments on commit a44063a

Please sign in to comment.