blob: c4e68f31aaabd7e3f19e004e2d78f77a0ed1a7be [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/mt8192-mt6359-rt1015-rt5682.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Mediatek MT8192 with MT6359, RT1015 and RT5682 ASoC sound card driver
8
9maintainers:
10 - Jiaxin Yu <jiaxin.yu@mediatek.com>
11 - Shane Chien <shane.chien@mediatek.com>
12
13description:
14 This binding describes the MT8192 sound card.
15
Tom Rini762f85b2024-07-20 11:15:10 -060016allOf:
17 - $ref: sound-card-common.yaml#
18
Tom Rini53633a82024-02-29 12:33:36 -050019properties:
20 compatible:
21 enum:
22 - mediatek,mt8192_mt6359_rt1015_rt5682
23 - mediatek,mt8192_mt6359_rt1015p_rt5682
24 - mediatek,mt8192_mt6359_rt1015p_rt5682s
25
Tom Rini762f85b2024-07-20 11:15:10 -060026 audio-routing:
27 description:
28 A list of the connections between audio components. Each entry is a
29 pair of strings, the first being the connection's sink, the second
30 being the connection's source.
31 Valid names could be the input or output widgets of audio components,
32 power supplies, MicBias of codec and the software switch.
33 minItems: 2
34 items:
35 enum:
36 # Sinks
37 - Speakers
38 - Headphone Jack
39 - IN1P
40 - Left Spk
41 - Right Spk
42
43 # Sources
44 - Headset Mic
45 - HPOL
46 - HPOR
47 - Left SPO
48 - Right SPO
49 - Speaker
50
Tom Rini53633a82024-02-29 12:33:36 -050051 mediatek,platform:
52 $ref: /schemas/types.yaml#/definitions/phandle
53 description: The phandle of MT8192 ASoC platform.
54
55 mediatek,hdmi-codec:
56 $ref: /schemas/types.yaml#/definitions/phandle
57 description: The phandle of HDMI codec.
Tom Rini762f85b2024-07-20 11:15:10 -060058 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050059
60 headset-codec:
61 type: object
62 additionalProperties: false
Tom Rini762f85b2024-07-20 11:15:10 -060063 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050064
65 properties:
66 sound-dai:
67 maxItems: 1
68 required:
69 - sound-dai
70
71 speaker-codecs:
72 type: object
73 additionalProperties: false
Tom Rini762f85b2024-07-20 11:15:10 -060074 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050075
76 properties:
77 sound-dai:
78 minItems: 1
79 maxItems: 2
80 items:
81 maxItems: 1
82 required:
83 - sound-dai
84
Tom Rini762f85b2024-07-20 11:15:10 -060085patternProperties:
86 ".*-dai-link$":
87 type: object
88 additionalProperties: false
89
90 description:
91 Container for dai-link level properties and CODEC sub-nodes.
92
93 properties:
94 link-name:
95 description: Indicates dai-link name and PCM stream name
96 enum:
97 - I2S0
98 - I2S1
99 - I2S2
100 - I2S3
101 - I2S4
102 - I2S5
103 - I2S6
104 - I2S7
105 - I2S8
106 - I2S9
107 - TDM
108
109 codec:
110 description: Holds subnode which indicates codec dai.
111 type: object
112 additionalProperties: false
113 properties:
114 sound-dai:
115 minItems: 1
116 maxItems: 2
117 required:
118 - sound-dai
119
120 dai-format:
121 description: audio format
122 enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
123
124 mediatek,clk-provider:
125 $ref: /schemas/types.yaml#/definitions/string
126 description: Indicates dai-link clock master.
127 enum: [ cpu, codec ]
128
129 required:
130 - link-name
131
132unevaluatedProperties: false
Tom Rini53633a82024-02-29 12:33:36 -0500133
134required:
135 - compatible
136 - mediatek,platform
Tom Rini762f85b2024-07-20 11:15:10 -0600137
138# Disallow legacy properties if xxx-dai-link nodes are specified
139if:
140 not:
141 patternProperties:
142 ".*-dai-link$": false
143then:
144 properties:
145 headset-codec: false
146 speaker-codecs: false
147 mediatek,hdmi-codec: false
Tom Rini53633a82024-02-29 12:33:36 -0500148
149examples:
150 - |
151
152 sound: mt8192-sound {
153 compatible = "mediatek,mt8192_mt6359_rt1015_rt5682";
Tom Rini762f85b2024-07-20 11:15:10 -0600154 model = "mt8192_mt6359_rt1015_rt5682";
Tom Rini53633a82024-02-29 12:33:36 -0500155 pinctrl-names = "aud_clk_mosi_off",
156 "aud_clk_mosi_on";
157 pinctrl-0 = <&aud_clk_mosi_off>;
158 pinctrl-1 = <&aud_clk_mosi_on>;
Tom Rini762f85b2024-07-20 11:15:10 -0600159 mediatek,platform = <&afe>;
Tom Rini53633a82024-02-29 12:33:36 -0500160
Tom Rini762f85b2024-07-20 11:15:10 -0600161 audio-routing =
162 "Headphone Jack", "HPOL",
163 "Headphone Jack", "HPOR",
164 "IN1P", "Headset Mic",
165 "Speakers", "Speaker";
166
167 spk-playback-dai-link {
168 link-name = "I2S3";
169 dai-format = "i2s";
170 mediatek,clk-provider = "cpu";
171 codec {
172 sound-dai = <&rt1015p>;
173 };
174 };
175
176 hs-playback-dai-link {
177 link-name = "I2S8";
178 dai-format = "i2s";
179 mediatek,clk-provider = "cpu";
180 codec {
181 sound-dai = <&rt5682 0>;
182 };
183 };
184
185 hs-capture-dai-link {
186 link-name = "I2S9";
187 dai-format = "i2s";
188 mediatek,clk-provider = "cpu";
189 codec {
190 sound-dai = <&rt5682 0>;
191 };
Tom Rini53633a82024-02-29 12:33:36 -0500192 };
193
Tom Rini762f85b2024-07-20 11:15:10 -0600194 displayport-dai-link {
195 link-name = "TDM";
196 dai-format = "dsp_a";
197 codec {
198 sound-dai = <&anx_bridge_dp>;
199 };
Tom Rini53633a82024-02-29 12:33:36 -0500200 };
201 };
202
203...