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

title: MediaTek MT8183 sound card with MT6358, TS3A227, and MAX98357/RT1015 codecs

maintainers:
  - Julien Massot <julien.massot@collabora.com>

description:
  MediaTek MT8183 SoC-based sound cards using the MT6358 codec,
  with optional TS3A227 headset codec, EC codec (via Chrome EC), and HDMI audio.
  Speaker amplifier can be one of MAX98357A/B, RT1015, or RT1015P.

properties:
  compatible:
    enum:
      - mediatek,mt8183_mt6358_ts3a227_max98357
      - mediatek,mt8183_mt6358_ts3a227_max98357b
      - mediatek,mt8183_mt6358_ts3a227_rt1015
      - mediatek,mt8183_mt6358_ts3a227_rt1015p

  mediatek,platform:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Phandle to the MT8183 ASoC platform node (e.g., AFE).

  mediatek,headset-codec:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Phandle to the TS3A227 headset codec.

  mediatek,ec-codec:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      Optional phandle to a ChromeOS EC codec node.
      See bindings in google,cros-ec-codec.yaml.

  mediatek,hdmi-codec:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Optional phandle to an HDMI audio codec node.

required:
  - compatible
  - mediatek,platform

additionalProperties: false

examples:
  - |
    sound {
        compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
        mediatek,headset-codec = <&ts3a227>;
        mediatek,ec-codec = <&ec_codec>;
        mediatek,hdmi-codec = <&it6505dptx>;
        mediatek,platform = <&afe>;
    };

...
