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

title: Analog Devices ADAU1977/ADAU1978/ADAU1979 Quad ADC with Diagnostics

maintainers:
  - Lars-Peter Clausen <lars@metafoo.de>
  - Bogdan Togorean <bogdan.togorean@analog.com>

description: |
  Analog Devices ADAU1977 and similar quad ADC with Diagnostics
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf

properties:
  compatible:
    enum:
      - adi,adau1977
      - adi,adau1978
      - adi,adau1979

  reg:
    maxItems: 1

  "#sound-dai-cells":
    const: 0

  reset-gpios:
    maxItems: 1

  AVDD-supply:
    description: Analog power support for the device.

  DVDD-supply:
    description: Supply voltage for digital core.

  adi,micbias:
    description: |
      Configures the voltage setting for the MICBIAS pin.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2, 3, 4, 5, 6, 7, 8]
    default: 7

required:
  - reg
  - compatible
  - AVDD-supply

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

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        adau1977_spi: adau1977@0 {
            compatible = "adi,adau1977";
            reg = <0>;
            spi-max-frequency = <600000>;

            AVDD-supply = <&regulator>;
            DVDD-supply = <&regulator_digital>;

            reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;

            adi,micbias = <3>;
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        adau1977_i2c: adau1977@11 {
            compatible = "adi,adau1977";
            reg = <0x11>;

            AVDD-supply = <&regulator>;
            DVDD-supply = <&regulator_digital>;

            reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
        };
    };
