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

title: ROHM BD79700, BD79701, BD79702 and BD79703 DACs

maintainers:
  - Matti Vaittinen <mazziesaccount@gmail.com>

description: |
  The ROHM BD7970[0,1,2,3] are 8-bit DACs. The BD79700 has 2 channels,
  BD79701 3 channels, BD79702 4 channels and BD79703 has 6 channels.
  Datasheets for BD79702 and BD79703 can be found from
  https://fscdn.rohm.com/en/products/databook/datasheet/ic/data_converter/dac/bd79702fv-lb_bd79703fv-lb-e.pdf
  and for the BD79700 and the BD79701 from
  https://fscdn.rohm.com/en/products/databook/datasheet/ic/data_converter/dac/bd79700fvm-lb_bd79701fvm-lb-e.pdf

properties:
  compatible:
    enum:
      - rohm,bd79700
      - rohm,bd79701
      - rohm,bd79702
      - rohm,bd79703

  reg:
    maxItems: 1

  spi-max-frequency:
    maximum: 30000000

  vfs-supply:
    description:
      The regulator to use as a full scale voltage. The voltage should be
      between 2.7V .. VCC. Not present on BD79700 and BD79701.

  vcc-supply:
    description:
      The regulator supplying the operating voltage. Should be between
      2.7V ... 5.5V. Is used also as a Vfs on BD79700 and BD79701.

required:
  - compatible
  - reg
  - spi-max-frequency
  - vcc-supply

if:
  properties:
    compatible:
      contains:
        enum:
          - rohm,bd79702
          - rohm,bd79703
then:
  required:
    - vfs-supply

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

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

        dac@0 {
            compatible = "rohm,bd79703";
            reg = <0>;
            spi-max-frequency = <30000000>;
            vcc-supply = <&vcc>;
            vfs-supply = <&vref>;
        };
    };
...
