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

title: Mediatek MT8186 with MT6366, DA7219 and MAX98357 ASoC sound card driver

maintainers:
  - Jiaxin Yu <jiaxin.yu@mediatek.com>

description:
  This binding describes the MT8186 sound card.

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

properties:
  compatible:
    enum:
      - mediatek,mt8186-mt6366-da7219-max98357-sound

  audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    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.
      Valid names could be the input or output widgets of audio components,
      power supplies, MicBias of codec and the software switch.
    minItems: 2
    items:
      enum:
        # Sinks
        - HDMI1
        - Headphones
        - Line Out
        - MIC
        - Speakers

        # Sources
        - Headset Mic
        - HPL
        - HPR
        - Speaker
        - TX

  mediatek,platform:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of MT8186 ASoC platform.

  headset-codec:
    type: object
    deprecated: true
    additionalProperties: false
    properties:
      sound-dai:
        maxItems: 1
    required:
      - sound-dai

  playback-codecs:
    type: object
    deprecated: true
    additionalProperties: false
    properties:
      sound-dai:
        items:
          - description: phandle of dp codec
          - description: phandle of l channel speaker codec
          - description: phandle of r channel speaker codec
        minItems: 2
    required:
      - sound-dai

  mediatek,adsp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of MT8186 ADSP platform.

  mediatek,dai-link:
    $ref: /schemas/types.yaml#/definitions/string-array
    description:
      A list of the desired dai-links in the sound card. Each entry is a
      name defined in the machine driver.

patternProperties:
  ".*-dai-link$":
    type: object
    additionalProperties: false
    description:
      Container for dai-link level properties and CODEC sub-nodes.

    properties:
      link-name:
        description: Indicates dai-link name and PCM stream name
        items:
          enum:
            - I2S0
            - I2S1
            - I2S2
            - I2S3

      codec:
        description: Holds subnode which indicates codec dai.
        type: object
        additionalProperties: false
        properties:
          sound-dai:
            minItems: 1
            maxItems: 2
        required:
          - sound-dai

      dai-format:
        description: audio format
        items:
          enum:
            - i2s
            - right_j
            - left_j
            - dsp_a
            - dsp_b

      mediatek,clk-provider:
        $ref: /schemas/types.yaml#/definitions/string
        description: Indicates dai-link clock master.
        items:
          enum:
            - cpu
            - codec

    required:
      - link-name

unevaluatedProperties: false

required:
  - compatible
  - mediatek,platform

# Disallow legacy properties if xxx-dai-link nodes are specified
if:
  not:
    patternProperties:
      ".*-dai-link$": false
then:
  properties:
    headset-codec: false
    speaker-codecs: false

examples:
  - |

    sound: mt8186-sound {
        compatible = "mediatek,mt8186-mt6366-da7219-max98357-sound";
        model = "mt8186_da7219_m98357";
        pinctrl-names = "aud_clk_mosi_off",
                        "aud_clk_mosi_on";
        pinctrl-0 = <&aud_clk_mosi_off>;
        pinctrl-1 = <&aud_clk_mosi_on>;
        mediatek,platform = <&afe>;

        audio-routing =
                "Headphones", "HPL",
                "Headphones", "HPR",
                "MIC", "Headset Mic",
                "Speakers", "Speaker",
                "HDMI1", "TX";

        hs-playback-dai-link {
                link-name = "I2S0";
                dai-format = "i2s";
                mediatek,clk-provider = "cpu";
                codec {
                        sound-dai = <&da7219>;
                };
        };

        hs-capture-dai-link {
                link-name = "I2S1";
                dai-format = "i2s";
                mediatek,clk-provider = "cpu";
                codec {
                        sound-dai = <&da7219>;
                };
        };

        spk-dp-playback-dai-link {
                link-name = "I2S3";
                dai-format = "i2s";
                mediatek,clk-provider = "cpu";
                codec {
                        sound-dai = <&anx_bridge_dp>, <&max98357a>;
                };
        };
    };

...
