Re: [PATCH v1 1/2] dt-bindings: iio: adc: add ti,ads1119

From: Conor Dooley
Date: Mon May 27 2024 - 12:30:35 EST


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