blob: 2af1d8ffbd8b58f1dce42b369fd699795183a7d7 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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#
6
7title: MediaTek MT8195 ASoC sound card driver
8
9maintainers:
10 - Trevor Wu <trevor.wu@mediatek.com>
11
12description:
13 This binding describes the MT8195 sound card.
14
Tom Rini762f85b2024-07-20 11:15:10 -060015allOf:
16 - $ref: sound-card-common.yaml#
17
Tom Rini53633a82024-02-29 12:33:36 -050018properties:
19 compatible:
20 enum:
21 - mediatek,mt8195_mt6359_rt1019_rt5682
22 - mediatek,mt8195_mt6359_rt1011_rt5682
23 - mediatek,mt8195_mt6359_max98390_rt5682
24
25 model:
26 $ref: /schemas/types.yaml#/definitions/string
27 description: User specified audio sound card name
28
Tom Rini762f85b2024-07-20 11:15:10 -060029 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
45
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
55
Tom Rini53633a82024-02-29 12:33:36 -050056 mediatek,platform:
57 $ref: /schemas/types.yaml#/definitions/phandle
58 description: The phandle of MT8195 ASoC platform.
59
60 mediatek,dptx-codec:
61 $ref: /schemas/types.yaml#/definitions/phandle
62 description: The phandle of MT8195 Display Port Tx codec node.
Tom Rini762f85b2024-07-20 11:15:10 -060063 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050064
65 mediatek,hdmi-codec:
66 $ref: /schemas/types.yaml#/definitions/phandle
67 description: The phandle of MT8195 HDMI codec node.
Tom Rini762f85b2024-07-20 11:15:10 -060068 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050069
70 mediatek,adsp:
71 $ref: /schemas/types.yaml#/definitions/phandle
72 description: The phandle of MT8195 ADSP platform.
73
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.
79
Tom Rini762f85b2024-07-20 11:15:10 -060080patternProperties:
81 ".*-dai-link$":
82 type: object
83 additionalProperties: false
84 description:
85 Container for dai-link level properties and CODEC sub-nodes.
86
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
98
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
109
110 dai-format:
111 description: audio format
112 enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
113
114 mediatek,clk-provider:
115 $ref: /schemas/types.yaml#/definitions/string
116 description: Indicates dai-link clock master.
117 enum: [ cpu, codec ]
118
119 required:
120 - link-name
121
Tom Rini53633a82024-02-29 12:33:36 -0500122additionalProperties: false
123
124required:
125 - compatible
126 - mediatek,platform
127
Tom Rini762f85b2024-07-20 11:15:10 -0600128# Disallow legacy properties if xxx-dai-link nodes are specified
129if:
130 not:
131 patternProperties:
132 ".*-dai-link$": false
133then:
134 properties:
135 mediatek,dptx-codec: false
136 mediatek,hdmi-codec: false
137
Tom Rini53633a82024-02-29 12:33:36 -0500138examples:
139 - |
140
141 sound: mt8195-sound {
142 compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
Tom Rini762f85b2024-07-20 11:15:10 -0600143 model = "mt8195_r1019_5682";
Tom Rini53633a82024-02-29 12:33:36 -0500144 mediatek,platform = <&afe>;
145 pinctrl-names = "default";
146 pinctrl-0 = <&aud_pins_default>;
Tom Rini762f85b2024-07-20 11:15:10 -0600147
148 audio-routing =
149 "Headphone", "HPOL",
150 "Headphone", "HPOR",
151 "IN1P", "Headset Mic",
152 "Ext Spk", "Speaker";
153
154 mm-dai-link {
155 link-name = "ETDM1_IN_BE";
156 mediatek,clk-provider = "cpu";
157 };
158
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 };
166
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 };
174
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 };
182
183 hdmi-dai-link {
184 link-name = "ETDM3_OUT_BE";
185 codec {
186 sound-dai = <&hdmi_tx>;
187 };
188 };
189
190 displayport-dai-link {
191 link-name = "DPTX_BE";
192 codec {
193 sound-dai = <&dp_tx>;
194 };
195 };
Tom Rini53633a82024-02-29 12:33:36 -0500196 };
197
198...