From: João Paulo Gonçalves <joao.goncalves@xxxxxxxxxxx> Add devicetree bindings for Texas Instruments ADS1119 16-bit ADC with I2C interface. Datasheet: https://www.ti.com/lit/gpn/ads1119 Signed-off-by: João Paulo Gonçalves <joao.goncalves@xxxxxxxxxxx> Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx> --- .../bindings/iio/adc/ti,ads1119.yaml | 122 ++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 129 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml new file mode 100644 index 000000000000..ab4f01199dbe --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml @@ -0,0 +1,122 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/ti,ads1119.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments ADS1119 ADC + +maintainers: + - João Paulo Gonçalves <jpaulo.silvagoncalves@xxxxxxxxx> + +description: | + The TI ADS1119 is a precision 16-bit ADC over I2C that offers single-ended and + differential measurements using a multiplexed input. It features a programmable + gain, a programmable sample rate, an internal oscillator and voltage reference, + and a 50/60Hz rejection filter. + +properties: + compatible: + const: ti,ads1119 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + vref-supply: + description: + ADC external reference voltage (VREF). + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + "#io-channel-cells": + const: 1 + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +patternProperties: + "^channel@([0-6])$": + $ref: adc.yaml + type: object + description: | + ADC channels. + + properties: + reg: + description: | + 0: Voltage over AIN0 and AIN1. + 1: Voltage over AIN2 and AIN3. + 2: Voltage over AIN1 and AIN2. + 3: Voltage over AIN0 and GND. + 4: Voltage over AIN1 and GND. + 5: Voltage over AIN2 and GND. + 6: Voltage over AIN3 and GND. + items: + - minimum: 0 + maximum: 6 + + ti,gain: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + PGA gain value. + enum: [1, 4] + default: 1 + + ti,datarate: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Data acquisition rate in samples per second. + enum: [20, 90, 330, 1000] + default: 20 + + required: + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + adc@40 { + compatible = "ti,ads1119"; + reg = <0x40>; + #address-cells = <1>; + #size-cells = <0>; + #io-channel-cells = <1>; + + channel@0 { + reg = <0>; + ti,gain = <4>; + ti,datarate = <330>; + }; + + channel@4 { + reg = <4>; + ti,datarate = <1000>; + }; + + channel@5 { + reg = <5>; + ti,gain = <4>; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index d6c90161c7bf..f1b2c4b815e2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -22380,6 +22380,13 @@ M: Robert Richter <rric@xxxxxxxxxx> S: Odd Fixes F: drivers/gpio/gpio-thunderx.c +TI ADS1119 ADC DRIVER +M: Francesco Dolcini <francesco@xxxxxxxxxx> +M: João Paulo Gonçalves <jpaulo.silvagoncalves@xxxxxxxxx> +L: linux-iio@xxxxxxxxxxxxxxx +S: Maintained +F: Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml + TI ADS7924 ADC DRIVER M: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx> L: linux-iio@xxxxxxxxxxxxxxx -- 2.39.2