14c8a4cabSKai Vehmanen // SPDX-License-Identifier: GPL-2.0-only
24c8a4cabSKai Vehmanen /*
34c8a4cabSKai Vehmanen  * soc-apci-intel-adl-match.c - tables and support for ADL ACPI enumeration.
44c8a4cabSKai Vehmanen  *
54c8a4cabSKai Vehmanen  * Copyright (c) 2020, Intel Corporation.
64c8a4cabSKai Vehmanen  */
74c8a4cabSKai Vehmanen 
84c8a4cabSKai Vehmanen #include <sound/soc-acpi.h>
94c8a4cabSKai Vehmanen #include <sound/soc-acpi-intel-match.h>
104c8a4cabSKai Vehmanen 
112ec8b081SMuralidhar Reddy static const struct snd_soc_acpi_codecs essx_83x6 = {
122ec8b081SMuralidhar Reddy 	.num_codecs = 3,
132ec8b081SMuralidhar Reddy 	.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
142ec8b081SMuralidhar Reddy };
152ec8b081SMuralidhar Reddy 
164c8a4cabSKai Vehmanen static const struct snd_soc_acpi_endpoint single_endpoint = {
174c8a4cabSKai Vehmanen 	.num = 0,
184c8a4cabSKai Vehmanen 	.aggregated = 0,
194c8a4cabSKai Vehmanen 	.group_position = 0,
204c8a4cabSKai Vehmanen 	.group_id = 0,
214c8a4cabSKai Vehmanen };
224c8a4cabSKai Vehmanen 
23093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_endpoint spk_l_endpoint = {
24093b9dcbSPierre-Louis Bossart 	.num = 0,
25093b9dcbSPierre-Louis Bossart 	.aggregated = 1,
26093b9dcbSPierre-Louis Bossart 	.group_position = 0,
27093b9dcbSPierre-Louis Bossart 	.group_id = 1,
28093b9dcbSPierre-Louis Bossart };
29093b9dcbSPierre-Louis Bossart 
30093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
31093b9dcbSPierre-Louis Bossart 	.num = 0,
32093b9dcbSPierre-Louis Bossart 	.aggregated = 1,
33093b9dcbSPierre-Louis Bossart 	.group_position = 1,
34093b9dcbSPierre-Louis Bossart 	.group_id = 1,
35093b9dcbSPierre-Louis Bossart };
36093b9dcbSPierre-Louis Bossart 
374c8a4cabSKai Vehmanen static const struct snd_soc_acpi_adr_device rt711_0_adr[] = {
384c8a4cabSKai Vehmanen 	{
390c52d3e2SPierre-Louis Bossart 		.adr = 0x000020025D071100ull,
404c8a4cabSKai Vehmanen 		.num_endpoints = 1,
414c8a4cabSKai Vehmanen 		.endpoints = &single_endpoint,
424c8a4cabSKai Vehmanen 		.name_prefix = "rt711"
434c8a4cabSKai Vehmanen 	}
444c8a4cabSKai Vehmanen };
454c8a4cabSKai Vehmanen 
46093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1308_1_group1_adr[] = {
47093b9dcbSPierre-Louis Bossart 	{
480c52d3e2SPierre-Louis Bossart 		.adr = 0x000120025D130800ull,
49093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
50093b9dcbSPierre-Louis Bossart 		.endpoints = &spk_l_endpoint,
51093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt1308-1"
52093b9dcbSPierre-Louis Bossart 	}
53093b9dcbSPierre-Louis Bossart };
54093b9dcbSPierre-Louis Bossart 
55093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1308_2_group1_adr[] = {
56093b9dcbSPierre-Louis Bossart 	{
570c52d3e2SPierre-Louis Bossart 		.adr = 0x000220025D130800ull,
58093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
59093b9dcbSPierre-Louis Bossart 		.endpoints = &spk_r_endpoint,
60093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt1308-2"
61093b9dcbSPierre-Louis Bossart 	}
62093b9dcbSPierre-Louis Bossart };
63093b9dcbSPierre-Louis Bossart 
64093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt715_3_adr[] = {
65093b9dcbSPierre-Louis Bossart 	{
660c52d3e2SPierre-Louis Bossart 		.adr = 0x000320025D071500ull,
67093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
68093b9dcbSPierre-Louis Bossart 		.endpoints = &single_endpoint,
69093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt715"
70093b9dcbSPierre-Louis Bossart 	}
71093b9dcbSPierre-Louis Bossart };
72093b9dcbSPierre-Louis Bossart 
73093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = {
74093b9dcbSPierre-Louis Bossart 	{
750c52d3e2SPierre-Louis Bossart 		.adr = 0x000030025D071101ull,
76093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
77093b9dcbSPierre-Louis Bossart 		.endpoints = &single_endpoint,
78093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt711"
79093b9dcbSPierre-Louis Bossart 	}
80093b9dcbSPierre-Louis Bossart };
81093b9dcbSPierre-Louis Bossart 
82359ace2bSGongjun Song static const struct snd_soc_acpi_adr_device rt711_sdca_2_adr[] = {
83359ace2bSGongjun Song 	{
84359ace2bSGongjun Song 		.adr = 0x000230025D071101ull,
85359ace2bSGongjun Song 		.num_endpoints = 1,
86359ace2bSGongjun Song 		.endpoints = &single_endpoint,
87359ace2bSGongjun Song 		.name_prefix = "rt711"
88359ace2bSGongjun Song 	}
89359ace2bSGongjun Song };
90359ace2bSGongjun Song 
91093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1316_1_group1_adr[] = {
92093b9dcbSPierre-Louis Bossart 	{
930c52d3e2SPierre-Louis Bossart 		.adr = 0x000131025D131601ull, /* unique ID is set for some reason */
94093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
95093b9dcbSPierre-Louis Bossart 		.endpoints = &spk_l_endpoint,
96093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt1316-1"
97093b9dcbSPierre-Louis Bossart 	}
98093b9dcbSPierre-Louis Bossart };
99093b9dcbSPierre-Louis Bossart 
100093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1316_2_group1_adr[] = {
101093b9dcbSPierre-Louis Bossart 	{
1020c52d3e2SPierre-Louis Bossart 		.adr = 0x000230025D131601ull,
103093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
104093b9dcbSPierre-Louis Bossart 		.endpoints = &spk_r_endpoint,
105093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt1316-2"
106093b9dcbSPierre-Louis Bossart 	}
107093b9dcbSPierre-Louis Bossart };
108093b9dcbSPierre-Louis Bossart 
109093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1316_3_group1_adr[] = {
110093b9dcbSPierre-Louis Bossart 	{
1110c52d3e2SPierre-Louis Bossart 		.adr = 0x000330025D131601ull,
112093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
113093b9dcbSPierre-Louis Bossart 		.endpoints = &spk_r_endpoint,
114093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt1316-2"
115093b9dcbSPierre-Louis Bossart 	}
116093b9dcbSPierre-Louis Bossart };
117093b9dcbSPierre-Louis Bossart 
118359ace2bSGongjun Song static const struct snd_soc_acpi_adr_device rt1316_0_group2_adr[] = {
119359ace2bSGongjun Song 	{
120359ace2bSGongjun Song 		.adr = 0x000031025D131601ull,
121359ace2bSGongjun Song 		.num_endpoints = 1,
122359ace2bSGongjun Song 		.endpoints = &spk_l_endpoint,
123359ace2bSGongjun Song 		.name_prefix = "rt1316-1"
124359ace2bSGongjun Song 	}
125359ace2bSGongjun Song };
126359ace2bSGongjun Song 
127359ace2bSGongjun Song static const struct snd_soc_acpi_adr_device rt1316_1_group2_adr[] = {
128359ace2bSGongjun Song 	{
129359ace2bSGongjun Song 		.adr = 0x000130025D131601ull,
130359ace2bSGongjun Song 		.num_endpoints = 1,
131359ace2bSGongjun Song 		.endpoints = &spk_r_endpoint,
132359ace2bSGongjun Song 		.name_prefix = "rt1316-2"
133359ace2bSGongjun Song 	}
134359ace2bSGongjun Song };
135359ace2bSGongjun Song 
136870dc42fSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1316_2_single_adr[] = {
137870dc42fSPierre-Louis Bossart 	{
1380c52d3e2SPierre-Louis Bossart 		.adr = 0x000230025D131601ull,
139870dc42fSPierre-Louis Bossart 		.num_endpoints = 1,
140870dc42fSPierre-Louis Bossart 		.endpoints = &single_endpoint,
141870dc42fSPierre-Louis Bossart 		.name_prefix = "rt1316-1"
142870dc42fSPierre-Louis Bossart 	}
143870dc42fSPierre-Louis Bossart };
144870dc42fSPierre-Louis Bossart 
1458d38cc29SPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt1316_3_single_adr[] = {
1468d38cc29SPierre-Louis Bossart 	{
1478d38cc29SPierre-Louis Bossart 		.adr = 0x000330025D131601ull,
1488d38cc29SPierre-Louis Bossart 		.num_endpoints = 1,
1498d38cc29SPierre-Louis Bossart 		.endpoints = &single_endpoint,
1508d38cc29SPierre-Louis Bossart 		.name_prefix = "rt1316-1"
1518d38cc29SPierre-Louis Bossart 	}
1528d38cc29SPierre-Louis Bossart };
1538d38cc29SPierre-Louis Bossart 
154870dc42fSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt714_0_adr[] = {
155870dc42fSPierre-Louis Bossart 	{
1560c52d3e2SPierre-Louis Bossart 		.adr = 0x000030025D071401ull,
157870dc42fSPierre-Louis Bossart 		.num_endpoints = 1,
158870dc42fSPierre-Louis Bossart 		.endpoints = &single_endpoint,
159870dc42fSPierre-Louis Bossart 		.name_prefix = "rt714"
160870dc42fSPierre-Louis Bossart 	}
161870dc42fSPierre-Louis Bossart };
162870dc42fSPierre-Louis Bossart 
163093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt714_2_adr[] = {
164093b9dcbSPierre-Louis Bossart 	{
1650c52d3e2SPierre-Louis Bossart 		.adr = 0x000230025D071401ull,
166093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
167093b9dcbSPierre-Louis Bossart 		.endpoints = &single_endpoint,
168093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt714"
169093b9dcbSPierre-Louis Bossart 	}
170093b9dcbSPierre-Louis Bossart };
171093b9dcbSPierre-Louis Bossart 
172093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt714_3_adr[] = {
173093b9dcbSPierre-Louis Bossart 	{
1740c52d3e2SPierre-Louis Bossart 		.adr = 0x000330025D071401ull,
175093b9dcbSPierre-Louis Bossart 		.num_endpoints = 1,
176093b9dcbSPierre-Louis Bossart 		.endpoints = &single_endpoint,
177093b9dcbSPierre-Louis Bossart 		.name_prefix = "rt714"
178093b9dcbSPierre-Louis Bossart 	}
179093b9dcbSPierre-Louis Bossart };
180093b9dcbSPierre-Louis Bossart 
181093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_link_adr adl_default[] = {
182093b9dcbSPierre-Louis Bossart 	{
183093b9dcbSPierre-Louis Bossart 		.mask = BIT(0),
184093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt711_0_adr),
185093b9dcbSPierre-Louis Bossart 		.adr_d = rt711_0_adr,
186093b9dcbSPierre-Louis Bossart 	},
187093b9dcbSPierre-Louis Bossart 	{
188093b9dcbSPierre-Louis Bossart 		.mask = BIT(1),
189093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1308_1_group1_adr),
190093b9dcbSPierre-Louis Bossart 		.adr_d = rt1308_1_group1_adr,
191093b9dcbSPierre-Louis Bossart 	},
192093b9dcbSPierre-Louis Bossart 	{
193093b9dcbSPierre-Louis Bossart 		.mask = BIT(2),
194093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1308_2_group1_adr),
195093b9dcbSPierre-Louis Bossart 		.adr_d = rt1308_2_group1_adr,
196093b9dcbSPierre-Louis Bossart 	},
197093b9dcbSPierre-Louis Bossart 	{
198093b9dcbSPierre-Louis Bossart 		.mask = BIT(3),
199093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt715_3_adr),
200093b9dcbSPierre-Louis Bossart 		.adr_d = rt715_3_adr,
201093b9dcbSPierre-Louis Bossart 	},
202093b9dcbSPierre-Louis Bossart 	{}
203093b9dcbSPierre-Louis Bossart };
204093b9dcbSPierre-Louis Bossart 
205093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_link_adr adl_sdca_default[] = {
206093b9dcbSPierre-Louis Bossart 	{
207093b9dcbSPierre-Louis Bossart 		.mask = BIT(0),
208093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
209093b9dcbSPierre-Louis Bossart 		.adr_d = rt711_sdca_0_adr,
210093b9dcbSPierre-Louis Bossart 	},
211093b9dcbSPierre-Louis Bossart 	{
212093b9dcbSPierre-Louis Bossart 		.mask = BIT(1),
213093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
214093b9dcbSPierre-Louis Bossart 		.adr_d = rt1316_1_group1_adr,
215093b9dcbSPierre-Louis Bossart 	},
216093b9dcbSPierre-Louis Bossart 	{
217093b9dcbSPierre-Louis Bossart 		.mask = BIT(2),
218093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
219093b9dcbSPierre-Louis Bossart 		.adr_d = rt1316_2_group1_adr,
220093b9dcbSPierre-Louis Bossart 	},
221093b9dcbSPierre-Louis Bossart 	{
222093b9dcbSPierre-Louis Bossart 		.mask = BIT(3),
223093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt714_3_adr),
224093b9dcbSPierre-Louis Bossart 		.adr_d = rt714_3_adr,
225093b9dcbSPierre-Louis Bossart 	},
226093b9dcbSPierre-Louis Bossart 	{}
227093b9dcbSPierre-Louis Bossart };
228093b9dcbSPierre-Louis Bossart 
229093b9dcbSPierre-Louis Bossart static const struct snd_soc_acpi_link_adr adl_sdca_3_in_1[] = {
230093b9dcbSPierre-Louis Bossart 	{
231093b9dcbSPierre-Louis Bossart 		.mask = BIT(0),
232093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
233093b9dcbSPierre-Louis Bossart 		.adr_d = rt711_sdca_0_adr,
234093b9dcbSPierre-Louis Bossart 	},
235093b9dcbSPierre-Louis Bossart 	{
236093b9dcbSPierre-Louis Bossart 		.mask = BIT(1),
237093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
238093b9dcbSPierre-Louis Bossart 		.adr_d = rt1316_1_group1_adr,
239093b9dcbSPierre-Louis Bossart 	},
240093b9dcbSPierre-Louis Bossart 	{
241093b9dcbSPierre-Louis Bossart 		.mask = BIT(2),
242093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt714_2_adr),
243093b9dcbSPierre-Louis Bossart 		.adr_d = rt714_2_adr,
244093b9dcbSPierre-Louis Bossart 	},
245093b9dcbSPierre-Louis Bossart 	{
246093b9dcbSPierre-Louis Bossart 		.mask = BIT(3),
247093b9dcbSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_3_group1_adr),
248093b9dcbSPierre-Louis Bossart 		.adr_d = rt1316_3_group1_adr,
249093b9dcbSPierre-Louis Bossart 	},
250093b9dcbSPierre-Louis Bossart 	{}
251093b9dcbSPierre-Louis Bossart };
252093b9dcbSPierre-Louis Bossart 
253359ace2bSGongjun Song static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01_rt714_link3[] = {
254359ace2bSGongjun Song 	{
255359ace2bSGongjun Song 		.mask = BIT(2),
256359ace2bSGongjun Song 		.num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
257359ace2bSGongjun Song 		.adr_d = rt711_sdca_2_adr,
258359ace2bSGongjun Song 	},
259359ace2bSGongjun Song 	{
260359ace2bSGongjun Song 		.mask = BIT(0),
261359ace2bSGongjun Song 		.num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
262359ace2bSGongjun Song 		.adr_d = rt1316_0_group2_adr,
263359ace2bSGongjun Song 	},
264359ace2bSGongjun Song 	{
265359ace2bSGongjun Song 		.mask = BIT(1),
266359ace2bSGongjun Song 		.num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
267359ace2bSGongjun Song 		.adr_d = rt1316_1_group2_adr,
268359ace2bSGongjun Song 	},
269359ace2bSGongjun Song 	{
270359ace2bSGongjun Song 		.mask = BIT(3),
271359ace2bSGongjun Song 		.num_adr = ARRAY_SIZE(rt714_3_adr),
272359ace2bSGongjun Song 		.adr_d = rt714_3_adr,
273359ace2bSGongjun Song 	},
274359ace2bSGongjun Song 	{}
275359ace2bSGongjun Song };
276359ace2bSGongjun Song 
277c4dcd710SLibin Yang static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01[] = {
278c4dcd710SLibin Yang 	{
279c4dcd710SLibin Yang 		.mask = BIT(2),
280c4dcd710SLibin Yang 		.num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
281c4dcd710SLibin Yang 		.adr_d = rt711_sdca_2_adr,
282c4dcd710SLibin Yang 	},
283c4dcd710SLibin Yang 	{
284c4dcd710SLibin Yang 		.mask = BIT(0),
285c4dcd710SLibin Yang 		.num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
286c4dcd710SLibin Yang 		.adr_d = rt1316_0_group2_adr,
287c4dcd710SLibin Yang 	},
288c4dcd710SLibin Yang 	{
289c4dcd710SLibin Yang 		.mask = BIT(1),
290c4dcd710SLibin Yang 		.num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
291c4dcd710SLibin Yang 		.adr_d = rt1316_1_group2_adr,
292c4dcd710SLibin Yang 	},
293c4dcd710SLibin Yang 	{}
294c4dcd710SLibin Yang };
295c4dcd710SLibin Yang 
296a1797d61SGongjun Song static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link12_rt714_link0[] = {
297a1797d61SGongjun Song 	{
298a1797d61SGongjun Song 		.mask = BIT(1),
299a1797d61SGongjun Song 		.num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
300a1797d61SGongjun Song 		.adr_d = rt1316_1_group1_adr,
301a1797d61SGongjun Song 	},
302a1797d61SGongjun Song 	{
303a1797d61SGongjun Song 		.mask = BIT(2),
304a1797d61SGongjun Song 		.num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
305a1797d61SGongjun Song 		.adr_d = rt1316_2_group1_adr,
306a1797d61SGongjun Song 	},
307a1797d61SGongjun Song 	{
308a1797d61SGongjun Song 		.mask = BIT(0),
309a1797d61SGongjun Song 		.num_adr = ARRAY_SIZE(rt714_0_adr),
310a1797d61SGongjun Song 		.adr_d = rt714_0_adr,
311a1797d61SGongjun Song 	},
312a1797d61SGongjun Song 	{}
313a1797d61SGongjun Song };
314a1797d61SGongjun Song 
31511e18f58SGongjun Song static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link3[] = {
31611e18f58SGongjun Song 	{
31711e18f58SGongjun Song 		.mask = BIT(2),
31811e18f58SGongjun Song 		.num_adr = ARRAY_SIZE(rt1316_2_single_adr),
31911e18f58SGongjun Song 		.adr_d = rt1316_2_single_adr,
32011e18f58SGongjun Song 	},
32111e18f58SGongjun Song 	{
32211e18f58SGongjun Song 		.mask = BIT(3),
32311e18f58SGongjun Song 		.num_adr = ARRAY_SIZE(rt714_3_adr),
32411e18f58SGongjun Song 		.adr_d = rt714_3_adr,
32511e18f58SGongjun Song 	},
32611e18f58SGongjun Song 	{}
32711e18f58SGongjun Song };
32811e18f58SGongjun Song 
329870dc42fSPierre-Louis Bossart static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link0[] = {
330870dc42fSPierre-Louis Bossart 	{
331870dc42fSPierre-Louis Bossart 		.mask = BIT(2),
332870dc42fSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_2_single_adr),
333870dc42fSPierre-Louis Bossart 		.adr_d = rt1316_2_single_adr,
334870dc42fSPierre-Louis Bossart 	},
335870dc42fSPierre-Louis Bossart 	{
336870dc42fSPierre-Louis Bossart 		.mask = BIT(0),
337870dc42fSPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt714_0_adr),
338870dc42fSPierre-Louis Bossart 		.adr_d = rt714_0_adr,
339870dc42fSPierre-Louis Bossart 	},
340870dc42fSPierre-Louis Bossart 	{}
341870dc42fSPierre-Louis Bossart };
342870dc42fSPierre-Louis Bossart 
3438d38cc29SPierre-Louis Bossart static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link3[] = {
3448d38cc29SPierre-Louis Bossart 	{
3458d38cc29SPierre-Louis Bossart 		.mask = BIT(0),
3468d38cc29SPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
3478d38cc29SPierre-Louis Bossart 		.adr_d = rt711_sdca_0_adr,
3488d38cc29SPierre-Louis Bossart 	},
3498d38cc29SPierre-Louis Bossart 	{
3508d38cc29SPierre-Louis Bossart 		.mask = BIT(3),
3518d38cc29SPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt1316_3_single_adr),
3528d38cc29SPierre-Louis Bossart 		.adr_d = rt1316_3_single_adr,
3538d38cc29SPierre-Louis Bossart 	},
3548d38cc29SPierre-Louis Bossart 	{}
3558d38cc29SPierre-Louis Bossart };
3568d38cc29SPierre-Louis Bossart 
357*9c691a42SEugene Huang static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link2[] = {
358*9c691a42SEugene Huang 	{
359*9c691a42SEugene Huang 		.mask = BIT(0),
360*9c691a42SEugene Huang 		.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
361*9c691a42SEugene Huang 		.adr_d = rt711_sdca_0_adr,
362*9c691a42SEugene Huang 	},
363*9c691a42SEugene Huang 	{
364*9c691a42SEugene Huang 		.mask = BIT(2),
365*9c691a42SEugene Huang 		.num_adr = ARRAY_SIZE(rt1316_2_single_adr),
366*9c691a42SEugene Huang 		.adr_d = rt1316_2_single_adr,
367*9c691a42SEugene Huang 	},
368*9c691a42SEugene Huang 	{}
369*9c691a42SEugene Huang };
370*9c691a42SEugene Huang 
371c0fbe9fdSVamshi Krishna Gopal static const struct snd_soc_acpi_adr_device mx8373_2_adr[] = {
372c0fbe9fdSVamshi Krishna Gopal 	{
373c0fbe9fdSVamshi Krishna Gopal 		.adr = 0x000223019F837300ull,
374c0fbe9fdSVamshi Krishna Gopal 		.num_endpoints = 1,
375c0fbe9fdSVamshi Krishna Gopal 		.endpoints = &spk_l_endpoint,
376c0fbe9fdSVamshi Krishna Gopal 		.name_prefix = "Left"
377c0fbe9fdSVamshi Krishna Gopal 	},
378c0fbe9fdSVamshi Krishna Gopal 	{
379c0fbe9fdSVamshi Krishna Gopal 		.adr = 0x000227019F837300ull,
380c0fbe9fdSVamshi Krishna Gopal 		.num_endpoints = 1,
381c0fbe9fdSVamshi Krishna Gopal 		.endpoints = &spk_r_endpoint,
382c0fbe9fdSVamshi Krishna Gopal 		.name_prefix = "Right"
383c0fbe9fdSVamshi Krishna Gopal 	}
384c0fbe9fdSVamshi Krishna Gopal };
385c0fbe9fdSVamshi Krishna Gopal 
386c0fbe9fdSVamshi Krishna Gopal static const struct snd_soc_acpi_adr_device rt5682_0_adr[] = {
387c0fbe9fdSVamshi Krishna Gopal 	{
388c0fbe9fdSVamshi Krishna Gopal 		.adr = 0x000021025D568200ull,
389c0fbe9fdSVamshi Krishna Gopal 		.num_endpoints = 1,
390c0fbe9fdSVamshi Krishna Gopal 		.endpoints = &single_endpoint,
391c0fbe9fdSVamshi Krishna Gopal 		.name_prefix = "rt5682"
392c0fbe9fdSVamshi Krishna Gopal 	}
393c0fbe9fdSVamshi Krishna Gopal };
394c0fbe9fdSVamshi Krishna Gopal 
3954c8a4cabSKai Vehmanen static const struct snd_soc_acpi_link_adr adl_rvp[] = {
3964c8a4cabSKai Vehmanen 	{
3974c8a4cabSKai Vehmanen 		.mask = BIT(0),
3984c8a4cabSKai Vehmanen 		.num_adr = ARRAY_SIZE(rt711_0_adr),
3994c8a4cabSKai Vehmanen 		.adr_d = rt711_0_adr,
4004c8a4cabSKai Vehmanen 	},
4014c8a4cabSKai Vehmanen 	{}
4024c8a4cabSKai Vehmanen };
4034c8a4cabSKai Vehmanen 
404d7be9e33SMuralidhar Reddy static const struct snd_soc_acpi_link_adr adlps_rvp[] = {
405d7be9e33SMuralidhar Reddy 	{
406d7be9e33SMuralidhar Reddy 		.mask = BIT(0),
407d7be9e33SMuralidhar Reddy 		.num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
408d7be9e33SMuralidhar Reddy 		.adr_d = rt711_sdca_0_adr,
409d7be9e33SMuralidhar Reddy 	},
410d7be9e33SMuralidhar Reddy 	{}
411d7be9e33SMuralidhar Reddy };
412d7be9e33SMuralidhar Reddy 
413c0fbe9fdSVamshi Krishna Gopal static const struct snd_soc_acpi_link_adr adl_chromebook_base[] = {
414c0fbe9fdSVamshi Krishna Gopal 	{
415c0fbe9fdSVamshi Krishna Gopal 		.mask = BIT(0),
416c0fbe9fdSVamshi Krishna Gopal 		.num_adr = ARRAY_SIZE(rt5682_0_adr),
417c0fbe9fdSVamshi Krishna Gopal 		.adr_d = rt5682_0_adr,
418c0fbe9fdSVamshi Krishna Gopal 	},
419c0fbe9fdSVamshi Krishna Gopal 	{
420c0fbe9fdSVamshi Krishna Gopal 		.mask = BIT(2),
421c0fbe9fdSVamshi Krishna Gopal 		.num_adr = ARRAY_SIZE(mx8373_2_adr),
422c0fbe9fdSVamshi Krishna Gopal 		.adr_d = mx8373_2_adr,
423c0fbe9fdSVamshi Krishna Gopal 	},
424c0fbe9fdSVamshi Krishna Gopal 	{}
425c0fbe9fdSVamshi Krishna Gopal };
426c0fbe9fdSVamshi Krishna Gopal 
4272a29ff7aSVamshi Krishna Gopal static const struct snd_soc_acpi_codecs adl_max98373_amp = {
4282a29ff7aSVamshi Krishna Gopal 	.num_codecs = 1,
4292a29ff7aSVamshi Krishna Gopal 	.codecs = {"MX98373"}
4302a29ff7aSVamshi Krishna Gopal };
4312a29ff7aSVamshi Krishna Gopal 
4322a29ff7aSVamshi Krishna Gopal static const struct snd_soc_acpi_codecs adl_max98357a_amp = {
4332a29ff7aSVamshi Krishna Gopal 	.num_codecs = 1,
4342a29ff7aSVamshi Krishna Gopal 	.codecs = {"MX98357A"}
4352a29ff7aSVamshi Krishna Gopal };
4362a29ff7aSVamshi Krishna Gopal 
4379c892547SMalik_Hsu static const struct snd_soc_acpi_codecs adl_max98360a_amp = {
4389c892547SMalik_Hsu 	.num_codecs = 1,
4399c892547SMalik_Hsu 	.codecs = {"MX98360A"}
4409c892547SMalik_Hsu };
4419c892547SMalik_Hsu 
442d4f3fdc2SBrent Lu static const struct snd_soc_acpi_codecs adl_rt5682_rt5682s_hp = {
443d4f3fdc2SBrent Lu 	.num_codecs = 2,
444d4f3fdc2SBrent Lu 	.codecs = {"10EC5682", "RTL5682"},
445d4f3fdc2SBrent Lu };
446d4f3fdc2SBrent Lu 
44713c459faSBrent Lu static const struct snd_soc_acpi_codecs adl_rt1015p_amp = {
44813c459faSBrent Lu 	.num_codecs = 1,
44913c459faSBrent Lu 	.codecs = {"RTL1015"}
45013c459faSBrent Lu };
45113c459faSBrent Lu 
4528d0872f6SMac Chiang static const struct snd_soc_acpi_codecs adl_rt1019p_amp = {
4538d0872f6SMac Chiang 	.num_codecs = 1,
4548d0872f6SMac Chiang 	.codecs = {"RTL1019"}
4558d0872f6SMac Chiang };
4568d0872f6SMac Chiang 
457f316c9d9SMac Chiang static const struct snd_soc_acpi_codecs adl_max98390_amp = {
458f316c9d9SMac Chiang 	.num_codecs = 1,
459f316c9d9SMac Chiang 	.codecs = {"MX98390"}
460f316c9d9SMac Chiang };
461f316c9d9SMac Chiang 
46286b1959aSMuralidhar Reddy static const struct snd_soc_acpi_codecs adl_lt6911_hdmi = {
46386b1959aSMuralidhar Reddy 	.num_codecs = 1,
46486b1959aSMuralidhar Reddy 	.codecs = {"INTC10B0"}
46586b1959aSMuralidhar Reddy };
46686b1959aSMuralidhar Reddy 
467ba7523bbSAjye Huang static const struct snd_soc_acpi_codecs adl_nau8318_amp = {
468ba7523bbSAjye Huang 	.num_codecs = 1,
469ba7523bbSAjye Huang 	.codecs = {"NVTN2012"}
470ba7523bbSAjye Huang };
471ba7523bbSAjye Huang 
4724c8a4cabSKai Vehmanen struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
4732a29ff7aSVamshi Krishna Gopal 	{
474d4f3fdc2SBrent Lu 		.comp_ids = &adl_rt5682_rt5682s_hp,
475590cfb08SPierre-Louis Bossart 		.drv_name = "adl_mx98373_rt5682",
4762a29ff7aSVamshi Krishna Gopal 		.machine_quirk = snd_soc_acpi_codec_list,
4772a29ff7aSVamshi Krishna Gopal 		.quirk_data = &adl_max98373_amp,
4782a29ff7aSVamshi Krishna Gopal 		.sof_tplg_filename = "sof-adl-max98373-rt5682.tplg",
4792a29ff7aSVamshi Krishna Gopal 	},
4802a29ff7aSVamshi Krishna Gopal 	{
481d4f3fdc2SBrent Lu 		.comp_ids = &adl_rt5682_rt5682s_hp,
4823c561a09SBrent Lu 		.drv_name = "adl_mx98357_rt5682",
4832a29ff7aSVamshi Krishna Gopal 		.machine_quirk = snd_soc_acpi_codec_list,
4842a29ff7aSVamshi Krishna Gopal 		.quirk_data = &adl_max98357a_amp,
4852a29ff7aSVamshi Krishna Gopal 		.sof_tplg_filename = "sof-adl-max98357a-rt5682.tplg",
4862a29ff7aSVamshi Krishna Gopal 	},
4879c892547SMalik_Hsu 	{
488d4f3fdc2SBrent Lu 		.comp_ids = &adl_rt5682_rt5682s_hp,
4899c892547SMalik_Hsu 		.drv_name = "adl_mx98360_rt5682",
4909c892547SMalik_Hsu 		.machine_quirk = snd_soc_acpi_codec_list,
4919c892547SMalik_Hsu 		.quirk_data = &adl_max98360a_amp,
4929c892547SMalik_Hsu 		.sof_tplg_filename = "sof-adl-max98360a-rt5682.tplg",
4939c892547SMalik_Hsu 	},
4948d0872f6SMac Chiang 	{
4958d0872f6SMac Chiang 		.id = "10508825",
4963e78986aSArnd Bergmann 		.drv_name = "adl_rt1019p_8825",
4978d0872f6SMac Chiang 		.machine_quirk = snd_soc_acpi_codec_list,
4988d0872f6SMac Chiang 		.quirk_data = &adl_rt1019p_amp,
4998d0872f6SMac Chiang 		.sof_tplg_filename = "sof-adl-rt1019-nau8825.tplg",
5008d0872f6SMac Chiang 	},
5018d0872f6SMac Chiang 	{
5028d0872f6SMac Chiang 		.id = "10508825",
5033e78986aSArnd Bergmann 		.drv_name = "adl_max98373_8825",
5048d0872f6SMac Chiang 		.machine_quirk = snd_soc_acpi_codec_list,
5058d0872f6SMac Chiang 		.quirk_data = &adl_max98373_amp,
5068d0872f6SMac Chiang 		.sof_tplg_filename = "sof-adl-max98373-nau8825.tplg",
5078d0872f6SMac Chiang 	},
5088d0872f6SMac Chiang 	{
5098d0872f6SMac Chiang 		.id = "10508825",
5103e78986aSArnd Bergmann 		.drv_name = "adl_mx98360a_8825",
5118d0872f6SMac Chiang 		.machine_quirk = snd_soc_acpi_codec_list,
5128d0872f6SMac Chiang 		.quirk_data = &adl_max98360a_amp,
5135fa66f29SDavid Lin 		.sof_tplg_filename = "sof-adl-max98360a-nau8825.tplg",
5148d0872f6SMac Chiang 	},
5158d0872f6SMac Chiang 	{
5161a9a5ebeSAjye Huang 		.comp_ids = &adl_rt5682_rt5682s_hp,
5171a9a5ebeSAjye Huang 		.drv_name = "adl_rt1019_rt5682",
5180b56ed19SVamshi Krishna 		.machine_quirk = snd_soc_acpi_codec_list,
5190b56ed19SVamshi Krishna 		.quirk_data = &adl_rt1019p_amp,
5200b56ed19SVamshi Krishna 		.sof_tplg_filename = "sof-adl-rt1019-rt5682.tplg",
5210b56ed19SVamshi Krishna 	},
5220b56ed19SVamshi Krishna 	{
5238d0872f6SMac Chiang 		.id = "10508825",
5243e78986aSArnd Bergmann 		.drv_name = "adl_rt1015p_8825",
52513c459faSBrent Lu 		.machine_quirk = snd_soc_acpi_codec_list,
52613c459faSBrent Lu 		.quirk_data = &adl_rt1015p_amp,
52713c459faSBrent Lu 		.sof_tplg_filename = "sof-adl-rt1015-nau8825.tplg",
52813c459faSBrent Lu 	},
52913c459faSBrent Lu 	{
53013c459faSBrent Lu 		.id = "10508825",
531ba7523bbSAjye Huang 		.drv_name = "adl_nau8318_8825",
532ba7523bbSAjye Huang 		.machine_quirk = snd_soc_acpi_codec_list,
533ba7523bbSAjye Huang 		.quirk_data = &adl_nau8318_amp,
534ba7523bbSAjye Huang 		.sof_tplg_filename = "sof-adl-nau8318-nau8825.tplg",
535ba7523bbSAjye Huang 	},
536ba7523bbSAjye Huang 	{
537ba7523bbSAjye Huang 		.id = "10508825",
5388d0872f6SMac Chiang 		.drv_name = "sof_nau8825",
5398d0872f6SMac Chiang 		.sof_tplg_filename = "sof-adl-nau8825.tplg",
5408d0872f6SMac Chiang 	},
541f316c9d9SMac Chiang 	{
542f316c9d9SMac Chiang 		.comp_ids = &adl_rt5682_rt5682s_hp,
543f316c9d9SMac Chiang 		.drv_name = "adl_max98390_rt5682",
544f316c9d9SMac Chiang 		.machine_quirk = snd_soc_acpi_codec_list,
545f316c9d9SMac Chiang 		.quirk_data = &adl_max98390_amp,
546f316c9d9SMac Chiang 		.sof_tplg_filename = "sof-adl-max98390-rt5682.tplg",
547f316c9d9SMac Chiang 	},
548c8e98eafSAjye Huang 	{
549c8e98eafSAjye Huang 		.comp_ids = &adl_rt5682_rt5682s_hp,
550c8e98eafSAjye Huang 		.drv_name = "adl_rt5682",
551c8e98eafSAjye Huang 		.sof_tplg_filename = "sof-adl-rt5682.tplg",
552c8e98eafSAjye Huang 	},
553cd486d37SBrent Lu 	{
554cd486d37SBrent Lu 		.id = "10134242",
555cd486d37SBrent Lu 		.drv_name = "adl_mx98360a_cs4242",
556cd486d37SBrent Lu 		.machine_quirk = snd_soc_acpi_codec_list,
557cd486d37SBrent Lu 		.quirk_data = &adl_max98360a_amp,
558cd486d37SBrent Lu 		.sof_tplg_filename = "sof-adl-max98360a-cs42l42.tplg",
559cd486d37SBrent Lu 	},
5602fe14ff6SBrent Lu 	/* place amp-only boards in the end of table */
5612fe14ff6SBrent Lu 	{
5622fe14ff6SBrent Lu 		.id = "CSC3541",
5632fe14ff6SBrent Lu 		.drv_name = "adl_cs35l41",
5642fe14ff6SBrent Lu 		.sof_tplg_filename = "sof-adl-cs35l41.tplg",
5652fe14ff6SBrent Lu 	},
5662ec8b081SMuralidhar Reddy 	{
5672ec8b081SMuralidhar Reddy 		.comp_ids = &essx_83x6,
56886b1959aSMuralidhar Reddy 		.drv_name = "adl_es83x6_c1_h02",
56986b1959aSMuralidhar Reddy 		.machine_quirk = snd_soc_acpi_codec_list,
57086b1959aSMuralidhar Reddy 		.quirk_data = &adl_lt6911_hdmi,
57186b1959aSMuralidhar Reddy 		.sof_tplg_filename = "sof-adl-es83x6-ssp1-hdmi-ssp02.tplg",
57286b1959aSMuralidhar Reddy 	},
57386b1959aSMuralidhar Reddy 	{
57486b1959aSMuralidhar Reddy 		.comp_ids = &essx_83x6,
5752ec8b081SMuralidhar Reddy 		.drv_name = "sof-essx8336",
576858a438aSPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-es8336", /* the tplg suffix is added at run time */
5772ec8b081SMuralidhar Reddy 		.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
5782ec8b081SMuralidhar Reddy 					SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
5792ec8b081SMuralidhar Reddy 					SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
5802ec8b081SMuralidhar Reddy 	},
5814c8a4cabSKai Vehmanen 	{},
5824c8a4cabSKai Vehmanen };
5834c8a4cabSKai Vehmanen EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_machines);
5844c8a4cabSKai Vehmanen 
5854c8a4cabSKai Vehmanen /* this table is used when there is no I2S codec present */
5864c8a4cabSKai Vehmanen struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_sdw_machines[] = {
5874c8a4cabSKai Vehmanen 	{
588093b9dcbSPierre-Louis Bossart 		.link_mask = 0xF, /* 4 active links required */
589093b9dcbSPierre-Louis Bossart 		.links = adl_default,
590093b9dcbSPierre-Louis Bossart 		.drv_name = "sof_sdw",
591093b9dcbSPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-rt711-l0-rt1308-l12-rt715-l3.tplg",
592093b9dcbSPierre-Louis Bossart 	},
593093b9dcbSPierre-Louis Bossart 	{
594093b9dcbSPierre-Louis Bossart 		.link_mask = 0xF, /* 4 active links required */
595093b9dcbSPierre-Louis Bossart 		.links = adl_sdca_default,
596093b9dcbSPierre-Louis Bossart 		.drv_name = "sof_sdw",
597093b9dcbSPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l12-rt714-l3.tplg",
598093b9dcbSPierre-Louis Bossart 	},
599093b9dcbSPierre-Louis Bossart 	{
600093b9dcbSPierre-Louis Bossart 		.link_mask = 0xF, /* 4 active links required */
601093b9dcbSPierre-Louis Bossart 		.links = adl_sdca_3_in_1,
602093b9dcbSPierre-Louis Bossart 		.drv_name = "sof_sdw",
603093b9dcbSPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l13-rt714-l2.tplg",
604093b9dcbSPierre-Louis Bossart 	},
605093b9dcbSPierre-Louis Bossart 	{
606359ace2bSGongjun Song 		.link_mask = 0xF, /* 4 active links required */
607359ace2bSGongjun Song 		.links = adl_sdw_rt711_link2_rt1316_link01_rt714_link3,
608359ace2bSGongjun Song 		.drv_name = "sof_sdw",
609359ace2bSGongjun Song 		.sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01-rt714-l3.tplg",
610359ace2bSGongjun Song 	},
611359ace2bSGongjun Song 	{
612c4dcd710SLibin Yang 		.link_mask = 0x7, /* rt1316 on link0 and link1 & rt711 on link2*/
613c4dcd710SLibin Yang 		.links = adl_sdw_rt711_link2_rt1316_link01,
614c4dcd710SLibin Yang 		.drv_name = "sof_sdw",
615c4dcd710SLibin Yang 		.sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01.tplg",
616c4dcd710SLibin Yang 	},
617c4dcd710SLibin Yang 	{
61811e18f58SGongjun Song 		.link_mask = 0xC, /* rt1316 on link2 & rt714 on link3 */
61911e18f58SGongjun Song 		.links = adl_sdw_rt1316_link2_rt714_link3,
62011e18f58SGongjun Song 		.drv_name = "sof_sdw",
62111e18f58SGongjun Song 		.sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l3.tplg",
62211e18f58SGongjun Song 	},
62311e18f58SGongjun Song 	{
624a1797d61SGongjun Song 		.link_mask = 0x7, /* rt714 on link0 & two rt1316s on link1 and link2 */
625a1797d61SGongjun Song 		.links = adl_sdw_rt1316_link12_rt714_link0,
626a1797d61SGongjun Song 		.drv_name = "sof_sdw",
627a1797d61SGongjun Song 		.sof_tplg_filename = "sof-adl-rt1316-l12-rt714-l0.tplg",
628a1797d61SGongjun Song 	},
629a1797d61SGongjun Song 	{
630870dc42fSPierre-Louis Bossart 		.link_mask = 0x5, /* 2 active links required */
631870dc42fSPierre-Louis Bossart 		.links = adl_sdw_rt1316_link2_rt714_link0,
632870dc42fSPierre-Louis Bossart 		.drv_name = "sof_sdw",
633870dc42fSPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l0.tplg",
634870dc42fSPierre-Louis Bossart 	},
635870dc42fSPierre-Louis Bossart 	{
6368d38cc29SPierre-Louis Bossart 		.link_mask = 0x9, /* 2 active links required */
6378d38cc29SPierre-Louis Bossart 		.links = adl_sdw_rt711_link0_rt1316_link3,
6388d38cc29SPierre-Louis Bossart 		.drv_name = "sof_sdw",
6398d38cc29SPierre-Louis Bossart 		.sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l3.tplg",
6408d38cc29SPierre-Louis Bossart 	},
6418d38cc29SPierre-Louis Bossart 	{
642*9c691a42SEugene Huang 		.link_mask = 0x5, /* 2 active links required */
643*9c691a42SEugene Huang 		.links = adl_sdw_rt711_link0_rt1316_link2,
644*9c691a42SEugene Huang 		.drv_name = "sof_sdw",
645*9c691a42SEugene Huang 		.sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l2.tplg",
646*9c691a42SEugene Huang 	},
647*9c691a42SEugene Huang 	{
6484c8a4cabSKai Vehmanen 		.link_mask = 0x1, /* link0 required */
6494c8a4cabSKai Vehmanen 		.links = adl_rvp,
6504c8a4cabSKai Vehmanen 		.drv_name = "sof_sdw",
6514c8a4cabSKai Vehmanen 		.sof_tplg_filename = "sof-adl-rt711.tplg",
6524c8a4cabSKai Vehmanen 	},
653c0fbe9fdSVamshi Krishna Gopal 	{
654d7be9e33SMuralidhar Reddy 		.link_mask = 0x1, /* link0 required */
655d7be9e33SMuralidhar Reddy 		.links = adlps_rvp,
656d7be9e33SMuralidhar Reddy 		.drv_name = "sof_sdw",
657d7be9e33SMuralidhar Reddy 		.sof_tplg_filename = "sof-adl-rt711.tplg",
658d7be9e33SMuralidhar Reddy 	},
659d7be9e33SMuralidhar Reddy 	{
660c0fbe9fdSVamshi Krishna Gopal 		.link_mask = 0x5, /* rt5682 on link0 & 2xmax98373 on link 2 */
661c0fbe9fdSVamshi Krishna Gopal 		.links = adl_chromebook_base,
662c0fbe9fdSVamshi Krishna Gopal 		.drv_name = "sof_sdw",
663c0fbe9fdSVamshi Krishna Gopal 		.sof_tplg_filename = "sof-adl-sdw-max98373-rt5682.tplg",
664c0fbe9fdSVamshi Krishna Gopal 	},
6654c8a4cabSKai Vehmanen 	{},
6664c8a4cabSKai Vehmanen };
6674c8a4cabSKai Vehmanen EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_sdw_machines);
668