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

title: Qualcomm Technologies Inc. ASoC sound card drivers

maintainers:
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description:
  This bindings describes Qualcomm SoC based sound cards
  which uses LPASS internal codec for audio.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - lenovo,yoga-c630-sndcard
              - qcom,db845c-sndcard
          - const: qcom,sdm845-sndcard
      - items:
          - enum:
              - qcom,sm8550-sndcard
              - qcom,sm8650-sndcard
          - const: qcom,sm8450-sndcard
      - enum:
          - qcom,apq8096-sndcard
          - qcom,qcm6490-idp-sndcard
          - qcom,qcs6490-rb3gen2-sndcard
          - qcom,qrb4210-rb2-sndcard
          - qcom,qrb5165-rb5-sndcard
          - qcom,sc7180-qdsp6-sndcard
          - qcom,sc8280xp-sndcard
          - qcom,sdm845-sndcard
          - qcom,sm8250-sndcard
          - qcom,sm8450-sndcard
          - qcom,x1e80100-sndcard

  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 power supplies,
      MicBias of codec and the jacks on the board.

  aux-devs:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: |
      List of phandles pointing to auxiliary devices, such
      as amplifiers, to be added to the sound card.

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: User visible long sound card name

patternProperties:
  ".*-dai-link$":
    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

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

        properties:
          sound-dai:
            maxItems: 1

      platform:
        description: Holds subnode which indicates platform 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: 8

    required:
      - link-name
      - cpu

    additionalProperties: false

required:
  - compatible
  - model

additionalProperties: false

examples:

  - |
    #include <dt-bindings/sound/qcom,q6afe.h>
    #include <dt-bindings/sound/qcom,q6asm.h>
    sound {
        compatible = "qcom,qrb5165-rb5-sndcard";
        model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
        audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
                    "SpkrRight IN", "WSA_SPK2 OUT",
                    "VA DMIC0", "vdd-micb",
                    "VA DMIC1", "vdd-micb";

        mm1-dai-link {
            link-name = "MultiMedia0";
            cpu {
                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
            };
        };

        mm2-dai-link {
            link-name = "MultiMedia2";
            cpu {
                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
            };
        };

        mm3-dai-link {
            link-name = "MultiMedia3";
            cpu {
                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
            };
        };

        hdmi-dai-link {
            link-name = "HDMI Playback";
            cpu {
                sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
            };

            platform {
                sound-dai = <&q6routing>;
            };

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

        wsa-dai-link {
            link-name = "WSA Playback";
            cpu {
                sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
            };

            platform {
                sound-dai = <&q6routing>;
            };

            codec {
                sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
            };
        };

        va-dai-link {
            link-name = "VA Capture";
            cpu {
                sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
            };

            platform {
                sound-dai = <&q6routing>;
            };

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