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

title: Wolfson WM8904/WM8912 audio codecs

maintainers:
  - patches@opensource.cirrus.com

description: |
  Pins on the device (for linking into audio routes):
  IN1L, IN1R, IN2L, IN2R, IN3L, IN3R, HPOUTL, HPOUTR, LINEOUTL, LINEOUTR,
  MICBIAS

properties:
  compatible:
    enum:
      - wlf,wm8904
      - wlf,wm8912

  reg:
    maxItems: 1

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

  clocks:
    maxItems: 1

  clock-names:
    const: mclk

  AVDD-supply: true
  CPVDD-supply: true
  DBVDD-supply: true
  DCVDD-supply: true
  MICVDD-supply: true

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - AVDD-supply
  - CPVDD-supply
  - DBVDD-supply
  - DCVDD-supply
  - MICVDD-supply

allOf:
  - $ref: dai-common.yaml#

unevaluatedProperties: false

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

        codec@1a {
            compatible = "wlf,wm8904";
            reg = <0x1a>;
            clocks = <&pck0>;
            clock-names = "mclk";
            AVDD-supply = <&reg_1p8v>;
            CPVDD-supply = <&reg_1p8v>;
            DBVDD-supply = <&reg_1p8v>;
            DCVDD-supply = <&reg_1p8v>;
            MICVDD-supply = <&reg_1p8v>;
        };
    };