# 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>;
            };
        };
    };
...
