arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / sound / soc / intel / common / soc-acpi-intel-adl-match.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * soc-apci-intel-adl-match.c - tables and support for ADL ACPI enumeration.
4  *
5  * Copyright (c) 2020, Intel Corporation.
6  */
7
8 #include <sound/soc-acpi.h>
9 #include <sound/soc-acpi-intel-match.h>
10
11 static const struct snd_soc_acpi_codecs essx_83x6 = {
12         .num_codecs = 3,
13         .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
14 };
15
16 static const struct snd_soc_acpi_endpoint single_endpoint = {
17         .num = 0,
18         .aggregated = 0,
19         .group_position = 0,
20         .group_id = 0,
21 };
22
23 static const struct snd_soc_acpi_endpoint spk_l_endpoint = {
24         .num = 0,
25         .aggregated = 1,
26         .group_position = 0,
27         .group_id = 1,
28 };
29
30 static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
31         .num = 0,
32         .aggregated = 1,
33         .group_position = 1,
34         .group_id = 1,
35 };
36
37 static const struct snd_soc_acpi_adr_device rt711_0_adr[] = {
38         {
39                 .adr = 0x000020025D071100ull,
40                 .num_endpoints = 1,
41                 .endpoints = &single_endpoint,
42                 .name_prefix = "rt711"
43         }
44 };
45
46 static const struct snd_soc_acpi_adr_device rt1308_1_group1_adr[] = {
47         {
48                 .adr = 0x000120025D130800ull,
49                 .num_endpoints = 1,
50                 .endpoints = &spk_l_endpoint,
51                 .name_prefix = "rt1308-1"
52         }
53 };
54
55 static const struct snd_soc_acpi_adr_device rt1308_2_group1_adr[] = {
56         {
57                 .adr = 0x000220025D130800ull,
58                 .num_endpoints = 1,
59                 .endpoints = &spk_r_endpoint,
60                 .name_prefix = "rt1308-2"
61         }
62 };
63
64 static const struct snd_soc_acpi_adr_device rt715_3_adr[] = {
65         {
66                 .adr = 0x000320025D071500ull,
67                 .num_endpoints = 1,
68                 .endpoints = &single_endpoint,
69                 .name_prefix = "rt715"
70         }
71 };
72
73 static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = {
74         {
75                 .adr = 0x000030025D071101ull,
76                 .num_endpoints = 1,
77                 .endpoints = &single_endpoint,
78                 .name_prefix = "rt711"
79         }
80 };
81
82 static const struct snd_soc_acpi_adr_device rt711_sdca_2_adr[] = {
83         {
84                 .adr = 0x000230025D071101ull,
85                 .num_endpoints = 1,
86                 .endpoints = &single_endpoint,
87                 .name_prefix = "rt711"
88         }
89 };
90
91 static const struct snd_soc_acpi_adr_device rt1316_1_group1_adr[] = {
92         {
93                 .adr = 0x000131025D131601ull, /* unique ID is set for some reason */
94                 .num_endpoints = 1,
95                 .endpoints = &spk_l_endpoint,
96                 .name_prefix = "rt1316-1"
97         }
98 };
99
100 static const struct snd_soc_acpi_adr_device rt1316_2_group1_adr[] = {
101         {
102                 .adr = 0x000230025D131601ull,
103                 .num_endpoints = 1,
104                 .endpoints = &spk_r_endpoint,
105                 .name_prefix = "rt1316-2"
106         }
107 };
108
109 static const struct snd_soc_acpi_adr_device rt1316_3_group1_adr[] = {
110         {
111                 .adr = 0x000330025D131601ull,
112                 .num_endpoints = 1,
113                 .endpoints = &spk_r_endpoint,
114                 .name_prefix = "rt1316-2"
115         }
116 };
117
118 static const struct snd_soc_acpi_adr_device rt1316_0_group2_adr[] = {
119         {
120                 .adr = 0x000031025D131601ull,
121                 .num_endpoints = 1,
122                 .endpoints = &spk_l_endpoint,
123                 .name_prefix = "rt1316-1"
124         }
125 };
126
127 static const struct snd_soc_acpi_adr_device rt1316_1_group2_adr[] = {
128         {
129                 .adr = 0x000130025D131601ull,
130                 .num_endpoints = 1,
131                 .endpoints = &spk_r_endpoint,
132                 .name_prefix = "rt1316-2"
133         }
134 };
135
136 static const struct snd_soc_acpi_adr_device rt1316_1_single_adr[] = {
137         {
138                 .adr = 0x000130025D131601ull,
139                 .num_endpoints = 1,
140                 .endpoints = &single_endpoint,
141                 .name_prefix = "rt1316-1"
142         }
143 };
144
145 static const struct snd_soc_acpi_adr_device rt1316_2_single_adr[] = {
146         {
147                 .adr = 0x000230025D131601ull,
148                 .num_endpoints = 1,
149                 .endpoints = &single_endpoint,
150                 .name_prefix = "rt1316-1"
151         }
152 };
153
154 static const struct snd_soc_acpi_adr_device rt1316_3_single_adr[] = {
155         {
156                 .adr = 0x000330025D131601ull,
157                 .num_endpoints = 1,
158                 .endpoints = &single_endpoint,
159                 .name_prefix = "rt1316-1"
160         }
161 };
162
163 static const struct snd_soc_acpi_adr_device rt714_0_adr[] = {
164         {
165                 .adr = 0x000030025D071401ull,
166                 .num_endpoints = 1,
167                 .endpoints = &single_endpoint,
168                 .name_prefix = "rt714"
169         }
170 };
171
172 static const struct snd_soc_acpi_adr_device rt714_2_adr[] = {
173         {
174                 .adr = 0x000230025D071401ull,
175                 .num_endpoints = 1,
176                 .endpoints = &single_endpoint,
177                 .name_prefix = "rt714"
178         }
179 };
180
181 static const struct snd_soc_acpi_adr_device rt714_3_adr[] = {
182         {
183                 .adr = 0x000330025D071401ull,
184                 .num_endpoints = 1,
185                 .endpoints = &single_endpoint,
186                 .name_prefix = "rt714"
187         }
188 };
189
190 static const struct snd_soc_acpi_link_adr adl_default[] = {
191         {
192                 .mask = BIT(0),
193                 .num_adr = ARRAY_SIZE(rt711_0_adr),
194                 .adr_d = rt711_0_adr,
195         },
196         {
197                 .mask = BIT(1),
198                 .num_adr = ARRAY_SIZE(rt1308_1_group1_adr),
199                 .adr_d = rt1308_1_group1_adr,
200         },
201         {
202                 .mask = BIT(2),
203                 .num_adr = ARRAY_SIZE(rt1308_2_group1_adr),
204                 .adr_d = rt1308_2_group1_adr,
205         },
206         {
207                 .mask = BIT(3),
208                 .num_adr = ARRAY_SIZE(rt715_3_adr),
209                 .adr_d = rt715_3_adr,
210         },
211         {}
212 };
213
214 static const struct snd_soc_acpi_link_adr adl_sdca_default[] = {
215         {
216                 .mask = BIT(0),
217                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
218                 .adr_d = rt711_sdca_0_adr,
219         },
220         {
221                 .mask = BIT(1),
222                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
223                 .adr_d = rt1316_1_group1_adr,
224         },
225         {
226                 .mask = BIT(2),
227                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
228                 .adr_d = rt1316_2_group1_adr,
229         },
230         {
231                 .mask = BIT(3),
232                 .num_adr = ARRAY_SIZE(rt714_3_adr),
233                 .adr_d = rt714_3_adr,
234         },
235         {}
236 };
237
238 static const struct snd_soc_acpi_link_adr adl_sdca_3_in_1[] = {
239         {
240                 .mask = BIT(0),
241                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
242                 .adr_d = rt711_sdca_0_adr,
243         },
244         {
245                 .mask = BIT(1),
246                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
247                 .adr_d = rt1316_1_group1_adr,
248         },
249         {
250                 .mask = BIT(2),
251                 .num_adr = ARRAY_SIZE(rt714_2_adr),
252                 .adr_d = rt714_2_adr,
253         },
254         {
255                 .mask = BIT(3),
256                 .num_adr = ARRAY_SIZE(rt1316_3_group1_adr),
257                 .adr_d = rt1316_3_group1_adr,
258         },
259         {}
260 };
261
262 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01_rt714_link3[] = {
263         {
264                 .mask = BIT(2),
265                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
266                 .adr_d = rt711_sdca_2_adr,
267         },
268         {
269                 .mask = BIT(0),
270                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
271                 .adr_d = rt1316_0_group2_adr,
272         },
273         {
274                 .mask = BIT(1),
275                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
276                 .adr_d = rt1316_1_group2_adr,
277         },
278         {
279                 .mask = BIT(3),
280                 .num_adr = ARRAY_SIZE(rt714_3_adr),
281                 .adr_d = rt714_3_adr,
282         },
283         {}
284 };
285
286 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01[] = {
287         {
288                 .mask = BIT(2),
289                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
290                 .adr_d = rt711_sdca_2_adr,
291         },
292         {
293                 .mask = BIT(0),
294                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
295                 .adr_d = rt1316_0_group2_adr,
296         },
297         {
298                 .mask = BIT(1),
299                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
300                 .adr_d = rt1316_1_group2_adr,
301         },
302         {}
303 };
304
305 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link12_rt714_link0[] = {
306         {
307                 .mask = BIT(1),
308                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
309                 .adr_d = rt1316_1_group1_adr,
310         },
311         {
312                 .mask = BIT(2),
313                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
314                 .adr_d = rt1316_2_group1_adr,
315         },
316         {
317                 .mask = BIT(0),
318                 .num_adr = ARRAY_SIZE(rt714_0_adr),
319                 .adr_d = rt714_0_adr,
320         },
321         {}
322 };
323
324 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link1_rt714_link0[] = {
325         {
326                 .mask = BIT(1),
327                 .num_adr = ARRAY_SIZE(rt1316_1_single_adr),
328                 .adr_d = rt1316_1_single_adr,
329         },
330         {
331                 .mask = BIT(0),
332                 .num_adr = ARRAY_SIZE(rt714_0_adr),
333                 .adr_d = rt714_0_adr,
334         },
335         {}
336 };
337
338 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link3[] = {
339         {
340                 .mask = BIT(2),
341                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
342                 .adr_d = rt1316_2_single_adr,
343         },
344         {
345                 .mask = BIT(3),
346                 .num_adr = ARRAY_SIZE(rt714_3_adr),
347                 .adr_d = rt714_3_adr,
348         },
349         {}
350 };
351
352 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link0[] = {
353         {
354                 .mask = BIT(2),
355                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
356                 .adr_d = rt1316_2_single_adr,
357         },
358         {
359                 .mask = BIT(0),
360                 .num_adr = ARRAY_SIZE(rt714_0_adr),
361                 .adr_d = rt714_0_adr,
362         },
363         {}
364 };
365
366 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link3[] = {
367         {
368                 .mask = BIT(0),
369                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
370                 .adr_d = rt711_sdca_0_adr,
371         },
372         {
373                 .mask = BIT(3),
374                 .num_adr = ARRAY_SIZE(rt1316_3_single_adr),
375                 .adr_d = rt1316_3_single_adr,
376         },
377         {}
378 };
379
380 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link2[] = {
381         {
382                 .mask = BIT(0),
383                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
384                 .adr_d = rt711_sdca_0_adr,
385         },
386         {
387                 .mask = BIT(2),
388                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
389                 .adr_d = rt1316_2_single_adr,
390         },
391         {}
392 };
393
394 static const struct snd_soc_acpi_adr_device mx8373_2_adr[] = {
395         {
396                 .adr = 0x000223019F837300ull,
397                 .num_endpoints = 1,
398                 .endpoints = &spk_l_endpoint,
399                 .name_prefix = "Left"
400         },
401         {
402                 .adr = 0x000227019F837300ull,
403                 .num_endpoints = 1,
404                 .endpoints = &spk_r_endpoint,
405                 .name_prefix = "Right"
406         }
407 };
408
409 static const struct snd_soc_acpi_adr_device rt5682_0_adr[] = {
410         {
411                 .adr = 0x000021025D568200ull,
412                 .num_endpoints = 1,
413                 .endpoints = &single_endpoint,
414                 .name_prefix = "rt5682"
415         }
416 };
417
418 static const struct snd_soc_acpi_link_adr adl_rvp[] = {
419         {
420                 .mask = BIT(0),
421                 .num_adr = ARRAY_SIZE(rt711_0_adr),
422                 .adr_d = rt711_0_adr,
423         },
424         {}
425 };
426
427 static const struct snd_soc_acpi_link_adr adlps_rvp[] = {
428         {
429                 .mask = BIT(0),
430                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
431                 .adr_d = rt711_sdca_0_adr,
432         },
433         {}
434 };
435
436 static const struct snd_soc_acpi_link_adr adl_chromebook_base[] = {
437         {
438                 .mask = BIT(0),
439                 .num_adr = ARRAY_SIZE(rt5682_0_adr),
440                 .adr_d = rt5682_0_adr,
441         },
442         {
443                 .mask = BIT(2),
444                 .num_adr = ARRAY_SIZE(mx8373_2_adr),
445                 .adr_d = mx8373_2_adr,
446         },
447         {}
448 };
449
450 static const struct snd_soc_acpi_codecs adl_max98373_amp = {
451         .num_codecs = 1,
452         .codecs = {"MX98373"}
453 };
454
455 static const struct snd_soc_acpi_codecs adl_max98357a_amp = {
456         .num_codecs = 1,
457         .codecs = {"MX98357A"}
458 };
459
460 static const struct snd_soc_acpi_codecs adl_max98360a_amp = {
461         .num_codecs = 1,
462         .codecs = {"MX98360A"}
463 };
464
465 static const struct snd_soc_acpi_codecs adl_rt5682_rt5682s_hp = {
466         .num_codecs = 2,
467         .codecs = {"10EC5682", "RTL5682"},
468 };
469
470 static const struct snd_soc_acpi_codecs adl_rt1015p_amp = {
471         .num_codecs = 1,
472         .codecs = {"RTL1015"}
473 };
474
475 static const struct snd_soc_acpi_codecs adl_rt1019p_amp = {
476         .num_codecs = 1,
477         .codecs = {"RTL1019"}
478 };
479
480 static const struct snd_soc_acpi_codecs adl_max98390_amp = {
481         .num_codecs = 1,
482         .codecs = {"MX98390"}
483 };
484
485 static const struct snd_soc_acpi_codecs adl_lt6911_hdmi = {
486         .num_codecs = 1,
487         .codecs = {"INTC10B0"}
488 };
489
490 static const struct snd_soc_acpi_codecs adl_nau8318_amp = {
491         .num_codecs = 1,
492         .codecs = {"NVTN2012"}
493 };
494
495 static struct snd_soc_acpi_codecs adl_rt5650_amp = {
496         .num_codecs = 1,
497         .codecs = {"10EC5650"}
498 };
499
500 struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
501         {
502                 .comp_ids = &adl_rt5682_rt5682s_hp,
503                 .drv_name = "adl_mx98373_rt5682",
504                 .machine_quirk = snd_soc_acpi_codec_list,
505                 .quirk_data = &adl_max98373_amp,
506                 .sof_tplg_filename = "sof-adl-max98373-rt5682.tplg",
507         },
508         {
509                 .comp_ids = &adl_rt5682_rt5682s_hp,
510                 .drv_name = "adl_mx98357_rt5682",
511                 .machine_quirk = snd_soc_acpi_codec_list,
512                 .quirk_data = &adl_max98357a_amp,
513                 .sof_tplg_filename = "sof-adl-max98357a-rt5682.tplg",
514         },
515         {
516                 .comp_ids = &adl_rt5682_rt5682s_hp,
517                 .drv_name = "adl_mx98360_rt5682",
518                 .machine_quirk = snd_soc_acpi_codec_list,
519                 .quirk_data = &adl_max98360a_amp,
520                 .sof_tplg_filename = "sof-adl-max98360a-rt5682.tplg",
521         },
522         {
523                 .id = "10508825",
524                 .drv_name = "adl_rt1019p_8825",
525                 .machine_quirk = snd_soc_acpi_codec_list,
526                 .quirk_data = &adl_rt1019p_amp,
527                 .sof_tplg_filename = "sof-adl-rt1019-nau8825.tplg",
528         },
529         {
530                 .id = "10508825",
531                 .drv_name = "adl_max98373_8825",
532                 .machine_quirk = snd_soc_acpi_codec_list,
533                 .quirk_data = &adl_max98373_amp,
534                 .sof_tplg_filename = "sof-adl-max98373-nau8825.tplg",
535         },
536         {
537                 .id = "10508825",
538                 .drv_name = "adl_mx98360a_8825",
539                 .machine_quirk = snd_soc_acpi_codec_list,
540                 .quirk_data = &adl_max98360a_amp,
541                 .sof_tplg_filename = "sof-adl-max98360a-nau8825.tplg",
542         },
543         {
544                 .comp_ids = &adl_rt5682_rt5682s_hp,
545                 .drv_name = "adl_rt1019_rt5682",
546                 .machine_quirk = snd_soc_acpi_codec_list,
547                 .quirk_data = &adl_rt1019p_amp,
548                 .sof_tplg_filename = "sof-adl-rt1019-rt5682.tplg",
549         },
550         {
551                 .id = "10508825",
552                 .drv_name = "adl_rt1015p_8825",
553                 .machine_quirk = snd_soc_acpi_codec_list,
554                 .quirk_data = &adl_rt1015p_amp,
555                 .sof_tplg_filename = "sof-adl-rt1015-nau8825.tplg",
556         },
557         {
558                 .id = "10508825",
559                 .drv_name = "adl_nau8318_8825",
560                 .machine_quirk = snd_soc_acpi_codec_list,
561                 .quirk_data = &adl_nau8318_amp,
562                 .sof_tplg_filename = "sof-adl-nau8318-nau8825.tplg",
563         },
564         {
565                 .id = "10508825",
566                 .drv_name = "sof_nau8825",
567                 .sof_tplg_filename = "sof-adl-nau8825.tplg",
568         },
569         {
570                 .comp_ids = &adl_rt5682_rt5682s_hp,
571                 .drv_name = "adl_max98390_rt5682",
572                 .machine_quirk = snd_soc_acpi_codec_list,
573                 .quirk_data = &adl_max98390_amp,
574                 .sof_tplg_filename = "sof-adl-max98390-rt5682.tplg",
575         },
576         {
577                 .comp_ids = &adl_rt5682_rt5682s_hp,
578                 .drv_name = "adl_rt5682_c1_h02",
579                 .machine_quirk = snd_soc_acpi_codec_list,
580                 .quirk_data = &adl_lt6911_hdmi,
581                 .sof_tplg_filename = "sof-adl-rt5682-ssp1-hdmi-ssp02.tplg",
582         },
583         {
584                 .comp_ids = &adl_rt5682_rt5682s_hp,
585                 .drv_name = "adl_rt5682",
586                 .sof_tplg_filename = "sof-adl-rt5682.tplg",
587         },
588         {
589                 .id = "10134242",
590                 .drv_name = "adl_mx98360a_cs4242",
591                 .machine_quirk = snd_soc_acpi_codec_list,
592                 .quirk_data = &adl_max98360a_amp,
593                 .sof_tplg_filename = "sof-adl-max98360a-cs42l42.tplg",
594         },
595         {
596                 .comp_ids = &essx_83x6,
597                 .drv_name = "adl_es83x6_c1_h02",
598                 .machine_quirk = snd_soc_acpi_codec_list,
599                 .quirk_data = &adl_lt6911_hdmi,
600                 .sof_tplg_filename = "sof-adl-es83x6-ssp1-hdmi-ssp02.tplg",
601         },
602         {
603                 .comp_ids = &essx_83x6,
604                 .drv_name = "sof-essx8336",
605                 .sof_tplg_filename = "sof-adl-es8336", /* the tplg suffix is added at run time */
606                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
607                                         SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
608                                         SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
609         },
610         {
611                 .id = "10EC5650",
612                 .drv_name = "adl_rt5650",
613                 .machine_quirk = snd_soc_acpi_codec_list,
614                 .quirk_data = &adl_rt5650_amp,
615                 .sof_tplg_filename = "sof-adl-rt5650.tplg",
616         },
617         {
618                 .id = "DLGS7219",
619                 .drv_name = "adl_mx98360_da7219",
620                 .machine_quirk = snd_soc_acpi_codec_list,
621                 .quirk_data = &adl_max98360a_amp,
622                 .sof_tplg_filename = "sof-adl-max98360a-da7219.tplg",
623         },
624         /* place amp-only boards in the end of table */
625         {
626                 .id = "CSC3541",
627                 .drv_name = "adl_cs35l41",
628                 .sof_tplg_filename = "sof-adl-cs35l41.tplg",
629         },
630         {
631                 .id = "INTC10B0",
632                 .drv_name = "adl_lt6911_hdmi_ssp",
633                 .sof_tplg_filename = "sof-adl-nocodec-hdmi-ssp02.tplg"
634         },
635         {},
636 };
637 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_machines);
638
639 /* this table is used when there is no I2S codec present */
640 struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_sdw_machines[] = {
641         {
642                 .link_mask = 0xF, /* 4 active links required */
643                 .links = adl_default,
644                 .drv_name = "sof_sdw",
645                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1308-l12-rt715-l3.tplg",
646         },
647         {
648                 .link_mask = 0xF, /* 4 active links required */
649                 .links = adl_sdca_default,
650                 .drv_name = "sof_sdw",
651                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l12-rt714-l3.tplg",
652         },
653         {
654                 .link_mask = 0xF, /* 4 active links required */
655                 .links = adl_sdca_3_in_1,
656                 .drv_name = "sof_sdw",
657                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l13-rt714-l2.tplg",
658         },
659         {
660                 .link_mask = 0xF, /* 4 active links required */
661                 .links = adl_sdw_rt711_link2_rt1316_link01_rt714_link3,
662                 .drv_name = "sof_sdw",
663                 .sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01-rt714-l3.tplg",
664         },
665         {
666                 .link_mask = 0x7, /* rt1316 on link0 and link1 & rt711 on link2*/
667                 .links = adl_sdw_rt711_link2_rt1316_link01,
668                 .drv_name = "sof_sdw",
669                 .sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01.tplg",
670         },
671         {
672                 .link_mask = 0xC, /* rt1316 on link2 & rt714 on link3 */
673                 .links = adl_sdw_rt1316_link2_rt714_link3,
674                 .drv_name = "sof_sdw",
675                 .sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l3.tplg",
676         },
677         {
678                 .link_mask = 0x7, /* rt714 on link0 & two rt1316s on link1 and link2 */
679                 .links = adl_sdw_rt1316_link12_rt714_link0,
680                 .drv_name = "sof_sdw",
681                 .sof_tplg_filename = "sof-adl-rt1316-l12-rt714-l0.tplg",
682         },
683         {
684                 .link_mask = 0x3, /* rt1316 on link1 & rt714 on link0 */
685                 .links = adl_sdw_rt1316_link1_rt714_link0,
686                 .drv_name = "sof_sdw",
687                 .sof_tplg_filename = "sof-adl-rt1316-l1-mono-rt714-l0.tplg",
688         },
689         {
690                 .link_mask = 0x5, /* 2 active links required */
691                 .links = adl_sdw_rt1316_link2_rt714_link0,
692                 .drv_name = "sof_sdw",
693                 .sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l0.tplg",
694         },
695         {
696                 .link_mask = 0x9, /* 2 active links required */
697                 .links = adl_sdw_rt711_link0_rt1316_link3,
698                 .drv_name = "sof_sdw",
699                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l3.tplg",
700         },
701         {
702                 .link_mask = 0x5, /* 2 active links required */
703                 .links = adl_sdw_rt711_link0_rt1316_link2,
704                 .drv_name = "sof_sdw",
705                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l2.tplg",
706         },
707         {
708                 .link_mask = 0x1, /* link0 required */
709                 .links = adl_rvp,
710                 .drv_name = "sof_sdw",
711                 .sof_tplg_filename = "sof-adl-rt711.tplg",
712         },
713         {
714                 .link_mask = 0x1, /* link0 required */
715                 .links = adlps_rvp,
716                 .drv_name = "sof_sdw",
717                 .sof_tplg_filename = "sof-adl-rt711.tplg",
718         },
719         {
720                 .link_mask = 0x5, /* rt5682 on link0 & 2xmax98373 on link 2 */
721                 .links = adl_chromebook_base,
722                 .drv_name = "sof_sdw",
723                 .sof_tplg_filename = "sof-adl-sdw-max98373-rt5682.tplg",
724         },
725         {},
726 };
727 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_sdw_machines);