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

title: Mediatek MT8186 with MT6366, RT1019 and RT5682S 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-rt1019-rt5682s-sound
      - mediatek,mt8186-mt6366-rt5682s-max98360-sound
      - mediatek,mt8186-mt6366-rt5650-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
        - Headphone
        - IN1P
        - IN1N
        - Line Out
        - Speakers

        # Sources
        - Headset Mic
        - HPOL
        - HPOR
        - Speaker
        - SPOL
        - SPOR
        - TX

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

  dmic-gpios:
    maxItems: 1
    description:
      dmic-gpios optional prop for switching between two DMICs.
      Ex, the GPIO can control a MUX HW component to select
      dmic clk and data form a Front or Rear dmic.

  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
        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
        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.
        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:
  - |
    #include <dt-bindings/gpio/gpio.h>

    sound: mt8186-sound {
        compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
        model = "mt8186_rt1019_rt5682s";
        pinctrl-names = "aud_clk_mosi_off",
                        "aud_clk_mosi_on",
                        "aud_gpio_dmic_sec";
        pinctrl-0 = <&aud_clk_mosi_off>;
        pinctrl-1 = <&aud_clk_mosi_on>;
        pinctrl-2 = <&aud_gpio_dmic_sec>;
        mediatek,platform = <&afe>;

        dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;

        audio-routing =
                "Headphone", "HPOL",
                "Headphone", "HPOR",
                "IN1P", "Headset Mic",
                "Speakers", "Speaker",
                "HDMI1", "TX";

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

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

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

...
