xref: /freebsd/sys/contrib/device-tree/Bindings/sound/qcom,sm8250.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Qualcomm Technologies Inc. ASoC sound card drivers
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotdescription:
13e67e8565SEmmanuel Vadot  This bindings describes Qualcomm SoC based sound cards
145def4c47SEmmanuel Vadot  which uses LPASS internal codec for audio.
155def4c47SEmmanuel Vadot
165def4c47SEmmanuel Vadotproperties:
175def4c47SEmmanuel Vadot  compatible:
18cb7aa33aSEmmanuel Vadot    oneOf:
19cb7aa33aSEmmanuel Vadot      - items:
20cb7aa33aSEmmanuel Vadot          - enum:
21b97ee269SEmmanuel Vadot              - lenovo,yoga-c630-sndcard
22b97ee269SEmmanuel Vadot              - qcom,db845c-sndcard
23cb7aa33aSEmmanuel Vadot          - const: qcom,sdm845-sndcard
248d13bc63SEmmanuel Vadot      - items:
258d13bc63SEmmanuel Vadot          - enum:
268d13bc63SEmmanuel Vadot              - qcom,sm8550-sndcard
278d13bc63SEmmanuel Vadot              - qcom,sm8650-sndcard
288d13bc63SEmmanuel Vadot          - const: qcom,sm8450-sndcard
29cb7aa33aSEmmanuel Vadot      - enum:
300e8011faSEmmanuel Vadot          - qcom,apq8096-sndcard
317d0873ebSEmmanuel Vadot          - qcom,qcm6490-idp-sndcard
327d0873ebSEmmanuel Vadot          - qcom,qcs6490-rb3gen2-sndcard
33*b2d2a78aSEmmanuel Vadot          - qcom,qrb4210-rb2-sndcard
347ef62cebSEmmanuel Vadot          - qcom,qrb5165-rb5-sndcard
3584943d6fSEmmanuel Vadot          - qcom,sc7180-qdsp6-sndcard
367ef62cebSEmmanuel Vadot          - qcom,sc8280xp-sndcard
37b97ee269SEmmanuel Vadot          - qcom,sdm845-sndcard
38354d7675SEmmanuel Vadot          - qcom,sm8250-sndcard
397ef62cebSEmmanuel Vadot          - qcom,sm8450-sndcard
408d13bc63SEmmanuel Vadot          - qcom,x1e80100-sndcard
415def4c47SEmmanuel Vadot
425def4c47SEmmanuel Vadot  audio-routing:
435def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
445def4c47SEmmanuel Vadot    description:
455def4c47SEmmanuel Vadot      A list of the connections between audio components. Each entry is a
465def4c47SEmmanuel Vadot      pair of strings, the first being the connection's sink, the second
475def4c47SEmmanuel Vadot      being the connection's source. Valid names could be power supplies,
485def4c47SEmmanuel Vadot      MicBias of codec and the jacks on the board.
495def4c47SEmmanuel Vadot
50e67e8565SEmmanuel Vadot  aux-devs:
51e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
52e67e8565SEmmanuel Vadot    description: |
53e67e8565SEmmanuel Vadot      List of phandles pointing to auxiliary devices, such
54e67e8565SEmmanuel Vadot      as amplifiers, to be added to the sound card.
55e67e8565SEmmanuel Vadot
565def4c47SEmmanuel Vadot  model:
575def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
585def4c47SEmmanuel Vadot    description: User visible long sound card name
595def4c47SEmmanuel Vadot
605def4c47SEmmanuel VadotpatternProperties:
615def4c47SEmmanuel Vadot  ".*-dai-link$":
625def4c47SEmmanuel Vadot    description:
635def4c47SEmmanuel Vadot      Each subnode represents a dai link. Subnodes of each dai links would be
645def4c47SEmmanuel Vadot      cpu/codec dais.
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel Vadot    type: object
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel Vadot    properties:
695def4c47SEmmanuel Vadot      link-name:
705def4c47SEmmanuel Vadot        description: Indicates dai-link name and PCM stream name.
715def4c47SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/string
725def4c47SEmmanuel Vadot        maxItems: 1
735def4c47SEmmanuel Vadot
745def4c47SEmmanuel Vadot      cpu:
755def4c47SEmmanuel Vadot        description: Holds subnode which indicates cpu dai.
765def4c47SEmmanuel Vadot        type: object
777ef62cebSEmmanuel Vadot        additionalProperties: false
787ef62cebSEmmanuel Vadot
795def4c47SEmmanuel Vadot        properties:
80c9ccf3a3SEmmanuel Vadot          sound-dai:
81c9ccf3a3SEmmanuel Vadot            maxItems: 1
825def4c47SEmmanuel Vadot
835def4c47SEmmanuel Vadot      platform:
845def4c47SEmmanuel Vadot        description: Holds subnode which indicates platform dai.
855def4c47SEmmanuel Vadot        type: object
867ef62cebSEmmanuel Vadot        additionalProperties: false
877ef62cebSEmmanuel Vadot
885def4c47SEmmanuel Vadot        properties:
89c9ccf3a3SEmmanuel Vadot          sound-dai:
90c9ccf3a3SEmmanuel Vadot            maxItems: 1
915def4c47SEmmanuel Vadot
925def4c47SEmmanuel Vadot      codec:
935def4c47SEmmanuel Vadot        description: Holds subnode which indicates codec dai.
945def4c47SEmmanuel Vadot        type: object
957ef62cebSEmmanuel Vadot        additionalProperties: false
967ef62cebSEmmanuel Vadot
975def4c47SEmmanuel Vadot        properties:
98c9ccf3a3SEmmanuel Vadot          sound-dai:
99c9ccf3a3SEmmanuel Vadot            minItems: 1
10001950c46SEmmanuel Vadot            maxItems: 8
1015def4c47SEmmanuel Vadot
1025def4c47SEmmanuel Vadot    required:
1035def4c47SEmmanuel Vadot      - link-name
1045def4c47SEmmanuel Vadot      - cpu
1055def4c47SEmmanuel Vadot
1065def4c47SEmmanuel Vadot    additionalProperties: false
1075def4c47SEmmanuel Vadot
1085def4c47SEmmanuel Vadotrequired:
1095def4c47SEmmanuel Vadot  - compatible
1105def4c47SEmmanuel Vadot  - model
1115def4c47SEmmanuel Vadot
1125def4c47SEmmanuel VadotadditionalProperties: false
1135def4c47SEmmanuel Vadot
1145def4c47SEmmanuel Vadotexamples:
1155def4c47SEmmanuel Vadot
1165def4c47SEmmanuel Vadot  - |
1175def4c47SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
1185def4c47SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6asm.h>
1195def4c47SEmmanuel Vadot    sound {
1205def4c47SEmmanuel Vadot        compatible = "qcom,qrb5165-rb5-sndcard";
1215def4c47SEmmanuel Vadot        model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
1225def4c47SEmmanuel Vadot        audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
1235def4c47SEmmanuel Vadot                    "SpkrRight IN", "WSA_SPK2 OUT",
1245def4c47SEmmanuel Vadot                    "VA DMIC0", "vdd-micb",
125e67e8565SEmmanuel Vadot                    "VA DMIC1", "vdd-micb";
1265def4c47SEmmanuel Vadot
1275def4c47SEmmanuel Vadot        mm1-dai-link {
1285def4c47SEmmanuel Vadot            link-name = "MultiMedia0";
1295def4c47SEmmanuel Vadot            cpu {
1305def4c47SEmmanuel Vadot                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
1315def4c47SEmmanuel Vadot            };
1325def4c47SEmmanuel Vadot        };
1335def4c47SEmmanuel Vadot
1345def4c47SEmmanuel Vadot        mm2-dai-link {
1355def4c47SEmmanuel Vadot            link-name = "MultiMedia2";
1365def4c47SEmmanuel Vadot            cpu {
1375def4c47SEmmanuel Vadot                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
1385def4c47SEmmanuel Vadot            };
1395def4c47SEmmanuel Vadot        };
1405def4c47SEmmanuel Vadot
1415def4c47SEmmanuel Vadot        mm3-dai-link {
1425def4c47SEmmanuel Vadot            link-name = "MultiMedia3";
1435def4c47SEmmanuel Vadot            cpu {
1445def4c47SEmmanuel Vadot                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
1455def4c47SEmmanuel Vadot            };
1465def4c47SEmmanuel Vadot        };
1475def4c47SEmmanuel Vadot
1485def4c47SEmmanuel Vadot        hdmi-dai-link {
1495def4c47SEmmanuel Vadot            link-name = "HDMI Playback";
1505def4c47SEmmanuel Vadot            cpu {
1515def4c47SEmmanuel Vadot                sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
1525def4c47SEmmanuel Vadot            };
1535def4c47SEmmanuel Vadot
1545def4c47SEmmanuel Vadot            platform {
1555def4c47SEmmanuel Vadot                sound-dai = <&q6routing>;
1565def4c47SEmmanuel Vadot            };
1575def4c47SEmmanuel Vadot
1585def4c47SEmmanuel Vadot            codec {
1595def4c47SEmmanuel Vadot                sound-dai = <&lt9611_codec 0>;
1605def4c47SEmmanuel Vadot            };
1615def4c47SEmmanuel Vadot        };
1625def4c47SEmmanuel Vadot
1635def4c47SEmmanuel Vadot        wsa-dai-link {
1645def4c47SEmmanuel Vadot            link-name = "WSA Playback";
1655def4c47SEmmanuel Vadot            cpu {
1665def4c47SEmmanuel Vadot                sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
1675def4c47SEmmanuel Vadot            };
1685def4c47SEmmanuel Vadot
1695def4c47SEmmanuel Vadot            platform {
1705def4c47SEmmanuel Vadot                sound-dai = <&q6routing>;
1715def4c47SEmmanuel Vadot            };
1725def4c47SEmmanuel Vadot
1735def4c47SEmmanuel Vadot            codec {
1745def4c47SEmmanuel Vadot                sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
1755def4c47SEmmanuel Vadot            };
1765def4c47SEmmanuel Vadot        };
1775def4c47SEmmanuel Vadot
1785def4c47SEmmanuel Vadot        va-dai-link {
1795def4c47SEmmanuel Vadot            link-name = "VA Capture";
1805def4c47SEmmanuel Vadot            cpu {
1815def4c47SEmmanuel Vadot                sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
1825def4c47SEmmanuel Vadot            };
1835def4c47SEmmanuel Vadot
1845def4c47SEmmanuel Vadot            platform {
1855def4c47SEmmanuel Vadot                sound-dai = <&q6routing>;
1865def4c47SEmmanuel Vadot            };
1875def4c47SEmmanuel Vadot
1885def4c47SEmmanuel Vadot            codec {
1895def4c47SEmmanuel Vadot                sound-dai = <&vamacro 0>;
1905def4c47SEmmanuel Vadot            };
1915def4c47SEmmanuel Vadot        };
1925def4c47SEmmanuel Vadot    };
193