| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/dac/adi,ltc2664.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices LTC2664 DAC |
| |
| maintainers: |
| - Michael Hennerich <michael.hennerich@analog.com> |
| - Kim Seer Paller <kimseer.paller@analog.com> |
| |
| description: | |
| Analog Devices LTC2664 4 channel, 12-/16-Bit, +-10V DAC |
| https://www.analog.com/media/en/technical-documentation/data-sheets/2664fa.pdf |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ltc2664 |
| |
| reg: |
| maxItems: 1 |
| |
| spi-max-frequency: |
| maximum: 50000000 |
| |
| vcc-supply: |
| description: Analog Supply Voltage Input. |
| |
| v-pos-supply: |
| description: Positive Supply Voltage Input. |
| |
| v-neg-supply: |
| description: Negative Supply Voltage Input. |
| |
| iovcc-supply: |
| description: Digital Input/Output Supply Voltage. |
| |
| ref-supply: |
| description: |
| Reference Input/Output. The voltage at the REF pin sets the full-scale |
| range of all channels. If not provided the internal reference is used and |
| also provided on the VREF pin. |
| |
| reset-gpios: |
| description: |
| Active-low Asynchronous Clear Input. A logic low at this level-triggered |
| input clears the part to the reset code and range determined by the |
| hardwired option chosen using the MSPAN pins. The control registers are |
| cleared to zero. |
| maxItems: 1 |
| |
| adi,manual-span-operation-config: |
| description: |
| This property must mimic the MSPAN pin configurations. By tying the MSPAN |
| pins (MSP2, MSP1 and MSP0) to GND and/or VCC, any output range can be |
| hardware-configured with different mid-scale or zero-scale reset options. |
| The hardware configuration is latched during power on reset for proper |
| operation. |
| 0 - MPS2=GND, MPS1=GND, MSP0=GND (+-10V, reset to 0V) |
| 1 - MPS2=GND, MPS1=GND, MSP0=VCC (+-5V, reset to 0V) |
| 2 - MPS2=GND, MPS1=VCC, MSP0=GND (+-2.5V, reset to 0V) |
| 3 - MPS2=GND, MPS1=VCC, MSP0=VCC (0V to 10, reset to 0V) |
| 4 - MPS2=VCC, MPS1=GND, MSP0=GND (0V to 10V, reset to 5V) |
| 5 - MPS2=VCC, MPS1=GND, MSP0=VCC (0V to 5V, reset to 0V) |
| 6 - MPS2=VCC, MPS1=VCC, MSP0=GND (0V to 5V, reset to 2.5V) |
| 7 - MPS2=VCC, MPS1=VCC, MSP0=VCC (0V to 5V, reset to 0V, enables SoftSpan) |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 2, 3, 4, 5, 6, 7] |
| default: 7 |
| |
| io-channels: |
| description: |
| ADC channel to monitor voltages and temperature at the MUXOUT pin. |
| maxItems: 1 |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| patternProperties: |
| "^channel@[0-3]$": |
| $ref: dac.yaml |
| type: object |
| additionalProperties: false |
| |
| properties: |
| reg: |
| description: The channel number representing the DAC output channel. |
| maximum: 3 |
| |
| adi,toggle-mode: |
| description: |
| Set the channel as a toggle enabled channel. Toggle operation enables |
| fast switching of a DAC output between two different DAC codes without |
| any SPI transaction. |
| type: boolean |
| |
| output-range-microvolt: |
| description: |
| This property is only allowed when SoftSpan is enabled. If not present, |
| [0, 5000000] is the default output range. |
| oneOf: |
| - items: |
| - const: 0 |
| - enum: [5000000, 10000000] |
| - items: |
| - const: -5000000 |
| - const: 5000000 |
| - items: |
| - const: -10000000 |
| - const: 10000000 |
| - items: |
| - const: -2500000 |
| - const: 2500000 |
| |
| required: |
| - reg |
| |
| allOf: |
| - if: |
| not: |
| properties: |
| adi,manual-span-operation-config: |
| const: 7 |
| then: |
| patternProperties: |
| "^channel@[0-3]$": |
| properties: |
| output-range-microvolt: false |
| |
| required: |
| - compatible |
| - reg |
| - spi-max-frequency |
| - vcc-supply |
| - iovcc-supply |
| - v-pos-supply |
| - v-neg-supply |
| |
| allOf: |
| - $ref: /schemas/spi/spi-peripheral-props.yaml# |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| dac@0 { |
| compatible = "adi,ltc2664"; |
| reg = <0>; |
| spi-max-frequency = <10000000>; |
| |
| vcc-supply = <&vcc>; |
| iovcc-supply = <&vcc>; |
| ref-supply = <&vref>; |
| v-pos-supply = <&vpos>; |
| v-neg-supply = <&vneg>; |
| |
| io-channels = <&adc 0>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| channel@0 { |
| reg = <0>; |
| adi,toggle-mode; |
| output-range-microvolt = <(-10000000) 10000000>; |
| }; |
| |
| channel@1 { |
| reg = <1>; |
| output-range-microvolt= <0 10000000>; |
| }; |
| }; |
| }; |
| ... |