# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/ti,ads131m02.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Texas Instruments ADS131M0x 2-, 3-, 4-, 6- and 8-Channel ADCs maintainers: - Oleksij Rempel description: | The ADS131M0x are a family of multichannel, simultaneous sampling, 24-bit, delta-sigma, analog-to-digital converters (ADCs) with a built-in programmable gain amplifier (PGA) and internal reference. Communication with the ADC chip is via SPI. Datasheets: - ADS131M02: https://www.ti.com/lit/ds/symlink/ads131m02.pdf - ADS131M03: https://www.ti.com/lit/ds/symlink/ads131m03.pdf - ADS131M04: https://www.ti.com/lit/ds/symlink/ads131m04.pdf - ADS131M06: https://www.ti.com/lit/ds/symlink/ads131m06.pdf - ADS131M08: https://www.ti.com/lit/ds/symlink/ads131m08.pdf properties: compatible: enum: - ti,ads131m02 - ti,ads131m03 - ti,ads131m04 - ti,ads131m06 - ti,ads131m08 reg: description: SPI chip select number. clocks: description: Phandle to the external clock source required by the ADC's CLKIN pin. The datasheet recommends specific frequencies based on the desired power mode (e.g., 8.192 MHz for High-Resolution mode). maxItems: 1 avdd-supply: description: Analog power supply (AVDD). dvdd-supply: description: Digital power supply (DVDD). interrupts: description: DRDY (Data Ready) output signal. maxItems: 1 reset-gpios: description: Optional RESET signal. maxItems: 1 clock-names: description: Indicates if a crystal oscillator (XTAL) or CMOS signal is connected (CLKIN). Note that XTAL mode is only supported on ADS131M06 and ADS131M08. enum: [xtal, clkin] refin-supply: description: Optional external reference supply (REFIN). '#address-cells': const: 1 '#size-cells': const: 0 required: - compatible - reg - clocks - clock-names - avdd-supply - dvdd-supply patternProperties: "^channel@[0-7]$": type: object $ref: /schemas/iio/adc/adc.yaml# description: Properties for a single ADC channel. properties: reg: description: The channel index (0-7). minimum: 0 maximum: 7 # Max channels on ADS131M08 label: true required: - reg unevaluatedProperties: false allOf: - $ref: /schemas/spi/spi-peripheral-props.yaml# - if: # 20-pin devices: M02, M03, M04 # These do not support XTAL or REFIN. properties: compatible: enum: - ti,ads131m02 - ti,ads131m03 - ti,ads131m04 then: properties: clock-names: const: clkin refin-supply: false - if: # ADS131M02: 2 channels max (0-1) properties: compatible: contains: const: ti,ads131m02 then: patternProperties: "^channel@[0-1]$": properties: reg: maximum: 1 "^channel@[2-7]$": false - if: # ADS131M03: 3 channels max (0-2) properties: compatible: contains: const: ti,ads131m03 then: patternProperties: "^channel@[0-2]$": properties: reg: maximum: 2 "^channel@[3-7]$": false - if: # ADS131M04: 4 channels max (0-3) properties: compatible: contains: const: ti,ads131m04 then: patternProperties: "^channel@[0-3]$": properties: reg: maximum: 3 "^channel@[4-7]$": false - if: # ADS131M06: 6 channels max (0-5) properties: compatible: contains: const: ti,ads131m06 then: patternProperties: "^channel@[0-5]$": properties: reg: maximum: 5 "^channel@[6-7]$": false unevaluatedProperties: false examples: - | #include spi1 { #address-cells = <1>; #size-cells = <0>; adc@0 { compatible = "ti,ads131m02"; reg = <0>; spi-max-frequency = <8000000>; clocks = <&rcc CK_MCO2>; clock-names = "clkin"; avdd-supply = <&vdd_ana>; dvdd-supply = <&vdd_dig>; #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0>; label = "input_voltage"; }; channel@1 { reg = <1>; label = "input_current"; }; }; };