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

title: Analog Devices AD5758 DAC

maintainers:
  - Michael Hennerich <Michael.Hennerich@analog.com>

properties:
  compatible:
    const: adi,ad5758

  reg:
    maxItems: 1

  spi-max-frequency: true
  spi-cpha: true

  adi,dc-dc-mode:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 3]
    description: |
      Mode of operation of the dc-to-dc converter
      Dynamic Power Control (DPC)
      In this mode, the AD5758 circuitry senses the output voltage and
      dynamically regulates the supply voltage, VDPC+, to meet compliance
      requirements plus an optimized headroom voltage for the output buffer.

      Programmable Power Control (PPC)
      In this mode, the VDPC+ voltage is user-programmable to a fixed level
      that needs to accommodate the maximum output load required.

      The output of the DAC core is either converted to a current or
      voltage output at the VIOUT pin. Only one mode can be enabled at
      any one time.

      The following values are currently supported:
      * 1: DPC current mode
      * 2: DPC voltage mode
      * 3: PPC current mode

      Depending on the selected output mode (voltage or current) one of the
      two properties must be present:

  adi,range-microvolt:
    $ref: /schemas/types.yaml#/definitions/int32-array
    description: |
      Voltage output range specified as <minimum, maximum>
    enum:
      - [[0, 5000000]]
      - [[0, 10000000]]
      - [[-5000000, 5000000]]
      - [[-10000000, 10000000]]

  adi,range-microamp:
    $ref: /schemas/types.yaml#/definitions/int32-array
    description: |
      Current output range specified as <minimum, maximum>
    enum:
      - [[0, 20000]]
      - [[0, 24000]]
      - [[4, 24000]]
      - [[-20000, 20000]]
      - [[-24000, 24000]]
      - [[-1000, 22000]]

  reset-gpios: true

  adi,dc-dc-ilim-microamp:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [150000, 200000, 250000, 300000, 350000, 400000]
    description: |
      The dc-to-dc converter current limit.

  adi,slew-time-us:
    description: |
      The time it takes for the output to reach the full scale [uS]
    minimum: 133
    maximum: 1023984375

required:
  - compatible
  - reg
  - spi-cpha
  - adi,dc-dc-mode

allOf:
  - if:
      properties:
        adi,dc-dc-mode:
          contains:
            enum: [1, 3]
    then:
      properties:
        adi,range-microvolt: false
      required:
        - adi,range-microamp
    else:
      properties:
        adi,range-microamp: false
      required:
        - adi,range-microvolt

additionalProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        dac@0 {
            compatible = "adi,ad5758";
            reg = <0>;
            spi-max-frequency = <1000000>;
            spi-cpha;

            reset-gpios = <&gpio 22 0>;

            adi,dc-dc-mode = <2>;
            adi,range-microvolt = <0 10000000>;
            adi,dc-dc-ilim-microamp = <200000>;
            adi,slew-time-us = <125000>;
        };
    };
...
