Re: [PATCH 1/2] dt-bindings: iio: adc: ti,ads112c04: Add binding for ADS112C04
From: David Lechner
Date: Tue Jul 28 2026 - 10:59:17 EST
On 7/28/26 3:01 AM, Kyle Hsieh wrote:
> Add device tree binding documentation for Texas Instruments ADS112C04
> I2C Analog-to-Digital Converters.
If you haven't seen it already, I'm currently working on ADS112C14
which is a more complex, but otherwise very similar version of this
chip.
I think the differences are enough that it would be quite messy to
try to share DT bindings and code, so OK with me to proceed with
new bindings and driver. But we should try to make the use all of
the same conventions as much as we can. (And to make maintainers
happy, explain this in the cover letter so they don't ask why we
we need a new bindings/driver.)
For reference here are the bindings for that:
https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/tree/Documentation/devicetree/bindings/iio/adc/ti,ads112c14.yaml?h=testing
>
> These devices provide 4-channel, 16-bit delta-sigma ADCs with an I2C
> interface, programmable gain amplifier (PGA), and data-ready (DRDY)
> interrupt output.
>
> Signed-off-by: Kyle Hsieh <kylehsieh1995@xxxxxxxxx>
> ---
> .../devicetree/bindings/iio/adc/ti,ads112c04.yaml | 76 ++++++++++++++++++++++
> 1 file changed, 76 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads112c04.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads112c04.yaml
> new file mode 100644
> index 000000000000..55842fca1215
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads112c04.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/ti,ads112c04.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments ADS112C04 ADC
> +
> +maintainers:
> + - Kyle Hsieh <kylehsieh1995@xxxxxxxxx>
> +
> +description: |
> + The ADS112C04 (16-bit) are precision analog-to-digital converters (ADCs)
> + with an I2C interface. They feature a flexible input multiplexer, a
> + low-noise programmable gain amplifier (PGA), two programmable excitation
> + current sources, a voltage reference, and a precision temperature sensor.
> +
> +properties:
> + compatible:
> + enum:
> + - ti,ads112c04
> +
> + reg:
> + maxItems: 1
> + description: I2C address of the device.
> +
> + interrupts:
> + maxItems: 1
> + description:
> + Data ready (DRDY) interrupt output. It is asserted low when a new
> + conversion is ready.
> +
> + "#io-channel-cells":
> + const: 1
> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + GPIO connected to the RESET pin. Active low.
> +
> + avdd-supply:
> + description: Analog power supply (AVDD).
> +
> + dvdd-supply:
> + description: Digital power supply (DVDD).
> +
> + vref-supply:
> + description: External reference power supply (connected to REFP/REFN).
VREF is an internal signal. Technically, these are REFP and REFN and both
could have a supply connected to them. Also, there could be a resistor
connected across these instead of a supply. See ti,refp-refn-resistor-ohms
in ADS112C14 bindings and 3-wire RTD example in the datasheet (figure 74).
Additionally, we need channel properties to describe a bit about what is
connected to each AINn pin. We will need single-channel, diff-channels,
excitation-channels, excitation-current-nanoamp, and reference-sources
similar to ADS112C14.
> +
> +required:
> + - compatible
> + - reg
avdd-supply and dvdd-supply are required to power the device.
> +
> +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,ads112c04";
> + reg = <0x40>;
> + interrupt-parent = <&gpio>;
> + interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
> + #io-channel-cells = <1>;
> + reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
> + avdd-supply = <&vdd_3v3_reg>;
> + dvdd-supply = <&vdd_3v3_reg>;
> + vref-supply = <&vref_reg>;
> + };
> + };
> +...
>