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

title: Samsung Exynos5433 TM2(E) audio complex with WM5110 codec

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>
  - Sylwester Nawrocki <s.nawrocki@samsung.com>

allOf:
  - $ref: sound-card-common.yaml#

properties:
  compatible:
    const: samsung,tm2-audio

  audio-amplifier:
    description: Phandle to the MAX98504 amplifier.
    $ref: /schemas/types.yaml#/definitions/phandle

  audio-codec:
    description: Phandles to the codecs.
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - description: Phandle to the WM5110 audio codec.
      - description: Phandle to the HDMI transmitter node.

  samsung,audio-routing:
    description: |
      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; valid names for sources and sinks are the
      WM5110's and MAX98504's pins and the jacks on the board: HP, SPK, Main
      Mic, Sub Mic, Third Mic, Headset Mic.
      Deprecated, use audio-routing.
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array

  i2s-controller:
    description: Phandles to the I2S controllers.
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - description: Phandle to I2S0.
      - description: Phandle to I2S1.

  mic-bias-gpios:
    description: GPIO pin that enables the Main Mic bias regulator.

required:
  - compatible
  - audio-amplifier
  - audio-codec
  - audio-routing
  - i2s-controller
  - mic-bias-gpios

unevaluatedProperties: false

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

    sound {
        compatible = "samsung,tm2-audio";
        audio-codec = <&wm5110>, <&hdmi>;
        i2s-controller = <&i2s0 0>, <&i2s1 0>;
        audio-amplifier = <&max98504>;
        mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
        model = "wm5110";
        audio-routing = "HP", "HPOUT1L",
                                "HP", "HPOUT1R",
                                "SPK", "SPKOUT",
                                "SPKOUT", "HPOUT2L",
                                "SPKOUT", "HPOUT2R",
                                "RCV", "HPOUT3L",
                                "RCV", "HPOUT3R";
    };