# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/dac/adi,ltc2672.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices LTC2672 DAC

maintainers:
  - Michael Hennerich <michael.hennerich@analog.com>
  - Kim Seer Paller <kimseer.paller@analog.com>

description: |
  Analog Devices LTC2672 5 channel, 12-/16-Bit, 300mA DAC
  https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2672.pdf

properties:
  compatible:
    enum:
      - adi,ltc2672

  reg:
    maxItems: 1

  spi-max-frequency:
    maximum: 50000000

  vcc-supply:
    description: Analog Supply Voltage Input.

  v-neg-supply:
    description: Negative Supply Voltage Input.

  vdd0-supply:
    description: Positive Supply Voltage Input for DAC OUT0.

  vdd1-supply:
    description: Positive Supply Voltage Input for DAC OUT1.

  vdd2-supply:
    description: Positive Supply Voltage Input for DAC OUT2.

  vdd3-supply:
    description: Positive Supply Voltage Input for DAC OUT3.

  vdd4-supply:
    description: Positive Supply Voltage Input for DAC OUT4.

  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 device to the default reset code and output range, which
      is zero-scale with the outputs off. The control registers are cleared to
      zero.
    maxItems: 1

  adi,rfsadj-ohms:
    description:
      If FSADJ is tied to VCC, an internal RFSADJ (20 kΩ) is selected, which
      results in nominal output ranges. When an external resistor of 19 kΩ to
      41 kΩ can be used instead by connecting the resistor between FSADJ and GND
      it controls the scaling of the ranges, and the internal resistor is
      automatically disconnected.
    minimum: 19000
    maximum: 41000
    default: 20000

  io-channels:
    description:
      ADC channel to monitor voltages and currents at the MUX pin.
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  "^channel@[0-4]$":
    $ref: dac.yaml
    type: object
    additionalProperties: false

    properties:
      reg:
        description: The channel number representing the DAC output channel.
        maximum: 4

      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-microamp:
        items:
          - const: 0
          - enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000,
                   200000000, 300000000]

    required:
      - reg
      - output-range-microamp

required:
  - compatible
  - reg
  - spi-max-frequency
  - vcc-supply
  - iovcc-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,ltc2672";
            reg = <0>;
            spi-max-frequency = <10000000>;

            vcc-supply = <&vcc>;
            iovcc-supply = <&vcc>;
            ref-supply = <&vref>;
            v-neg-supply = <&vneg>;

            io-channels = <&adc 0>;

            #address-cells = <1>;
            #size-cells = <0>;
            channel@0 {
                reg = <0>;
                adi,toggle-mode;
                output-range-microamp = <0 3125000>;
            };

            channel@1 {
                reg = <1>;
                output-range-microamp = <0 6250000>;
            };
        };
    };
...
