1*6c0e7268SMarcelo Schmitt# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*6c0e7268SMarcelo Schmitt%YAML 1.2 3*6c0e7268SMarcelo Schmitt--- 4*6c0e7268SMarcelo Schmitt$id: http://devicetree.org/schemas/iio/adc/adi,ltc2378.yaml# 5*6c0e7268SMarcelo Schmitt$schema: http://devicetree.org/meta-schemas/core.yaml# 6*6c0e7268SMarcelo Schmitt 7*6c0e7268SMarcelo Schmitttitle: Analog Devices LTC2378 and similar Analog to Digital Converters 8*6c0e7268SMarcelo Schmitt 9*6c0e7268SMarcelo Schmittmaintainers: 10*6c0e7268SMarcelo Schmitt - Marcelo Schmitt <marcelo.schmitt@analog.com> 11*6c0e7268SMarcelo Schmitt 12*6c0e7268SMarcelo Schmittdescription: | 13*6c0e7268SMarcelo Schmitt Analog Devices LTC2378 series of ADCs. 14*6c0e7268SMarcelo Schmitt Specifications can be found at: 15*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/233818fa.pdf 16*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236416fa.pdf 17*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236418f.pdf 18*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236716fa.pdf 19*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236718f.pdf 20*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236816f.pdf 21*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236818f.pdf 22*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/236918fa.pdf 23*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237016fa.pdf 24*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237616fa.pdf 25*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237618fa.pdf 26*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237620fb.pdf 27*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237716fa.pdf 28*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237718fa.pdf 29*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237720fb.pdf 30*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237816fa.pdf 31*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237818fa.pdf 32*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237820fb.pdf 33*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/237918fb.pdf 34*6c0e7268SMarcelo Schmitt https://www.analog.com/media/en/technical-documentation/data-sheets/238016fb.pdf 35*6c0e7268SMarcelo Schmitt 36*6c0e7268SMarcelo Schmitt$ref: /schemas/spi/spi-peripheral-props.yaml# 37*6c0e7268SMarcelo Schmitt 38*6c0e7268SMarcelo Schmittproperties: 39*6c0e7268SMarcelo Schmitt compatible: 40*6c0e7268SMarcelo Schmitt oneOf: 41*6c0e7268SMarcelo Schmitt # Single compatible string match. 42*6c0e7268SMarcelo Schmitt - enum: 43*6c0e7268SMarcelo Schmitt - adi,ltc2338-18 44*6c0e7268SMarcelo Schmitt - adi,ltc2364-16 45*6c0e7268SMarcelo Schmitt - adi,ltc2364-18 46*6c0e7268SMarcelo Schmitt - adi,ltc2376-16 47*6c0e7268SMarcelo Schmitt - adi,ltc2376-18 48*6c0e7268SMarcelo Schmitt - adi,ltc2376-20 49*6c0e7268SMarcelo Schmitt 50*6c0e7268SMarcelo Schmitt # Low sample rate fallback for 16-bit unipolar sensors. 51*6c0e7268SMarcelo Schmitt - items: 52*6c0e7268SMarcelo Schmitt - enum: 53*6c0e7268SMarcelo Schmitt - adi,ltc2370-16 # 2 MSPS 54*6c0e7268SMarcelo Schmitt - adi,ltc2368-16 # 1 MSPS 55*6c0e7268SMarcelo Schmitt - adi,ltc2367-16 # 500 kSPS 56*6c0e7268SMarcelo Schmitt - const: adi,ltc2364-16 # fallback (250 kSPS) 57*6c0e7268SMarcelo Schmitt 58*6c0e7268SMarcelo Schmitt # Low sample rate fallback for 18-bit unipolar sensors. 59*6c0e7268SMarcelo Schmitt - items: 60*6c0e7268SMarcelo Schmitt - enum: 61*6c0e7268SMarcelo Schmitt - adi,ltc2369-18 # 1.6 MSPS 62*6c0e7268SMarcelo Schmitt - adi,ltc2368-18 # 1 MSPS 63*6c0e7268SMarcelo Schmitt - adi,ltc2367-18 # 500 kSPS 64*6c0e7268SMarcelo Schmitt - const: adi,ltc2364-18 # fallback (250 kSPS) 65*6c0e7268SMarcelo Schmitt 66*6c0e7268SMarcelo Schmitt # Low sample rate fallback for 16-bit bipolar sensors. 67*6c0e7268SMarcelo Schmitt - items: 68*6c0e7268SMarcelo Schmitt - enum: 69*6c0e7268SMarcelo Schmitt - adi,ltc2380-16 # 2 MSPS 70*6c0e7268SMarcelo Schmitt - adi,ltc2378-16 # 1 MSPS 71*6c0e7268SMarcelo Schmitt - adi,ltc2377-16 # 500 kSPS 72*6c0e7268SMarcelo Schmitt - const: adi,ltc2376-16 # fallback (250 kSPS) 73*6c0e7268SMarcelo Schmitt 74*6c0e7268SMarcelo Schmitt # Low sample rate fallback for 18-bit bipolar sensors. 75*6c0e7268SMarcelo Schmitt - items: 76*6c0e7268SMarcelo Schmitt - enum: 77*6c0e7268SMarcelo Schmitt - adi,ltc2379-18 # 1.6 MSPS 78*6c0e7268SMarcelo Schmitt - adi,ltc2378-18 # 1 MSPS 79*6c0e7268SMarcelo Schmitt - adi,ltc2377-18 # 500 kSPS 80*6c0e7268SMarcelo Schmitt - const: adi,ltc2376-18 # fallback (250 kSPS) 81*6c0e7268SMarcelo Schmitt 82*6c0e7268SMarcelo Schmitt # Low sample rate fallback for 20-bit bipolar sensors. 83*6c0e7268SMarcelo Schmitt - items: 84*6c0e7268SMarcelo Schmitt - enum: 85*6c0e7268SMarcelo Schmitt - adi,ltc2378-20 # 1 MSPS 86*6c0e7268SMarcelo Schmitt - adi,ltc2377-20 # 500 kSPS 87*6c0e7268SMarcelo Schmitt - const: adi,ltc2376-20 # fallback (250 kSPS) 88*6c0e7268SMarcelo Schmitt 89*6c0e7268SMarcelo Schmitt reg: 90*6c0e7268SMarcelo Schmitt maxItems: 1 91*6c0e7268SMarcelo Schmitt 92*6c0e7268SMarcelo Schmitt spi-max-frequency: 93*6c0e7268SMarcelo Schmitt maximum: 100000000 94*6c0e7268SMarcelo Schmitt 95*6c0e7268SMarcelo Schmitt vdd-supply: 96*6c0e7268SMarcelo Schmitt description: A 2.5V supply that powers the chip (VDD). 97*6c0e7268SMarcelo Schmitt 98*6c0e7268SMarcelo Schmitt ovdd-supply: 99*6c0e7268SMarcelo Schmitt description: 100*6c0e7268SMarcelo Schmitt A 1.71V to 5.25V supply that sets the logic level for digital interface. 101*6c0e7268SMarcelo Schmitt 102*6c0e7268SMarcelo Schmitt ref-supply: 103*6c0e7268SMarcelo Schmitt description: 104*6c0e7268SMarcelo Schmitt Voltage reference input that determines the scale of ADC conversions. 105*6c0e7268SMarcelo Schmitt 106*6c0e7268SMarcelo Schmitt refin-supply: 107*6c0e7268SMarcelo Schmitt description: 108*6c0e7268SMarcelo Schmitt Alternative voltage reference input. 109*6c0e7268SMarcelo Schmitt 110*6c0e7268SMarcelo Schmitt cnv-gpios: 111*6c0e7268SMarcelo Schmitt description: 112*6c0e7268SMarcelo Schmitt When provided, this property indicates the GPIO that is connected to the 113*6c0e7268SMarcelo Schmitt CNV pin. 114*6c0e7268SMarcelo Schmitt maxItems: 1 115*6c0e7268SMarcelo Schmitt 116*6c0e7268SMarcelo Schmitt pwms: 117*6c0e7268SMarcelo Schmitt description: PWM signal connected to the CNV pin. 118*6c0e7268SMarcelo Schmitt maxItems: 1 119*6c0e7268SMarcelo Schmitt 120*6c0e7268SMarcelo Schmitt interrupts: 121*6c0e7268SMarcelo Schmitt description: 122*6c0e7268SMarcelo Schmitt Interrupt for signaling the completion of conversion results. The active 123*6c0e7268SMarcelo Schmitt low signal provided on the BUSY pin asserts when ADC conversions finish. 124*6c0e7268SMarcelo Schmitt maxItems: 1 125*6c0e7268SMarcelo Schmitt 126*6c0e7268SMarcelo Schmittrequired: 127*6c0e7268SMarcelo Schmitt - compatible 128*6c0e7268SMarcelo Schmitt - reg 129*6c0e7268SMarcelo Schmitt - vdd-supply 130*6c0e7268SMarcelo Schmitt - ovdd-supply 131*6c0e7268SMarcelo Schmitt 132*6c0e7268SMarcelo SchmittallOf: 133*6c0e7268SMarcelo Schmitt # Except for LTC2338, all designs require a voltage reference input 134*6c0e7268SMarcelo Schmitt - if: 135*6c0e7268SMarcelo Schmitt properties: 136*6c0e7268SMarcelo Schmitt compatible: 137*6c0e7268SMarcelo Schmitt not: 138*6c0e7268SMarcelo Schmitt contains: 139*6c0e7268SMarcelo Schmitt enum: 140*6c0e7268SMarcelo Schmitt - adi,ltc2338-18 141*6c0e7268SMarcelo Schmitt then: 142*6c0e7268SMarcelo Schmitt required: 143*6c0e7268SMarcelo Schmitt - ref-supply 144*6c0e7268SMarcelo Schmitt properties: 145*6c0e7268SMarcelo Schmitt refin-supply: false 146*6c0e7268SMarcelo Schmitt else: 147*6c0e7268SMarcelo Schmitt properties: 148*6c0e7268SMarcelo Schmitt ref-supply: false 149*6c0e7268SMarcelo Schmitt 150*6c0e7268SMarcelo SchmittunevaluatedProperties: false 151*6c0e7268SMarcelo Schmitt 152*6c0e7268SMarcelo Schmittexamples: 153*6c0e7268SMarcelo Schmitt - | 154*6c0e7268SMarcelo Schmitt #include <dt-bindings/gpio/gpio.h> 155*6c0e7268SMarcelo Schmitt #include <dt-bindings/interrupt-controller/irq.h> 156*6c0e7268SMarcelo Schmitt spi { 157*6c0e7268SMarcelo Schmitt #address-cells = <1>; 158*6c0e7268SMarcelo Schmitt #size-cells = <0>; 159*6c0e7268SMarcelo Schmitt adc@0 { 160*6c0e7268SMarcelo Schmitt compatible = "adi,ltc2378-20", "adi,ltc2376-20"; 161*6c0e7268SMarcelo Schmitt reg = <0>; 162*6c0e7268SMarcelo Schmitt spi-max-frequency = <71000000>; 163*6c0e7268SMarcelo Schmitt vdd-supply = <&supply_2_5V>; 164*6c0e7268SMarcelo Schmitt ovdd-supply = <&supply_3_3V>; 165*6c0e7268SMarcelo Schmitt ref-supply = <&supply_5V>; 166*6c0e7268SMarcelo Schmitt cnv-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH>; 167*6c0e7268SMarcelo Schmitt interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 168*6c0e7268SMarcelo Schmitt interrupt-parent = <&gpio>; 169*6c0e7268SMarcelo Schmitt }; 170*6c0e7268SMarcelo Schmitt }; 171