Re: [PATCH 1/5] dt-bindings: iio: adc: Add TI ADS126x ADC family

From: Krzysztof Kozlowski

Date: Sat Jun 13 2026 - 14:55:27 EST


On Fri, Jun 12, 2026 at 05:46:19PM -0500, Kurt Borja wrote:
> + ti,neg-refmux:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the negative voltage reference input:
> + 0: Internal 2.5 V reference
> + 1: AIN1 pin
> + 2: AIN3 pin
> + 3: AIN5 pin
> + 4: AVSS pin
> + minimum: 0
> + maximum: 4
> + default: 0
> +
> + ti,vbias:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description: Enables the level-shift voltage on the AINCOM pin.
> + default: false

There is no such syntax, drop.

> +
> + ti,idac1-pin:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the analog input pin to connect IDAC1:
> + 0: AIN0
> + 1: AIN1
> + 2: AIN2
> + 3: AIN3
> + 4: AIN4
> + 5: AIN5
> + 6: AIN6
> + 7: AIN7
> + 8: AIN8
> + 9: AIN9
> + 10: AINCOM
> + 11: No Connection
> + minimum: 0
> + maximum: 11
> + default: 11
> +
> + ti,idac1-microamp:
> + description: Selects the current values of IDAC1.
> + enum: [0, 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000]
> + default: 0
> +
> + ti,idac2-pin:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the analog input pin to connect IDAC2:
> + 0: AIN0
> + 1: AIN1
> + 2: AIN2
> + 3: AIN3
> + 4: AIN4
> + 5: AIN5
> + 6: AIN6
> + 7: AIN7
> + 8: AIN8
> + 9: AIN9
> + 10: AINCOM
> + 11: No Connection
> + minimum: 0
> + maximum: 11
> + default: 11
> +
> + ti,idac2-microamp:
> + description: Selects the current values of IDAC2.
> + enum: [0, 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000]
> + default: 0
> +
> + clocks:
> + maxItems: 1
> +
> + '#io-channel-cells':
> + const: 1
> +
> + '#gpio-cells':
> + const: 2
> +
> + gpio-controller: true
> +
> + adc:
> + $ref: /schemas/iio/adc/ti,ads1263-adc2.yaml#

Not a separate device node. Fold into the parent... or explain in
commit msg. You have entire commit msg to explain odd things.

In that binding description you call it "independent", so it should have
its own SPI chip select? Why "independent" and part of this binding?
Maybe not independent, so basically part of this device?

> +
> +required:
> + - compatible
> + - reg
> + - avdd-supply
> + - dvdd-supply
> + - '#address-cells'
> + - '#size-cells'
> +
> +unevaluatedProperties: false
> +
> +patternProperties:

patternProps always follow properties. Please open example-schema for
template.

> + "^channel@[0-9]+$":
> + $ref: /schemas/iio/adc/adc.yaml#
> + additionalProperties: false
> +
> + properties:
> + reg:
> + maxItems: 1
> +
> + diff-channels:
> + description: |
> + Selects the analog input configuration for this channel. The first
> + value is the positive input and the second is the negative input.
> + The following values are available:
> + 0: AIN0 pin
> + 1: AIN1 pin
> + 2: AIN2 pin
> + 3: AIN3 pin
> + 4: AIN4 pin
> + 5: AIN5 pin
> + 6: AIN6 pin
> + 7: AIN7 pin
> + 8: AIN8 pin
> + 9: AIN9 pin
> + 10: AINCOM pin
> + 11: Temperature sensor monitor
> + 12: Analog power supply monitor
> + 13: Digital power supply monitor
> + 14: TDAC test signal
> + 15: Float (open connection)
> + items:
> + minimum: 0
> + maximum: 15
> +
> + ti,chop-mode:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + When enabled, the ADC performs two internal conversions to cancel the
> + input offset voltage. The first conversion is taken with normal input
> + polarity. The ADC reverses the internal input polarity for the second
> + conversion. The difference of the two conversions is computed to yield
> + the final corrected result with the offset voltage removed.
> + default: false
> +
> + ti,idac-rotation-mode:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + The rotation mode automatically swaps the IDAC1 and IDAC2 connections
> + of alternate conversions. The ADC averages the alternate conversions
> + to eliminate IDAC mismatch.
> + default: false
> +
> + ti,pga-bypass:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description: Bypass the Programmable Gain Amplifier (PGA).
> + default: false
> +
> + ti,rev-vref-pol:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + The reference polarity can be negative, but the ADC requires a
> + positive voltage reference. In this case, the reference
> + polarity-reversal switch changes the reference polarity from negative
> + to positive.
> + default: false
> +
> + ti,sbias-connection:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the sensor bias current source connection:
> + 0: Sensor bias connected to ADC1 mux out
> + 1: Sensor bias connected to ADC2 mux out

Use string enum.

> + minimum: 0
> + maximum: 1
> + default: 0
> +
> + ti,sbias-polarity:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the sensor bias current source polarity:
> + 0: Sensor bias pull-up
> + 1: Sensor bias pull-down
> + minimum: 0
> + maximum: 1
> + default: 0

Use string enum.

> +
> + ti,sbias-magnitude:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Selects the sensor bias magnitude:
> + 0: No sensor bias current or resistor
> + 1: 0.5-uA sensor bias current
> + 2: 2-uA sensor bias current
> + 3: 10-uA sensor bias current
> + 4: 50-uA sensor bias current
> + 5: 200-uA sensor bias current
> + 6: 10-Mohm resistor
> + minimum: 0
> + maximum: 6
> + default: 0
> +
> + required:
> + - reg
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0 {
> + compatible = "ti,ads1263";
> + reg = <0>;
> + spi-max-frequency = <8000000>;
> + spi-cpha;
> + avdd-supply = <&avdd>;
> + dvdd-supply = <&dvdd>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + reset-gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> +
> + /* AINP: 0 - AINN: AINCOM */
> + channel@0 {
> + reg = <0>;
> + diff-channels = <0x0 0xA>;
> + };
> +
> + /* Temperature sensor monitor */
> + channel@1 {
> + reg = <1>;
> + diff-channels = <0xB 0xB>;
> + };
> +
> + adc {
> + compatible = "ti,ads1263-adc2";

Heavily incomplete... Drop the sub node.

Best regards,
Krzysztof