# 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 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 avdd-supply: true dvdd-supply: true 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" - avdd-supply - dvdd-supply patternProperties: "^channel@([0-6])$": $ref: adc.yaml type: object properties: reg: minimum: 0 maximum: 6 diff-channels: description: Differential input channels AIN0-AIN1, AIN2-AIN3 and AIN1-AIN2. oneOf: - items: - const: 0 - const: 1 - items: - const: 2 - const: 3 - items: - const: 1 - const: 2 single-channel: description: Single-ended input channels AIN0, AIN1, AIN2 and AIN3. minimum: 0 maximum: 3 oneOf: - required: - diff-channels - required: - single-channel required: - reg unevaluatedProperties: false additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; adc@40 { compatible = "ti,ads1119"; reg = <0x40>; interrupt-parent = <&gpio1>; interrupts = <25 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; avdd-supply = <®_avdd_ads1119>; dvdd-supply = <®_dvdd_ads1119>; vref-supply = <®_vref_ads1119>; #address-cells = <1>; #size-cells = <0>; #io-channel-cells = <1>; channel@0 { reg = <0>; single-channel = <0>; }; channel@1 { reg = <1>; diff-channels = <0 1>; }; channel@2 { reg = <2>; single-channel = <3>; }; channel@3 { reg = <3>; single-channel = <1>; }; channel@4 { reg = <4>; single-channel = <2>; }; channel@5 { reg = <5>; diff-channels = <1 2>; }; channel@6 { reg = <6>; diff-channels = <2 3>; }; }; };