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

title: Google SC7180-Trogdor ASoC sound card driver

maintainers:
  - Rohit kumar <quic_rohkumar@quicinc.com>
  - Cheng-Yi Chiang <cychiang@chromium.org>

description:
  This binding describes the SC7180 sound card which uses LPASS for audio.

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

properties:
  compatible:
    enum:
      - google,sc7180-trogdor
      - google,sc7180-coachz

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  dmic-gpios:
    maxItems: 1
    description: GPIO for switching between DMICs

patternProperties:
  "^dai-link(@[0-9])?$":
    description:
      Each subnode represents a dai link. Subnodes of each dai links would be
      cpu/codec dais.

    type: object

    properties:
      link-name:
        description: Indicates dai-link name and PCM stream name.
        $ref: /schemas/types.yaml#/definitions/string
        maxItems: 1

      reg:
        maxItems: 1
        description: dai link address.

      cpu:
        description: Holds subnode which indicates cpu dai.
        type: object
        additionalProperties: false

        properties:
          sound-dai:
            maxItems: 1

      codec:
        description: Holds subnode which indicates codec dai.
        type: object
        additionalProperties: false

        properties:
          sound-dai:
            minItems: 1
            maxItems: 4

    required:
      - link-name
      - cpu
      - codec

    additionalProperties: false

required:
  - compatible
  - "#address-cells"
  - "#size-cells"

unevaluatedProperties: false

examples:

  - |
    sound {
        compatible = "google,sc7180-trogdor";
        model = "sc7180-rt5682-max98357a-2mic";

        audio-routing =
                    "Headphone Jack", "HPOL",
                    "Headphone Jack", "HPOR";

        #address-cells = <1>;
        #size-cells = <0>;

        dmic-gpios = <&tlmm 86 0>;

        dai-link@0 {
            link-name = "MultiMedia0";
            reg = <0>;
            cpu {
                sound-dai = <&lpass_cpu 0>;
            };

            codec {
                sound-dai = <&alc5682 0>;
            };
        };

        dai-link@1 {
            link-name = "MultiMedia1";
            reg = <1>;
            cpu {
                sound-dai = <&lpass_cpu 1>;
            };

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

        dai-link@2 {
            link-name = "MultiMedia2";
            reg = <2>;
            cpu {
                sound-dai = <&lpass_hdmi 0>;
            };

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