1*1ca733e8SOleksij Rempel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*1ca733e8SOleksij Rempel%YAML 1.2 3*1ca733e8SOleksij Rempel--- 4*1ca733e8SOleksij Rempel$id: http://devicetree.org/schemas/iio/adc/ti,ads131m02.yaml# 5*1ca733e8SOleksij Rempel$schema: http://devicetree.org/meta-schemas/core.yaml# 6*1ca733e8SOleksij Rempel 7*1ca733e8SOleksij Rempeltitle: Texas Instruments ADS131M0x 2-, 3-, 4-, 6- and 8-Channel ADCs 8*1ca733e8SOleksij Rempel 9*1ca733e8SOleksij Rempelmaintainers: 10*1ca733e8SOleksij Rempel - Oleksij Rempel <o.rempel@pengutronix.de> 11*1ca733e8SOleksij Rempel 12*1ca733e8SOleksij Rempeldescription: | 13*1ca733e8SOleksij Rempel The ADS131M0x are a family of multichannel, simultaneous sampling, 14*1ca733e8SOleksij Rempel 24-bit, delta-sigma, analog-to-digital converters (ADCs) with a 15*1ca733e8SOleksij Rempel built-in programmable gain amplifier (PGA) and internal reference. 16*1ca733e8SOleksij Rempel Communication with the ADC chip is via SPI. 17*1ca733e8SOleksij Rempel 18*1ca733e8SOleksij Rempel Datasheets: 19*1ca733e8SOleksij Rempel - ADS131M02: https://www.ti.com/lit/ds/symlink/ads131m02.pdf 20*1ca733e8SOleksij Rempel - ADS131M03: https://www.ti.com/lit/ds/symlink/ads131m03.pdf 21*1ca733e8SOleksij Rempel - ADS131M04: https://www.ti.com/lit/ds/symlink/ads131m04.pdf 22*1ca733e8SOleksij Rempel - ADS131M06: https://www.ti.com/lit/ds/symlink/ads131m06.pdf 23*1ca733e8SOleksij Rempel - ADS131M08: https://www.ti.com/lit/ds/symlink/ads131m08.pdf 24*1ca733e8SOleksij Rempel 25*1ca733e8SOleksij Rempelproperties: 26*1ca733e8SOleksij Rempel compatible: 27*1ca733e8SOleksij Rempel enum: 28*1ca733e8SOleksij Rempel - ti,ads131m02 29*1ca733e8SOleksij Rempel - ti,ads131m03 30*1ca733e8SOleksij Rempel - ti,ads131m04 31*1ca733e8SOleksij Rempel - ti,ads131m06 32*1ca733e8SOleksij Rempel - ti,ads131m08 33*1ca733e8SOleksij Rempel 34*1ca733e8SOleksij Rempel reg: 35*1ca733e8SOleksij Rempel description: SPI chip select number. 36*1ca733e8SOleksij Rempel 37*1ca733e8SOleksij Rempel clocks: 38*1ca733e8SOleksij Rempel description: 39*1ca733e8SOleksij Rempel Phandle to the external clock source required by the ADC's CLKIN pin. 40*1ca733e8SOleksij Rempel The datasheet recommends specific frequencies based on the desired power 41*1ca733e8SOleksij Rempel mode (e.g., 8.192 MHz for High-Resolution mode). 42*1ca733e8SOleksij Rempel maxItems: 1 43*1ca733e8SOleksij Rempel 44*1ca733e8SOleksij Rempel avdd-supply: 45*1ca733e8SOleksij Rempel description: Analog power supply (AVDD). 46*1ca733e8SOleksij Rempel 47*1ca733e8SOleksij Rempel dvdd-supply: 48*1ca733e8SOleksij Rempel description: Digital power supply (DVDD). 49*1ca733e8SOleksij Rempel 50*1ca733e8SOleksij Rempel interrupts: 51*1ca733e8SOleksij Rempel description: DRDY (Data Ready) output signal. 52*1ca733e8SOleksij Rempel maxItems: 1 53*1ca733e8SOleksij Rempel 54*1ca733e8SOleksij Rempel reset-gpios: 55*1ca733e8SOleksij Rempel description: Optional RESET signal. 56*1ca733e8SOleksij Rempel maxItems: 1 57*1ca733e8SOleksij Rempel 58*1ca733e8SOleksij Rempel clock-names: 59*1ca733e8SOleksij Rempel description: 60*1ca733e8SOleksij Rempel Indicates if a crystal oscillator (XTAL) or CMOS signal is connected 61*1ca733e8SOleksij Rempel (CLKIN). Note that XTAL mode is only supported on ADS131M06 and ADS131M08. 62*1ca733e8SOleksij Rempel enum: [xtal, clkin] 63*1ca733e8SOleksij Rempel 64*1ca733e8SOleksij Rempel refin-supply: 65*1ca733e8SOleksij Rempel description: Optional external reference supply (REFIN). 66*1ca733e8SOleksij Rempel 67*1ca733e8SOleksij Rempel '#address-cells': 68*1ca733e8SOleksij Rempel const: 1 69*1ca733e8SOleksij Rempel 70*1ca733e8SOleksij Rempel '#size-cells': 71*1ca733e8SOleksij Rempel const: 0 72*1ca733e8SOleksij Rempel 73*1ca733e8SOleksij Rempelrequired: 74*1ca733e8SOleksij Rempel - compatible 75*1ca733e8SOleksij Rempel - reg 76*1ca733e8SOleksij Rempel - clocks 77*1ca733e8SOleksij Rempel - clock-names 78*1ca733e8SOleksij Rempel - avdd-supply 79*1ca733e8SOleksij Rempel - dvdd-supply 80*1ca733e8SOleksij Rempel 81*1ca733e8SOleksij RempelpatternProperties: 82*1ca733e8SOleksij Rempel "^channel@[0-7]$": 83*1ca733e8SOleksij Rempel type: object 84*1ca733e8SOleksij Rempel $ref: /schemas/iio/adc/adc.yaml# 85*1ca733e8SOleksij Rempel description: Properties for a single ADC channel. 86*1ca733e8SOleksij Rempel 87*1ca733e8SOleksij Rempel properties: 88*1ca733e8SOleksij Rempel reg: 89*1ca733e8SOleksij Rempel description: The channel index (0-7). 90*1ca733e8SOleksij Rempel minimum: 0 91*1ca733e8SOleksij Rempel maximum: 7 # Max channels on ADS131M08 92*1ca733e8SOleksij Rempel 93*1ca733e8SOleksij Rempel label: true 94*1ca733e8SOleksij Rempel 95*1ca733e8SOleksij Rempel required: 96*1ca733e8SOleksij Rempel - reg 97*1ca733e8SOleksij Rempel 98*1ca733e8SOleksij Rempel unevaluatedProperties: false 99*1ca733e8SOleksij Rempel 100*1ca733e8SOleksij RempelallOf: 101*1ca733e8SOleksij Rempel - $ref: /schemas/spi/spi-peripheral-props.yaml# 102*1ca733e8SOleksij Rempel 103*1ca733e8SOleksij Rempel - if: 104*1ca733e8SOleksij Rempel # 20-pin devices: M02, M03, M04 105*1ca733e8SOleksij Rempel # These do not support XTAL or REFIN. 106*1ca733e8SOleksij Rempel properties: 107*1ca733e8SOleksij Rempel compatible: 108*1ca733e8SOleksij Rempel enum: 109*1ca733e8SOleksij Rempel - ti,ads131m02 110*1ca733e8SOleksij Rempel - ti,ads131m03 111*1ca733e8SOleksij Rempel - ti,ads131m04 112*1ca733e8SOleksij Rempel then: 113*1ca733e8SOleksij Rempel properties: 114*1ca733e8SOleksij Rempel clock-names: 115*1ca733e8SOleksij Rempel const: clkin 116*1ca733e8SOleksij Rempel refin-supply: false 117*1ca733e8SOleksij Rempel 118*1ca733e8SOleksij Rempel - if: 119*1ca733e8SOleksij Rempel # ADS131M02: 2 channels max (0-1) 120*1ca733e8SOleksij Rempel properties: 121*1ca733e8SOleksij Rempel compatible: 122*1ca733e8SOleksij Rempel contains: 123*1ca733e8SOleksij Rempel const: ti,ads131m02 124*1ca733e8SOleksij Rempel then: 125*1ca733e8SOleksij Rempel patternProperties: 126*1ca733e8SOleksij Rempel "^channel@[0-1]$": 127*1ca733e8SOleksij Rempel properties: 128*1ca733e8SOleksij Rempel reg: 129*1ca733e8SOleksij Rempel maximum: 1 130*1ca733e8SOleksij Rempel "^channel@[2-7]$": false 131*1ca733e8SOleksij Rempel 132*1ca733e8SOleksij Rempel - if: 133*1ca733e8SOleksij Rempel # ADS131M03: 3 channels max (0-2) 134*1ca733e8SOleksij Rempel properties: 135*1ca733e8SOleksij Rempel compatible: 136*1ca733e8SOleksij Rempel contains: 137*1ca733e8SOleksij Rempel const: ti,ads131m03 138*1ca733e8SOleksij Rempel then: 139*1ca733e8SOleksij Rempel patternProperties: 140*1ca733e8SOleksij Rempel "^channel@[0-2]$": 141*1ca733e8SOleksij Rempel properties: 142*1ca733e8SOleksij Rempel reg: 143*1ca733e8SOleksij Rempel maximum: 2 144*1ca733e8SOleksij Rempel "^channel@[3-7]$": false 145*1ca733e8SOleksij Rempel 146*1ca733e8SOleksij Rempel - if: 147*1ca733e8SOleksij Rempel # ADS131M04: 4 channels max (0-3) 148*1ca733e8SOleksij Rempel properties: 149*1ca733e8SOleksij Rempel compatible: 150*1ca733e8SOleksij Rempel contains: 151*1ca733e8SOleksij Rempel const: ti,ads131m04 152*1ca733e8SOleksij Rempel then: 153*1ca733e8SOleksij Rempel patternProperties: 154*1ca733e8SOleksij Rempel "^channel@[0-3]$": 155*1ca733e8SOleksij Rempel properties: 156*1ca733e8SOleksij Rempel reg: 157*1ca733e8SOleksij Rempel maximum: 3 158*1ca733e8SOleksij Rempel "^channel@[4-7]$": false 159*1ca733e8SOleksij Rempel 160*1ca733e8SOleksij Rempel - if: 161*1ca733e8SOleksij Rempel # ADS131M06: 6 channels max (0-5) 162*1ca733e8SOleksij Rempel properties: 163*1ca733e8SOleksij Rempel compatible: 164*1ca733e8SOleksij Rempel contains: 165*1ca733e8SOleksij Rempel const: ti,ads131m06 166*1ca733e8SOleksij Rempel then: 167*1ca733e8SOleksij Rempel patternProperties: 168*1ca733e8SOleksij Rempel "^channel@[0-5]$": 169*1ca733e8SOleksij Rempel properties: 170*1ca733e8SOleksij Rempel reg: 171*1ca733e8SOleksij Rempel maximum: 5 172*1ca733e8SOleksij Rempel "^channel@[6-7]$": false 173*1ca733e8SOleksij Rempel 174*1ca733e8SOleksij RempelunevaluatedProperties: false 175*1ca733e8SOleksij Rempel 176*1ca733e8SOleksij Rempelexamples: 177*1ca733e8SOleksij Rempel - | 178*1ca733e8SOleksij Rempel #include <dt-bindings/clock/stm32mp1-clks.h> 179*1ca733e8SOleksij Rempel 180*1ca733e8SOleksij Rempel spi1 { 181*1ca733e8SOleksij Rempel #address-cells = <1>; 182*1ca733e8SOleksij Rempel #size-cells = <0>; 183*1ca733e8SOleksij Rempel 184*1ca733e8SOleksij Rempel adc@0 { 185*1ca733e8SOleksij Rempel compatible = "ti,ads131m02"; 186*1ca733e8SOleksij Rempel reg = <0>; 187*1ca733e8SOleksij Rempel spi-max-frequency = <8000000>; 188*1ca733e8SOleksij Rempel 189*1ca733e8SOleksij Rempel clocks = <&rcc CK_MCO2>; 190*1ca733e8SOleksij Rempel clock-names = "clkin"; 191*1ca733e8SOleksij Rempel 192*1ca733e8SOleksij Rempel avdd-supply = <&vdd_ana>; 193*1ca733e8SOleksij Rempel dvdd-supply = <&vdd_dig>; 194*1ca733e8SOleksij Rempel 195*1ca733e8SOleksij Rempel #address-cells = <1>; 196*1ca733e8SOleksij Rempel #size-cells = <0>; 197*1ca733e8SOleksij Rempel 198*1ca733e8SOleksij Rempel channel@0 { 199*1ca733e8SOleksij Rempel reg = <0>; 200*1ca733e8SOleksij Rempel label = "input_voltage"; 201*1ca733e8SOleksij Rempel }; 202*1ca733e8SOleksij Rempel 203*1ca733e8SOleksij Rempel channel@1 { 204*1ca733e8SOleksij Rempel reg = <1>; 205*1ca733e8SOleksij Rempel label = "input_current"; 206*1ca733e8SOleksij Rempel }; 207*1ca733e8SOleksij Rempel }; 208*1ca733e8SOleksij Rempel }; 209