Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / mt8195-mt6359.yaml
blob2af1d8ffbd8b58f1dce42b369fd699795183a7d7
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/mt8195-mt6359.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MediaTek MT8195 ASoC sound card driver
9 maintainers:
10   - Trevor Wu <trevor.wu@mediatek.com>
12 description:
13   This binding describes the MT8195 sound card.
15 allOf:
16   - $ref: sound-card-common.yaml#
18 properties:
19   compatible:
20     enum:
21       - mediatek,mt8195_mt6359_rt1019_rt5682
22       - mediatek,mt8195_mt6359_rt1011_rt5682
23       - mediatek,mt8195_mt6359_max98390_rt5682
25   model:
26     $ref: /schemas/types.yaml#/definitions/string
27     description: User specified audio sound card name
29   audio-routing:
30     description:
31       A list of the connections between audio components. Each entry is a
32       pair of strings, the first being the connection's sink, the second
33       being the connection's source.
34       Valid names could be the input or output widgets of audio components,
35       power supplies, MicBias of codec and the software switch.
36     minItems: 2
37     items:
38       enum:
39         # Sinks
40         - Ext Spk
41         - Headphone
42         - IN1P
43         - Left Spk
44         - Right Spk
46         # Sources
47         - Headset Mic
48         - HPOL
49         - HPOR
50         - Left BE_OUT
51         - Left SPO
52         - Right BE_OUT
53         - Right SPO
54         - Speaker
56   mediatek,platform:
57     $ref: /schemas/types.yaml#/definitions/phandle
58     description: The phandle of MT8195 ASoC platform.
60   mediatek,dptx-codec:
61     $ref: /schemas/types.yaml#/definitions/phandle
62     description: The phandle of MT8195 Display Port Tx codec node.
63     deprecated: true
65   mediatek,hdmi-codec:
66     $ref: /schemas/types.yaml#/definitions/phandle
67     description: The phandle of MT8195 HDMI codec node.
68     deprecated: true
70   mediatek,adsp:
71     $ref: /schemas/types.yaml#/definitions/phandle
72     description: The phandle of MT8195 ADSP platform.
74   mediatek,dai-link:
75     $ref: /schemas/types.yaml#/definitions/string-array
76     description:
77       A list of the desired dai-links in the sound card. Each entry is a
78       name defined in the machine driver.
80 patternProperties:
81   ".*-dai-link$":
82     type: object
83     additionalProperties: false
84     description:
85       Container for dai-link level properties and CODEC sub-nodes.
87     properties:
88       link-name:
89         description: Indicates dai-link name and PCM stream name
90         enum:
91           - DPTX_BE
92           - ETDM1_IN_BE
93           - ETDM2_IN_BE
94           - ETDM1_OUT_BE
95           - ETDM2_OUT_BE
96           - ETDM3_OUT_BE
97           - PCM1_BE
99       codec:
100         description: Holds subnode which indicates codec dai.
101         type: object
102         additionalProperties: false
103         properties:
104           sound-dai:
105             minItems: 1
106             maxItems: 2
107         required:
108           - sound-dai
110       dai-format:
111         description: audio format
112         enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
114       mediatek,clk-provider:
115         $ref: /schemas/types.yaml#/definitions/string
116         description: Indicates dai-link clock master.
117         enum: [ cpu, codec ]
119     required:
120       - link-name
122 additionalProperties: false
124 required:
125   - compatible
126   - mediatek,platform
128 # Disallow legacy properties if xxx-dai-link nodes are specified
130   not:
131     patternProperties:
132       ".*-dai-link$": false
133 then:
134   properties:
135     mediatek,dptx-codec: false
136     mediatek,hdmi-codec: false
138 examples:
139   - |
141     sound: mt8195-sound {
142         compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
143         model = "mt8195_r1019_5682";
144         mediatek,platform = <&afe>;
145         pinctrl-names = "default";
146         pinctrl-0 = <&aud_pins_default>;
148         audio-routing =
149                 "Headphone", "HPOL",
150                 "Headphone", "HPOR",
151                 "IN1P", "Headset Mic",
152                 "Ext Spk", "Speaker";
154         mm-dai-link {
155                 link-name = "ETDM1_IN_BE";
156                 mediatek,clk-provider = "cpu";
157         };
159         hs-playback-dai-link {
160                 link-name = "ETDM1_OUT_BE";
161                 mediatek,clk-provider = "cpu";
162                 codec {
163                         sound-dai = <&headset_codec>;
164                 };
165         };
167         hs-capture-dai-link {
168                 link-name = "ETDM2_IN_BE";
169                 mediatek,clk-provider = "cpu";
170                 codec {
171                         sound-dai = <&headset_codec>;
172                 };
173         };
175         spk-playback-dai-link {
176                 link-name = "ETDM2_OUT_BE";
177                 mediatek,clk-provider = "cpu";
178                 codec {
179                         sound-dai = <&spk_amplifier>;
180                 };
181         };
183         hdmi-dai-link {
184                 link-name = "ETDM3_OUT_BE";
185                 codec {
186                         sound-dai = <&hdmi_tx>;
187                 };
188         };
190         displayport-dai-link {
191                 link-name = "DPTX_BE";
192                 codec {
193                         sound-dai = <&dp_tx>;
194                 };
195         };
196     };