12f472da9SKim Seer Paller# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22f472da9SKim Seer Paller%YAML 1.2 32f472da9SKim Seer Paller--- 42f472da9SKim Seer Paller$id: http://devicetree.org/schemas/iio/dac/adi,ltc2664.yaml# 52f472da9SKim Seer Paller$schema: http://devicetree.org/meta-schemas/core.yaml# 62f472da9SKim Seer Paller 72f472da9SKim Seer Pallertitle: Analog Devices LTC2664 DAC 82f472da9SKim Seer Paller 92f472da9SKim Seer Pallermaintainers: 102f472da9SKim Seer Paller - Michael Hennerich <michael.hennerich@analog.com> 112f472da9SKim Seer Paller - Kim Seer Paller <kimseer.paller@analog.com> 122f472da9SKim Seer Paller 132f472da9SKim Seer Pallerdescription: | 142f472da9SKim Seer Paller Analog Devices LTC2664 4 channel, 12-/16-Bit, +-10V DAC 152f472da9SKim Seer Paller https://www.analog.com/media/en/technical-documentation/data-sheets/2664fa.pdf 162f472da9SKim Seer Paller 172f472da9SKim Seer Pallerproperties: 182f472da9SKim Seer Paller compatible: 192f472da9SKim Seer Paller enum: 202f472da9SKim Seer Paller - adi,ltc2664 212f472da9SKim Seer Paller 222f472da9SKim Seer Paller reg: 232f472da9SKim Seer Paller maxItems: 1 242f472da9SKim Seer Paller 252f472da9SKim Seer Paller spi-max-frequency: 262f472da9SKim Seer Paller maximum: 50000000 272f472da9SKim Seer Paller 282f472da9SKim Seer Paller vcc-supply: 292f472da9SKim Seer Paller description: Analog Supply Voltage Input. 302f472da9SKim Seer Paller 312f472da9SKim Seer Paller v-pos-supply: 322f472da9SKim Seer Paller description: Positive Supply Voltage Input. 332f472da9SKim Seer Paller 342f472da9SKim Seer Paller v-neg-supply: 352f472da9SKim Seer Paller description: Negative Supply Voltage Input. 362f472da9SKim Seer Paller 372f472da9SKim Seer Paller iovcc-supply: 382f472da9SKim Seer Paller description: Digital Input/Output Supply Voltage. 392f472da9SKim Seer Paller 402f472da9SKim Seer Paller ref-supply: 412f472da9SKim Seer Paller description: 422f472da9SKim Seer Paller Reference Input/Output. The voltage at the REF pin sets the full-scale 432f472da9SKim Seer Paller range of all channels. If not provided the internal reference is used and 442f472da9SKim Seer Paller also provided on the VREF pin. 452f472da9SKim Seer Paller 462f472da9SKim Seer Paller reset-gpios: 472f472da9SKim Seer Paller description: 482f472da9SKim Seer Paller Active-low Asynchronous Clear Input. A logic low at this level-triggered 492f472da9SKim Seer Paller input clears the part to the reset code and range determined by the 502f472da9SKim Seer Paller hardwired option chosen using the MSPAN pins. The control registers are 512f472da9SKim Seer Paller cleared to zero. 522f472da9SKim Seer Paller maxItems: 1 532f472da9SKim Seer Paller 542f472da9SKim Seer Paller adi,manual-span-operation-config: 552f472da9SKim Seer Paller description: 562f472da9SKim Seer Paller This property must mimic the MSPAN pin configurations. By tying the MSPAN 572f472da9SKim Seer Paller pins (MSP2, MSP1 and MSP0) to GND and/or VCC, any output range can be 582f472da9SKim Seer Paller hardware-configured with different mid-scale or zero-scale reset options. 592f472da9SKim Seer Paller The hardware configuration is latched during power on reset for proper 602f472da9SKim Seer Paller operation. 612f472da9SKim Seer Paller 0 - MPS2=GND, MPS1=GND, MSP0=GND (+-10V, reset to 0V) 622f472da9SKim Seer Paller 1 - MPS2=GND, MPS1=GND, MSP0=VCC (+-5V, reset to 0V) 632f472da9SKim Seer Paller 2 - MPS2=GND, MPS1=VCC, MSP0=GND (+-2.5V, reset to 0V) 642f472da9SKim Seer Paller 3 - MPS2=GND, MPS1=VCC, MSP0=VCC (0V to 10, reset to 0V) 652f472da9SKim Seer Paller 4 - MPS2=VCC, MPS1=GND, MSP0=GND (0V to 10V, reset to 5V) 662f472da9SKim Seer Paller 5 - MPS2=VCC, MPS1=GND, MSP0=VCC (0V to 5V, reset to 0V) 672f472da9SKim Seer Paller 6 - MPS2=VCC, MPS1=VCC, MSP0=GND (0V to 5V, reset to 2.5V) 682f472da9SKim Seer Paller 7 - MPS2=VCC, MPS1=VCC, MSP0=VCC (0V to 5V, reset to 0V, enables SoftSpan) 692f472da9SKim Seer Paller $ref: /schemas/types.yaml#/definitions/uint32 702f472da9SKim Seer Paller enum: [0, 1, 2, 3, 4, 5, 6, 7] 712f472da9SKim Seer Paller default: 7 722f472da9SKim Seer Paller 732f472da9SKim Seer Paller io-channels: 742f472da9SKim Seer Paller description: 752f472da9SKim Seer Paller ADC channel to monitor voltages and temperature at the MUXOUT pin. 762f472da9SKim Seer Paller maxItems: 1 772f472da9SKim Seer Paller 782f472da9SKim Seer Paller '#address-cells': 792f472da9SKim Seer Paller const: 1 802f472da9SKim Seer Paller 812f472da9SKim Seer Paller '#size-cells': 822f472da9SKim Seer Paller const: 0 832f472da9SKim Seer Paller 842f472da9SKim Seer PallerpatternProperties: 852f472da9SKim Seer Paller "^channel@[0-3]$": 862f472da9SKim Seer Paller $ref: dac.yaml 872f472da9SKim Seer Paller type: object 882f472da9SKim Seer Paller additionalProperties: false 892f472da9SKim Seer Paller 902f472da9SKim Seer Paller properties: 912f472da9SKim Seer Paller reg: 922f472da9SKim Seer Paller description: The channel number representing the DAC output channel. 932f472da9SKim Seer Paller maximum: 3 942f472da9SKim Seer Paller 952f472da9SKim Seer Paller adi,toggle-mode: 962f472da9SKim Seer Paller description: 972f472da9SKim Seer Paller Set the channel as a toggle enabled channel. Toggle operation enables 982f472da9SKim Seer Paller fast switching of a DAC output between two different DAC codes without 992f472da9SKim Seer Paller any SPI transaction. 1002f472da9SKim Seer Paller type: boolean 1012f472da9SKim Seer Paller 1022f472da9SKim Seer Paller output-range-microvolt: 1032f472da9SKim Seer Paller description: 1042f472da9SKim Seer Paller This property is only allowed when SoftSpan is enabled. If not present, 1052f472da9SKim Seer Paller [0, 5000000] is the default output range. 1062f472da9SKim Seer Paller oneOf: 1072f472da9SKim Seer Paller - items: 1082f472da9SKim Seer Paller - const: 0 1092f472da9SKim Seer Paller - enum: [5000000, 10000000] 1102f472da9SKim Seer Paller - items: 1112f472da9SKim Seer Paller - const: -5000000 1122f472da9SKim Seer Paller - const: 5000000 1132f472da9SKim Seer Paller - items: 1142f472da9SKim Seer Paller - const: -10000000 1152f472da9SKim Seer Paller - const: 10000000 1162f472da9SKim Seer Paller - items: 1172f472da9SKim Seer Paller - const: -2500000 1182f472da9SKim Seer Paller - const: 2500000 1192f472da9SKim Seer Paller 1202f472da9SKim Seer Paller required: 1212f472da9SKim Seer Paller - reg 1222f472da9SKim Seer Paller 1232f472da9SKim Seer Paller allOf: 1242f472da9SKim Seer Paller - if: 1252f472da9SKim Seer Paller not: 1262f472da9SKim Seer Paller properties: 1272f472da9SKim Seer Paller adi,manual-span-operation-config: 1282f472da9SKim Seer Paller const: 7 1292f472da9SKim Seer Paller then: 1302f472da9SKim Seer Paller patternProperties: 1312f472da9SKim Seer Paller "^channel@[0-3]$": 1322f472da9SKim Seer Paller properties: 1332f472da9SKim Seer Paller output-range-microvolt: false 1342f472da9SKim Seer Paller 1352f472da9SKim Seer Pallerrequired: 1362f472da9SKim Seer Paller - compatible 1372f472da9SKim Seer Paller - reg 1382f472da9SKim Seer Paller - spi-max-frequency 1392f472da9SKim Seer Paller - vcc-supply 1402f472da9SKim Seer Paller - iovcc-supply 1412f472da9SKim Seer Paller - v-pos-supply 1422f472da9SKim Seer Paller - v-neg-supply 1432f472da9SKim Seer Paller 1442f472da9SKim Seer PallerallOf: 1452f472da9SKim Seer Paller - $ref: /schemas/spi/spi-peripheral-props.yaml# 1462f472da9SKim Seer Paller 147*58fe539eSKrzysztof KozlowskiunevaluatedProperties: false 1482f472da9SKim Seer Paller 1492f472da9SKim Seer Pallerexamples: 1502f472da9SKim Seer Paller - | 1512f472da9SKim Seer Paller spi { 1522f472da9SKim Seer Paller #address-cells = <1>; 1532f472da9SKim Seer Paller #size-cells = <0>; 1542f472da9SKim Seer Paller dac@0 { 1552f472da9SKim Seer Paller compatible = "adi,ltc2664"; 1562f472da9SKim Seer Paller reg = <0>; 1572f472da9SKim Seer Paller spi-max-frequency = <10000000>; 1582f472da9SKim Seer Paller 1592f472da9SKim Seer Paller vcc-supply = <&vcc>; 1602f472da9SKim Seer Paller iovcc-supply = <&vcc>; 1612f472da9SKim Seer Paller ref-supply = <&vref>; 1622f472da9SKim Seer Paller v-pos-supply = <&vpos>; 1632f472da9SKim Seer Paller v-neg-supply = <&vneg>; 1642f472da9SKim Seer Paller 1652f472da9SKim Seer Paller io-channels = <&adc 0>; 1662f472da9SKim Seer Paller 1672f472da9SKim Seer Paller #address-cells = <1>; 1682f472da9SKim Seer Paller #size-cells = <0>; 1692f472da9SKim Seer Paller channel@0 { 1702f472da9SKim Seer Paller reg = <0>; 1712f472da9SKim Seer Paller adi,toggle-mode; 1722f472da9SKim Seer Paller output-range-microvolt = <(-10000000) 10000000>; 1732f472da9SKim Seer Paller }; 1742f472da9SKim Seer Paller 1752f472da9SKim Seer Paller channel@1 { 1762f472da9SKim Seer Paller reg = <1>; 1772f472da9SKim Seer Paller output-range-microvolt= <0 10000000>; 1782f472da9SKim Seer Paller }; 1792f472da9SKim Seer Paller }; 1802f472da9SKim Seer Paller }; 1812f472da9SKim Seer Paller... 182