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

title: Atmel wm8904 audio codec complex

maintainers:
  - Dharma Balasubiramani <dharma.b@microchip.com>

description:
  The ASoC audio complex configuration for Atmel with WM8904 audio codec.

properties:
  compatible:
    const: atmel,asoc-wm8904

  atmel,model:
    $ref: /schemas/types.yaml#/definitions/string
    description: The user-visible name of this sound complex.

  atmel,ssc-controller:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of the SSC controller.

  atmel,audio-codec:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of the WM8731 audio codec.

  atmel,audio-routing:
    description:
      A list of the connections between audio components. Each entry is a pair
      of strings, the first being the connection's sink, the second being the
      connection's source.
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    items:
      enum:
        # Board Connectors
        - Headphone Jack
        - Line In Jack
        - Mic
        # WM8904 CODEC Pins
        - IN1L
        - IN1R
        - IN2L
        - IN2R
        - IN3L
        - IN3R
        - HPOUTL
        - HPOUTR
        - LINEOUTL
        - LINEOUTR
        - MICBIAS

required:
  - compatible
  - atmel,model
  - atmel,audio-routing
  - atmel,ssc-controller
  - atmel,audio-codec

additionalProperties: false

examples:
  - |
    sound {
        compatible = "atmel,asoc-wm8904";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pck0_as_mck>;

        atmel,model = "wm8904 @ AT91SAM9N12EK";

        atmel,audio-routing =
                "Headphone Jack", "HPOUTL",
                "Headphone Jack", "HPOUTR",
                "IN2L", "Line In Jack",
                "IN2R", "Line In Jack",
                "Mic", "MICBIAS",
                "IN1L", "Mic";

        atmel,ssc-controller = <&ssc0>;
        atmel,audio-codec = <&wm8904>;
    };
