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

title: Wolfson WM1811/WM8994/WM8958 audio codecs

maintainers:
  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  - patches@opensource.cirrus.com

description: |
  These devices support both I2C and SPI (configured with pin strapping on the
  board).

  Pins on the device (for linking into audio routes):
  IN1LN, IN1LP, IN2LN, IN2LP:VXRN, IN1RN, IN1RP, IN2RN, IN2RP:VXRP, SPKOUTLP,
  SPKOUTLN, SPKOUTRP, SPKOUTRN, HPOUT1L, HPOUT1R, HPOUT2P, HPOUT2N, LINEOUT1P,
  LINEOUT1N, LINEOUT2P, LINEOUT2N.

properties:
  compatible:
    enum:
      - wlf,wm1811
      - wlf,wm8994
      - wlf,wm8958

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    items:
      - const: MCLK1
      - const: MCLK2

  gpio-controller: true

  '#gpio-cells':
    const: 2

  interrupts:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 2
    description:
      The first cell is the IRQ number. The second cell is the flags, encoded
      as the trigger masks.

  AVDD1-supply: true
  AVDD2-supply: true
  CPVDD-supply: true
  DBVDD-supply: true
  DBVDD1-supply: true
  DBVDD2-supply: true
  DBVDD3-supply: true
  DCVDD-supply: true
  LDO1VDD-supply: true
  LDO2VDD-supply: true
  SPKVDD1-supply: true
  SPKVDD2-supply: true

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

  wlf,gpio-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    maxItems: 11
    description:
      A list of GPIO configuration register values. If absent, no configuration
      of these registers is performed. If any value is over 0xffff then the
      register will be left as default. If present 11 values must be supplied.

  wlf,micbias-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    maxItems: 2
    description:
      Two MICBIAS register values for WM1811 or WM8958.  If absent the register
      defaults will be used.

  wlf,ldo1ena-gpios:
    maxItems: 1
    description:
      Control of LDO1ENA input to device.

  wlf,ldo2ena-gpios:
    maxItems: 1
    description:
      Control of LDO2ENA input to device.

  wlf,lineout1-se:
    type: boolean
    description:
      LINEOUT1 is in single ended mode.

  wlf,lineout2-se:
    type: boolean
    description:
      INEOUT2 is in single ended mode.

  wlf,lineout1-feedback:
    type: boolean
    description:
      LINEOUT1 has common mode feedback connected.

  wlf,lineout2-feedback:
    type: boolean
    description:
      LINEOUT2 has common mode feedback connected.

  wlf,ldoena-always-driven:
    type: boolean
    description:
      LDOENA is always driven.

  wlf,spkmode-pu:
    type: boolean
    description:
      Enable the internal pull-up resistor on the SPKMODE pin.

  wlf,csnaddr-pd:
    type: boolean
    description:
      Enable the internal pull-down resistor on the CS/ADDR pin.

required:
  - compatible
  - reg
  - AVDD2-supply
  - CPVDD-supply
  - SPKVDD1-supply
  - SPKVDD2-supply

allOf:
  - $ref: dai-common.yaml#
  - if:
      properties:
        compatible:
          enum:
            - wlf,wm1811
            - wlf,wm8958
    then:
      properties:
        DBVDD-supply: false
        LDO2VDD-supply: false
      required:
        - DBVDD1-supply
        - DBVDD2-supply
        - DBVDD3-supply
    else:
      properties:
        DBVDD1-supply: false
        DBVDD2-supply: false
        DBVDD3-supply: false
      required:
        - DBVDD-supply

unevaluatedProperties: false

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

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

        audio-codec@1a {
            compatible = "wlf,wm1811";
            reg = <0x1a>;
            clocks = <&i2s0 0>;
            clock-names = "MCLK1";

            AVDD2-supply = <&main_dc_reg>;
            CPVDD-supply = <&main_dc_reg>;
            DBVDD1-supply = <&main_dc_reg>;
            DBVDD2-supply = <&main_dc_reg>;
            DBVDD3-supply = <&main_dc_reg>;
            LDO1VDD-supply = <&main_dc_reg>;
            SPKVDD1-supply = <&main_dc_reg>;
            SPKVDD2-supply = <&main_dc_reg>;

            wlf,ldo1ena-gpios = <&gpb0 0 GPIO_ACTIVE_HIGH>;
            wlf,ldo2ena-gpios = <&gpb0 1 GPIO_ACTIVE_HIGH>;
        };
    };
