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

title: WM8903 audio codec

description: |
  This device supports I2C only.
  Pins on the device (for linking into audio routes):
      * IN1L
      * IN1R
      * IN2L
      * IN2R
      * IN3L
      * IN3R
      * DMICDAT
      * HPOUTL
      * HPOUTR
      * LINEOUTL
      * LINEOUTR
      * LOP
      * LON
      * ROP
      * RON
      * MICBIAS

maintainers:
  - patches@opensource.cirrus.com

properties:
  compatible:
    const: wlf,wm8903

  reg:
    maxItems: 1

  gpio-controller: true
  '#gpio-cells':
    const: 2

  interrupts:
    maxItems: 1

  micdet-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0
    description: Default register value for R6 (Mic Bias).

  micdet-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 100
    description: The debounce delay for microphone detection in mS.

  gpio-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: |
      minItems: 5
      maxItems: 5
      A list of GPIO configuration register values.
      If absent, no configuration of these registers is performed.
      If any entry has the value 0xffffffff, that GPIO's
      configuration will not be modified.

  AVDD-supply:
    description: Analog power supply regulator on the AVDD pin.

  CPVDD-supply:
    description: Charge pump supply regulator on the CPVDD pin.

  DBVDD-supply:
    description: Digital buffer supply regulator for the DBVDD pin.

  DCVDD-supply:
    description: Digital core supply regulator for the DCVDD pin.


required:
  - compatible
  - reg
  - gpio-controller
  - '#gpio-cells'

additionalProperties: false

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

      wm8903: codec@1a {
        compatible = "wlf,wm8903";
        reg = <0x1a>;
        interrupts = <347>;

        AVDD-supply = <&fooreg_a>;
        CPVDD-supply = <&fooreg_b>;
        DBVDD-supply = <&fooreg_c>;
        DCVDD-supply = <&fooreg_d>;

        gpio-controller;
        #gpio-cells = <2>;

        micdet-cfg = <0>;
        micdet-delay = <100>;
        gpio-cfg = <
          0x0600 /* DMIC_LR, output */
          0x0680 /* DMIC_DAT, input */
          0x0000 /* GPIO, output, low */
          0x0200 /* Interrupt, output */
          0x01a0 /* BCLK, input, active high */
        >;
      };
    };
