1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/iio/dac/adi,ltc2664.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Analog Devices LTC2664 DAC 8 9maintainers: 10 - Michael Hennerich <michael.hennerich@analog.com> 11 - Kim Seer Paller <kimseer.paller@analog.com> 12 13description: | 14 Analog Devices LTC2664 4 channel, 12-/16-Bit, +-10V DAC 15 https://www.analog.com/media/en/technical-documentation/data-sheets/2664fa.pdf 16 17properties: 18 compatible: 19 enum: 20 - adi,ltc2664 21 22 reg: 23 maxItems: 1 24 25 spi-max-frequency: 26 maximum: 50000000 27 28 vcc-supply: 29 description: Analog Supply Voltage Input. 30 31 v-pos-supply: 32 description: Positive Supply Voltage Input. 33 34 v-neg-supply: 35 description: Negative Supply Voltage Input. 36 37 iovcc-supply: 38 description: Digital Input/Output Supply Voltage. 39 40 ref-supply: 41 description: 42 Reference Input/Output. The voltage at the REF pin sets the full-scale 43 range of all channels. If not provided the internal reference is used and 44 also provided on the VREF pin. 45 46 reset-gpios: 47 description: 48 Active-low Asynchronous Clear Input. A logic low at this level-triggered 49 input clears the part to the reset code and range determined by the 50 hardwired option chosen using the MSPAN pins. The control registers are 51 cleared to zero. 52 maxItems: 1 53 54 adi,manual-span-operation-config: 55 description: 56 This property must mimic the MSPAN pin configurations. By tying the MSPAN 57 pins (MSP2, MSP1 and MSP0) to GND and/or VCC, any output range can be 58 hardware-configured with different mid-scale or zero-scale reset options. 59 The hardware configuration is latched during power on reset for proper 60 operation. 61 0 - MPS2=GND, MPS1=GND, MSP0=GND (+-10V, reset to 0V) 62 1 - MPS2=GND, MPS1=GND, MSP0=VCC (+-5V, reset to 0V) 63 2 - MPS2=GND, MPS1=VCC, MSP0=GND (+-2.5V, reset to 0V) 64 3 - MPS2=GND, MPS1=VCC, MSP0=VCC (0V to 10, reset to 0V) 65 4 - MPS2=VCC, MPS1=GND, MSP0=GND (0V to 10V, reset to 5V) 66 5 - MPS2=VCC, MPS1=GND, MSP0=VCC (0V to 5V, reset to 0V) 67 6 - MPS2=VCC, MPS1=VCC, MSP0=GND (0V to 5V, reset to 2.5V) 68 7 - MPS2=VCC, MPS1=VCC, MSP0=VCC (0V to 5V, reset to 0V, enables SoftSpan) 69 $ref: /schemas/types.yaml#/definitions/uint32 70 enum: [0, 1, 2, 3, 4, 5, 6, 7] 71 default: 7 72 73 io-channels: 74 description: 75 ADC channel to monitor voltages and temperature at the MUXOUT pin. 76 maxItems: 1 77 78 '#address-cells': 79 const: 1 80 81 '#size-cells': 82 const: 0 83 84patternProperties: 85 "^channel@[0-3]$": 86 $ref: dac.yaml 87 type: object 88 additionalProperties: false 89 90 properties: 91 reg: 92 description: The channel number representing the DAC output channel. 93 maximum: 3 94 95 adi,toggle-mode: 96 description: 97 Set the channel as a toggle enabled channel. Toggle operation enables 98 fast switching of a DAC output between two different DAC codes without 99 any SPI transaction. 100 type: boolean 101 102 output-range-microvolt: 103 description: 104 This property is only allowed when SoftSpan is enabled. If not present, 105 [0, 5000000] is the default output range. 106 oneOf: 107 - items: 108 - const: 0 109 - enum: [5000000, 10000000] 110 - items: 111 - const: -5000000 112 - const: 5000000 113 - items: 114 - const: -10000000 115 - const: 10000000 116 - items: 117 - const: -2500000 118 - const: 2500000 119 120 required: 121 - reg 122 123 allOf: 124 - if: 125 not: 126 properties: 127 adi,manual-span-operation-config: 128 const: 7 129 then: 130 patternProperties: 131 "^channel@[0-3]$": 132 properties: 133 output-range-microvolt: false 134 135required: 136 - compatible 137 - reg 138 - spi-max-frequency 139 - vcc-supply 140 - iovcc-supply 141 - v-pos-supply 142 - v-neg-supply 143 144allOf: 145 - $ref: /schemas/spi/spi-peripheral-props.yaml# 146 147additionalProperties: false 148 149examples: 150 - | 151 spi { 152 #address-cells = <1>; 153 #size-cells = <0>; 154 dac@0 { 155 compatible = "adi,ltc2664"; 156 reg = <0>; 157 spi-max-frequency = <10000000>; 158 159 vcc-supply = <&vcc>; 160 iovcc-supply = <&vcc>; 161 ref-supply = <&vref>; 162 v-pos-supply = <&vpos>; 163 v-neg-supply = <&vneg>; 164 165 io-channels = <&adc 0>; 166 167 #address-cells = <1>; 168 #size-cells = <0>; 169 channel@0 { 170 reg = <0>; 171 adi,toggle-mode; 172 output-range-microvolt = <(-10000000) 10000000>; 173 }; 174 175 channel@1 { 176 reg = <1>; 177 output-range-microvolt= <0 10000000>; 178 }; 179 }; 180 }; 181... 182