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

title: MediaTek MT8365 ASoC sound card

maintainers:
  - Alexandre Mergnat <amergnat@baylibre.com>

properties:
  compatible:
    const: mediatek,mt8365-mt6357

  pinctrl-names:
    minItems: 1
    items:
      - const: default
      - const: dmic
      - const: miso_off
      - const: miso_on
      - const: mosi_off
      - const: mosi_on

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

patternProperties:
  "^dai-link-[0-9]+$":
    type: object
    description:
      Container for dai-link level properties and CODEC sub-nodes.

    properties:
      codec:
        type: object
        description: Holds subnode which indicates codec dai.

        properties:
          sound-dai:
            maxItems: 1
            description: phandle of the codec DAI

        additionalProperties: false

      link-name:
        description: Indicates dai-link name and PCM stream name
        enum:
          - I2S_IN_BE
          - I2S_OUT_BE
          - PCM1_BE
          - PDM1_BE
          - PDM2_BE
          - PDM3_BE
          - PDM4_BE
          - SPDIF_IN_BE
          - SPDIF_OUT_BE
          - TDM_IN_BE
          - TDM_OUT_BE

      sound-dai:
        maxItems: 1
        description: phandle of the CPU DAI

    required:
      - link-name
      - sound-dai

    additionalProperties: false

required:
  - compatible
  - pinctrl-names
  - mediatek,platform

additionalProperties: false

examples:
  - |
    sound {
        compatible = "mediatek,mt8365-mt6357";
        pinctrl-names = "default",
                        "dmic",
                        "miso_off",
                        "miso_on",
                        "mosi_off",
                        "mosi_on";
        pinctrl-0 = <&aud_default_pins>;
        pinctrl-1 = <&aud_dmic_pins>;
        pinctrl-2 = <&aud_miso_off_pins>;
        pinctrl-3 = <&aud_miso_on_pins>;
        pinctrl-4 = <&aud_mosi_off_pins>;
        pinctrl-5 = <&aud_mosi_on_pins>;
        mediatek,platform = <&afe>;

        /* hdmi interface */
        dai-link-0 {
            link-name = "I2S_OUT_BE";
            sound-dai = <&afe>;

            codec {
                sound-dai = <&it66121hdmitx>;
            };
        };
    };
