OSDN Git Service

Merge tag 'trace-v6.3-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[tomoyo/tomoyo-test1.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_2_single_adr[] = {
137         {
138                 .adr = 0x000230025D131601ull,
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_3_single_adr[] = {
146         {
147                 .adr = 0x000330025D131601ull,
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 rt714_0_adr[] = {
155         {
156                 .adr = 0x000030025D071401ull,
157                 .num_endpoints = 1,
158                 .endpoints = &single_endpoint,
159                 .name_prefix = "rt714"
160         }
161 };
162
163 static const struct snd_soc_acpi_adr_device rt714_2_adr[] = {
164         {
165                 .adr = 0x000230025D071401ull,
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_3_adr[] = {
173         {
174                 .adr = 0x000330025D071401ull,
175                 .num_endpoints = 1,
176                 .endpoints = &single_endpoint,
177                 .name_prefix = "rt714"
178         }
179 };
180
181 static const struct snd_soc_acpi_link_adr adl_default[] = {
182         {
183                 .mask = BIT(0),
184                 .num_adr = ARRAY_SIZE(rt711_0_adr),
185                 .adr_d = rt711_0_adr,
186         },
187         {
188                 .mask = BIT(1),
189                 .num_adr = ARRAY_SIZE(rt1308_1_group1_adr),
190                 .adr_d = rt1308_1_group1_adr,
191         },
192         {
193                 .mask = BIT(2),
194                 .num_adr = ARRAY_SIZE(rt1308_2_group1_adr),
195                 .adr_d = rt1308_2_group1_adr,
196         },
197         {
198                 .mask = BIT(3),
199                 .num_adr = ARRAY_SIZE(rt715_3_adr),
200                 .adr_d = rt715_3_adr,
201         },
202         {}
203 };
204
205 static const struct snd_soc_acpi_link_adr adl_sdca_default[] = {
206         {
207                 .mask = BIT(0),
208                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
209                 .adr_d = rt711_sdca_0_adr,
210         },
211         {
212                 .mask = BIT(1),
213                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
214                 .adr_d = rt1316_1_group1_adr,
215         },
216         {
217                 .mask = BIT(2),
218                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
219                 .adr_d = rt1316_2_group1_adr,
220         },
221         {
222                 .mask = BIT(3),
223                 .num_adr = ARRAY_SIZE(rt714_3_adr),
224                 .adr_d = rt714_3_adr,
225         },
226         {}
227 };
228
229 static const struct snd_soc_acpi_link_adr adl_sdca_3_in_1[] = {
230         {
231                 .mask = BIT(0),
232                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
233                 .adr_d = rt711_sdca_0_adr,
234         },
235         {
236                 .mask = BIT(1),
237                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
238                 .adr_d = rt1316_1_group1_adr,
239         },
240         {
241                 .mask = BIT(2),
242                 .num_adr = ARRAY_SIZE(rt714_2_adr),
243                 .adr_d = rt714_2_adr,
244         },
245         {
246                 .mask = BIT(3),
247                 .num_adr = ARRAY_SIZE(rt1316_3_group1_adr),
248                 .adr_d = rt1316_3_group1_adr,
249         },
250         {}
251 };
252
253 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01_rt714_link3[] = {
254         {
255                 .mask = BIT(2),
256                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
257                 .adr_d = rt711_sdca_2_adr,
258         },
259         {
260                 .mask = BIT(0),
261                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
262                 .adr_d = rt1316_0_group2_adr,
263         },
264         {
265                 .mask = BIT(1),
266                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
267                 .adr_d = rt1316_1_group2_adr,
268         },
269         {
270                 .mask = BIT(3),
271                 .num_adr = ARRAY_SIZE(rt714_3_adr),
272                 .adr_d = rt714_3_adr,
273         },
274         {}
275 };
276
277 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link2_rt1316_link01[] = {
278         {
279                 .mask = BIT(2),
280                 .num_adr = ARRAY_SIZE(rt711_sdca_2_adr),
281                 .adr_d = rt711_sdca_2_adr,
282         },
283         {
284                 .mask = BIT(0),
285                 .num_adr = ARRAY_SIZE(rt1316_0_group2_adr),
286                 .adr_d = rt1316_0_group2_adr,
287         },
288         {
289                 .mask = BIT(1),
290                 .num_adr = ARRAY_SIZE(rt1316_1_group2_adr),
291                 .adr_d = rt1316_1_group2_adr,
292         },
293         {}
294 };
295
296 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link12_rt714_link0[] = {
297         {
298                 .mask = BIT(1),
299                 .num_adr = ARRAY_SIZE(rt1316_1_group1_adr),
300                 .adr_d = rt1316_1_group1_adr,
301         },
302         {
303                 .mask = BIT(2),
304                 .num_adr = ARRAY_SIZE(rt1316_2_group1_adr),
305                 .adr_d = rt1316_2_group1_adr,
306         },
307         {
308                 .mask = BIT(0),
309                 .num_adr = ARRAY_SIZE(rt714_0_adr),
310                 .adr_d = rt714_0_adr,
311         },
312         {}
313 };
314
315 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link3[] = {
316         {
317                 .mask = BIT(2),
318                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
319                 .adr_d = rt1316_2_single_adr,
320         },
321         {
322                 .mask = BIT(3),
323                 .num_adr = ARRAY_SIZE(rt714_3_adr),
324                 .adr_d = rt714_3_adr,
325         },
326         {}
327 };
328
329 static const struct snd_soc_acpi_link_adr adl_sdw_rt1316_link2_rt714_link0[] = {
330         {
331                 .mask = BIT(2),
332                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
333                 .adr_d = rt1316_2_single_adr,
334         },
335         {
336                 .mask = BIT(0),
337                 .num_adr = ARRAY_SIZE(rt714_0_adr),
338                 .adr_d = rt714_0_adr,
339         },
340         {}
341 };
342
343 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link3[] = {
344         {
345                 .mask = BIT(0),
346                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
347                 .adr_d = rt711_sdca_0_adr,
348         },
349         {
350                 .mask = BIT(3),
351                 .num_adr = ARRAY_SIZE(rt1316_3_single_adr),
352                 .adr_d = rt1316_3_single_adr,
353         },
354         {}
355 };
356
357 static const struct snd_soc_acpi_link_adr adl_sdw_rt711_link0_rt1316_link2[] = {
358         {
359                 .mask = BIT(0),
360                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
361                 .adr_d = rt711_sdca_0_adr,
362         },
363         {
364                 .mask = BIT(2),
365                 .num_adr = ARRAY_SIZE(rt1316_2_single_adr),
366                 .adr_d = rt1316_2_single_adr,
367         },
368         {}
369 };
370
371 static const struct snd_soc_acpi_adr_device mx8373_2_adr[] = {
372         {
373                 .adr = 0x000223019F837300ull,
374                 .num_endpoints = 1,
375                 .endpoints = &spk_l_endpoint,
376                 .name_prefix = "Left"
377         },
378         {
379                 .adr = 0x000227019F837300ull,
380                 .num_endpoints = 1,
381                 .endpoints = &spk_r_endpoint,
382                 .name_prefix = "Right"
383         }
384 };
385
386 static const struct snd_soc_acpi_adr_device rt5682_0_adr[] = {
387         {
388                 .adr = 0x000021025D568200ull,
389                 .num_endpoints = 1,
390                 .endpoints = &single_endpoint,
391                 .name_prefix = "rt5682"
392         }
393 };
394
395 static const struct snd_soc_acpi_link_adr adl_rvp[] = {
396         {
397                 .mask = BIT(0),
398                 .num_adr = ARRAY_SIZE(rt711_0_adr),
399                 .adr_d = rt711_0_adr,
400         },
401         {}
402 };
403
404 static const struct snd_soc_acpi_link_adr adlps_rvp[] = {
405         {
406                 .mask = BIT(0),
407                 .num_adr = ARRAY_SIZE(rt711_sdca_0_adr),
408                 .adr_d = rt711_sdca_0_adr,
409         },
410         {}
411 };
412
413 static const struct snd_soc_acpi_link_adr adl_chromebook_base[] = {
414         {
415                 .mask = BIT(0),
416                 .num_adr = ARRAY_SIZE(rt5682_0_adr),
417                 .adr_d = rt5682_0_adr,
418         },
419         {
420                 .mask = BIT(2),
421                 .num_adr = ARRAY_SIZE(mx8373_2_adr),
422                 .adr_d = mx8373_2_adr,
423         },
424         {}
425 };
426
427 static const struct snd_soc_acpi_codecs adl_max98373_amp = {
428         .num_codecs = 1,
429         .codecs = {"MX98373"}
430 };
431
432 static const struct snd_soc_acpi_codecs adl_max98357a_amp = {
433         .num_codecs = 1,
434         .codecs = {"MX98357A"}
435 };
436
437 static const struct snd_soc_acpi_codecs adl_max98360a_amp = {
438         .num_codecs = 1,
439         .codecs = {"MX98360A"}
440 };
441
442 static const struct snd_soc_acpi_codecs adl_rt5682_rt5682s_hp = {
443         .num_codecs = 2,
444         .codecs = {"10EC5682", "RTL5682"},
445 };
446
447 static const struct snd_soc_acpi_codecs adl_rt1015p_amp = {
448         .num_codecs = 1,
449         .codecs = {"RTL1015"}
450 };
451
452 static const struct snd_soc_acpi_codecs adl_rt1019p_amp = {
453         .num_codecs = 1,
454         .codecs = {"RTL1019"}
455 };
456
457 static const struct snd_soc_acpi_codecs adl_max98390_amp = {
458         .num_codecs = 1,
459         .codecs = {"MX98390"}
460 };
461
462 static const struct snd_soc_acpi_codecs adl_lt6911_hdmi = {
463         .num_codecs = 1,
464         .codecs = {"INTC10B0"}
465 };
466
467 static const struct snd_soc_acpi_codecs adl_nau8318_amp = {
468         .num_codecs = 1,
469         .codecs = {"NVTN2012"}
470 };
471
472 struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
473         {
474                 .comp_ids = &adl_rt5682_rt5682s_hp,
475                 .drv_name = "adl_mx98373_rt5682",
476                 .machine_quirk = snd_soc_acpi_codec_list,
477                 .quirk_data = &adl_max98373_amp,
478                 .sof_tplg_filename = "sof-adl-max98373-rt5682.tplg",
479         },
480         {
481                 .comp_ids = &adl_rt5682_rt5682s_hp,
482                 .drv_name = "adl_mx98357_rt5682",
483                 .machine_quirk = snd_soc_acpi_codec_list,
484                 .quirk_data = &adl_max98357a_amp,
485                 .sof_tplg_filename = "sof-adl-max98357a-rt5682.tplg",
486         },
487         {
488                 .comp_ids = &adl_rt5682_rt5682s_hp,
489                 .drv_name = "adl_mx98360_rt5682",
490                 .machine_quirk = snd_soc_acpi_codec_list,
491                 .quirk_data = &adl_max98360a_amp,
492                 .sof_tplg_filename = "sof-adl-max98360a-rt5682.tplg",
493         },
494         {
495                 .id = "10508825",
496                 .drv_name = "adl_rt1019p_8825",
497                 .machine_quirk = snd_soc_acpi_codec_list,
498                 .quirk_data = &adl_rt1019p_amp,
499                 .sof_tplg_filename = "sof-adl-rt1019-nau8825.tplg",
500         },
501         {
502                 .id = "10508825",
503                 .drv_name = "adl_max98373_8825",
504                 .machine_quirk = snd_soc_acpi_codec_list,
505                 .quirk_data = &adl_max98373_amp,
506                 .sof_tplg_filename = "sof-adl-max98373-nau8825.tplg",
507         },
508         {
509                 .id = "10508825",
510                 .drv_name = "adl_mx98360a_8825",
511                 .machine_quirk = snd_soc_acpi_codec_list,
512                 .quirk_data = &adl_max98360a_amp,
513                 .sof_tplg_filename = "sof-adl-max98360a-nau8825.tplg",
514         },
515         {
516                 .comp_ids = &adl_rt5682_rt5682s_hp,
517                 .drv_name = "adl_rt1019_rt5682",
518                 .machine_quirk = snd_soc_acpi_codec_list,
519                 .quirk_data = &adl_rt1019p_amp,
520                 .sof_tplg_filename = "sof-adl-rt1019-rt5682.tplg",
521         },
522         {
523                 .id = "10508825",
524                 .drv_name = "adl_rt1015p_8825",
525                 .machine_quirk = snd_soc_acpi_codec_list,
526                 .quirk_data = &adl_rt1015p_amp,
527                 .sof_tplg_filename = "sof-adl-rt1015-nau8825.tplg",
528         },
529         {
530                 .id = "10508825",
531                 .drv_name = "adl_nau8318_8825",
532                 .machine_quirk = snd_soc_acpi_codec_list,
533                 .quirk_data = &adl_nau8318_amp,
534                 .sof_tplg_filename = "sof-adl-nau8318-nau8825.tplg",
535         },
536         {
537                 .id = "10508825",
538                 .drv_name = "sof_nau8825",
539                 .sof_tplg_filename = "sof-adl-nau8825.tplg",
540         },
541         {
542                 .comp_ids = &adl_rt5682_rt5682s_hp,
543                 .drv_name = "adl_max98390_rt5682",
544                 .machine_quirk = snd_soc_acpi_codec_list,
545                 .quirk_data = &adl_max98390_amp,
546                 .sof_tplg_filename = "sof-adl-max98390-rt5682.tplg",
547         },
548         {
549                 .comp_ids = &adl_rt5682_rt5682s_hp,
550                 .drv_name = "adl_rt5682",
551                 .sof_tplg_filename = "sof-adl-rt5682.tplg",
552         },
553         {
554                 .id = "10134242",
555                 .drv_name = "adl_mx98360a_cs4242",
556                 .machine_quirk = snd_soc_acpi_codec_list,
557                 .quirk_data = &adl_max98360a_amp,
558                 .sof_tplg_filename = "sof-adl-max98360a-cs42l42.tplg",
559         },
560         /* place amp-only boards in the end of table */
561         {
562                 .id = "CSC3541",
563                 .drv_name = "adl_cs35l41",
564                 .sof_tplg_filename = "sof-adl-cs35l41.tplg",
565         },
566         {
567                 .comp_ids = &essx_83x6,
568                 .drv_name = "adl_es83x6_c1_h02",
569                 .machine_quirk = snd_soc_acpi_codec_list,
570                 .quirk_data = &adl_lt6911_hdmi,
571                 .sof_tplg_filename = "sof-adl-es83x6-ssp1-hdmi-ssp02.tplg",
572         },
573         {
574                 .comp_ids = &essx_83x6,
575                 .drv_name = "sof-essx8336",
576                 .sof_tplg_filename = "sof-adl-es8336", /* the tplg suffix is added at run time */
577                 .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
578                                         SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
579                                         SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
580         },
581         {},
582 };
583 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_machines);
584
585 /* this table is used when there is no I2S codec present */
586 struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_sdw_machines[] = {
587         {
588                 .link_mask = 0xF, /* 4 active links required */
589                 .links = adl_default,
590                 .drv_name = "sof_sdw",
591                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1308-l12-rt715-l3.tplg",
592         },
593         {
594                 .link_mask = 0xF, /* 4 active links required */
595                 .links = adl_sdca_default,
596                 .drv_name = "sof_sdw",
597                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l12-rt714-l3.tplg",
598         },
599         {
600                 .link_mask = 0xF, /* 4 active links required */
601                 .links = adl_sdca_3_in_1,
602                 .drv_name = "sof_sdw",
603                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l13-rt714-l2.tplg",
604         },
605         {
606                 .link_mask = 0xF, /* 4 active links required */
607                 .links = adl_sdw_rt711_link2_rt1316_link01_rt714_link3,
608                 .drv_name = "sof_sdw",
609                 .sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01-rt714-l3.tplg",
610         },
611         {
612                 .link_mask = 0x7, /* rt1316 on link0 and link1 & rt711 on link2*/
613                 .links = adl_sdw_rt711_link2_rt1316_link01,
614                 .drv_name = "sof_sdw",
615                 .sof_tplg_filename = "sof-adl-rt711-l2-rt1316-l01.tplg",
616         },
617         {
618                 .link_mask = 0xC, /* rt1316 on link2 & rt714 on link3 */
619                 .links = adl_sdw_rt1316_link2_rt714_link3,
620                 .drv_name = "sof_sdw",
621                 .sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l3.tplg",
622         },
623         {
624                 .link_mask = 0x7, /* rt714 on link0 & two rt1316s on link1 and link2 */
625                 .links = adl_sdw_rt1316_link12_rt714_link0,
626                 .drv_name = "sof_sdw",
627                 .sof_tplg_filename = "sof-adl-rt1316-l12-rt714-l0.tplg",
628         },
629         {
630                 .link_mask = 0x5, /* 2 active links required */
631                 .links = adl_sdw_rt1316_link2_rt714_link0,
632                 .drv_name = "sof_sdw",
633                 .sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l0.tplg",
634         },
635         {
636                 .link_mask = 0x9, /* 2 active links required */
637                 .links = adl_sdw_rt711_link0_rt1316_link3,
638                 .drv_name = "sof_sdw",
639                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l3.tplg",
640         },
641         {
642                 .link_mask = 0x5, /* 2 active links required */
643                 .links = adl_sdw_rt711_link0_rt1316_link2,
644                 .drv_name = "sof_sdw",
645                 .sof_tplg_filename = "sof-adl-rt711-l0-rt1316-l2.tplg",
646         },
647         {
648                 .link_mask = 0x1, /* link0 required */
649                 .links = adl_rvp,
650                 .drv_name = "sof_sdw",
651                 .sof_tplg_filename = "sof-adl-rt711.tplg",
652         },
653         {
654                 .link_mask = 0x1, /* link0 required */
655                 .links = adlps_rvp,
656                 .drv_name = "sof_sdw",
657                 .sof_tplg_filename = "sof-adl-rt711.tplg",
658         },
659         {
660                 .link_mask = 0x5, /* rt5682 on link0 & 2xmax98373 on link 2 */
661                 .links = adl_chromebook_base,
662                 .drv_name = "sof_sdw",
663                 .sof_tplg_filename = "sof-adl-sdw-max98373-rt5682.tplg",
664         },
665         {},
666 };
667 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_sdw_machines);