On Mon, May 27, 2024 at 05:40:49PM +0200, Francesco Dolcini wrote: > 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: | Most of the |s you have in this file are not needed - you don't have any formatting to preserve in all but the channels. > + 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. Take a look at diff-channels. > + items: > + - minimum: 0 > + maximum: 6 > + > + ti,gain: What makes this a property of the hardware? Also, missing unit. > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | > + PGA gain value. > + enum: [1, 4] > + default: 1 > + > + ti,datarate: Ditto here, why's this a property of the hardware? Usually this gets set from sysfs.. Thanks, Conor. > + $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 >
Attachment:
signature.asc
Description: PGP signature