1 // SPDX-License-Identifier: GPL-2.0-only
3 * soc-acpi-intel-mtl-match.c - tables and support for MTL ACPI enumeration.
5 * Copyright (c) 2022, Intel Corporation.
9 #include <linux/soundwire/sdw_intel.h>
10 #include <sound/sdca.h>
11 #include <sound/soc-acpi.h>
12 #include <sound/soc-acpi-intel-match.h>
13 #include <sound/soc-acpi-intel-ssp-common.h>
14 #include "soc-acpi-intel-sdca-quirks.h"
15 #include "soc-acpi-intel-sdw-mockup-match.h"
17 static const struct snd_soc_acpi_codecs mtl_rt5682_rt5682s_hp
= {
19 .codecs
= {RT5682_ACPI_HID
, RT5682S_ACPI_HID
},
22 static const struct snd_soc_acpi_codecs mtl_essx_83x6
= {
24 .codecs
= { "ESSX8316", "ESSX8326", "ESSX8336"},
27 static const struct snd_soc_acpi_codecs mtl_lt6911_hdmi
= {
29 .codecs
= {"INTC10B0"}
32 struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_machines
[] = {
34 .comp_ids
= &mtl_essx_83x6
,
35 .drv_name
= "mtl_es83x6_c1_h02",
36 .machine_quirk
= snd_soc_acpi_codec_list
,
37 .quirk_data
= &mtl_lt6911_hdmi
,
38 .sof_tplg_filename
= "sof-mtl-es83x6-ssp1-hdmi-ssp02.tplg",
41 .comp_ids
= &mtl_essx_83x6
,
42 .drv_name
= "sof-essx8336",
43 .sof_tplg_filename
= "sof-mtl-es8336", /* the tplg suffix is added at run time */
44 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER
|
45 SND_SOC_ACPI_TPLG_INTEL_SSP_MSB
|
46 SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER
,
49 .comp_ids
= &mtl_rt5682_rt5682s_hp
,
50 .drv_name
= "mtl_rt5682_c1_h02",
51 .machine_quirk
= snd_soc_acpi_codec_list
,
52 .quirk_data
= &mtl_lt6911_hdmi
,
53 .sof_tplg_filename
= "sof-mtl-rt5682-ssp1-hdmi-ssp02.tplg",
55 /* place boards for each headphone codec: sof driver will complete the
56 * tplg name and machine driver will detect the amp type
59 .id
= CS42L42_ACPI_HID
,
60 .drv_name
= "mtl_cs42l42_def",
61 .sof_tplg_filename
= "sof-mtl", /* the tplg suffix is added at run time */
62 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_AMP_NAME
|
63 SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME
,
66 .id
= DA7219_ACPI_HID
,
67 .drv_name
= "mtl_da7219_def",
68 .sof_tplg_filename
= "sof-mtl", /* the tplg suffix is added at run time */
69 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_AMP_NAME
|
70 SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME
,
73 .id
= NAU8825_ACPI_HID
,
74 .drv_name
= "mtl_nau8825_def",
75 .sof_tplg_filename
= "sof-mtl", /* the tplg suffix is added at run time */
76 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_AMP_NAME
|
77 SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME
,
80 .id
= RT5650_ACPI_HID
,
81 .drv_name
= "mtl_rt5682_def",
82 .sof_tplg_filename
= "sof-mtl", /* the tplg suffix is added at run time */
83 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_AMP_NAME
|
84 SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME
,
87 .comp_ids
= &mtl_rt5682_rt5682s_hp
,
88 .drv_name
= "mtl_rt5682_def",
89 .sof_tplg_filename
= "sof-mtl", /* the tplg suffix is added at run time */
90 .tplg_quirk_mask
= SND_SOC_ACPI_TPLG_INTEL_AMP_NAME
|
91 SND_SOC_ACPI_TPLG_INTEL_CODEC_NAME
,
93 /* place amp-only boards in the end of table */
96 .drv_name
= "mtl_lt6911_hdmi_ssp",
97 .sof_tplg_filename
= "sof-mtl-hdmi-ssp02.tplg",
101 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_mtl_machines
);
103 static const struct snd_soc_acpi_endpoint single_endpoint
= {
110 static const struct snd_soc_acpi_endpoint spk_l_endpoint
= {
117 static const struct snd_soc_acpi_endpoint spk_r_endpoint
= {
124 static const struct snd_soc_acpi_endpoint rt712_endpoints
[] = {
139 static const struct snd_soc_acpi_endpoint rt712_vb_endpoints
[] = {
161 * RT722 is a multi-function codec, three endpoints are created for
162 * its headset, amp and dmic functions.
164 static const struct snd_soc_acpi_endpoint rt722_endpoints
[] = {
185 static const struct snd_soc_acpi_endpoint spk_2_endpoint
= {
192 static const struct snd_soc_acpi_endpoint spk_3_endpoint
= {
199 static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr
[] = {
201 .adr
= 0x000030025D071101ull
,
203 .endpoints
= &single_endpoint
,
204 .name_prefix
= "rt711"
208 static const struct snd_soc_acpi_adr_device rt712_0_single_adr
[] = {
210 .adr
= 0x000030025D071201ull
,
211 .num_endpoints
= ARRAY_SIZE(rt712_endpoints
),
212 .endpoints
= rt712_endpoints
,
213 .name_prefix
= "rt712"
217 static const struct snd_soc_acpi_adr_device rt712_vb_0_single_adr
[] = {
219 .adr
= 0x000030025D071201ull
,
220 .num_endpoints
= ARRAY_SIZE(rt712_vb_endpoints
),
221 .endpoints
= rt712_vb_endpoints
,
222 .name_prefix
= "rt712"
226 static const struct snd_soc_acpi_adr_device rt1712_3_single_adr
[] = {
228 .adr
= 0x000330025D171201ull
,
230 .endpoints
= &single_endpoint
,
231 .name_prefix
= "rt712-dmic"
235 static const struct snd_soc_acpi_adr_device rt722_0_single_adr
[] = {
237 .adr
= 0x000030025d072201ull
,
238 .num_endpoints
= ARRAY_SIZE(rt722_endpoints
),
239 .endpoints
= rt722_endpoints
,
240 .name_prefix
= "rt722"
244 static const struct snd_soc_acpi_adr_device rt713_0_single_adr
[] = {
246 .adr
= 0x000031025D071301ull
,
248 .endpoints
= &single_endpoint
,
249 .name_prefix
= "rt713"
253 static const struct snd_soc_acpi_adr_device rt1713_3_single_adr
[] = {
255 .adr
= 0x000331025D171301ull
,
257 .endpoints
= &single_endpoint
,
258 .name_prefix
= "rt713-dmic"
262 static const struct snd_soc_acpi_adr_device mx8373_0_adr
[] = {
264 .adr
= 0x000023019F837300ull
,
266 .endpoints
= &spk_l_endpoint
,
267 .name_prefix
= "Left"
270 .adr
= 0x000027019F837300ull
,
272 .endpoints
= &spk_r_endpoint
,
273 .name_prefix
= "Right"
277 static const struct snd_soc_acpi_adr_device rt5682_2_adr
[] = {
279 .adr
= 0x000221025D568200ull
,
281 .endpoints
= &single_endpoint
,
282 .name_prefix
= "rt5682"
286 static const struct snd_soc_acpi_adr_device rt1316_2_group1_adr
[] = {
288 .adr
= 0x000230025D131601ull
,
290 .endpoints
= &spk_l_endpoint
,
291 .name_prefix
= "rt1316-1"
295 static const struct snd_soc_acpi_adr_device rt1316_3_group1_adr
[] = {
297 .adr
= 0x000331025D131601ull
,
299 .endpoints
= &spk_r_endpoint
,
300 .name_prefix
= "rt1316-2"
304 static const struct snd_soc_acpi_adr_device rt1316_1_group2_adr
[] = {
306 .adr
= 0x000131025D131601ull
,
308 .endpoints
= &spk_l_endpoint
,
309 .name_prefix
= "rt1316-1"
313 static const struct snd_soc_acpi_adr_device rt1316_2_group2_adr
[] = {
315 .adr
= 0x000230025D131601ull
,
317 .endpoints
= &spk_r_endpoint
,
318 .name_prefix
= "rt1316-2"
322 static const struct snd_soc_acpi_adr_device rt1316_3_single_adr
[] = {
324 .adr
= 0x000330025D131601ull
,
326 .endpoints
= &single_endpoint
,
327 .name_prefix
= "rt1316-1"
331 static const struct snd_soc_acpi_adr_device rt1318_1_single_adr
[] = {
333 .adr
= 0x000130025D131801,
335 .endpoints
= &single_endpoint
,
336 .name_prefix
= "rt1318-1"
340 static const struct snd_soc_acpi_adr_device rt1318_1_group1_adr
[] = {
342 .adr
= 0x000130025D131801ull
,
344 .endpoints
= &spk_l_endpoint
,
345 .name_prefix
= "rt1318-1"
349 static const struct snd_soc_acpi_adr_device rt1318_2_group1_adr
[] = {
351 .adr
= 0x000232025D131801ull
,
353 .endpoints
= &spk_r_endpoint
,
354 .name_prefix
= "rt1318-2"
358 static const struct snd_soc_acpi_adr_device rt714_0_adr
[] = {
360 .adr
= 0x000030025D071401ull
,
362 .endpoints
= &single_endpoint
,
363 .name_prefix
= "rt714"
367 static const struct snd_soc_acpi_adr_device rt714_1_adr
[] = {
369 .adr
= 0x000130025D071401ull
,
371 .endpoints
= &single_endpoint
,
372 .name_prefix
= "rt714"
376 static const struct snd_soc_acpi_link_adr mtl_712_l0_1712_l3
[] = {
379 .num_adr
= ARRAY_SIZE(rt712_0_single_adr
),
380 .adr_d
= rt712_0_single_adr
,
384 .num_adr
= ARRAY_SIZE(rt1712_3_single_adr
),
385 .adr_d
= rt1712_3_single_adr
,
390 static const struct snd_soc_acpi_link_adr mtl_712_l0
[] = {
393 .num_adr
= ARRAY_SIZE(rt712_0_single_adr
),
394 .adr_d
= rt712_0_single_adr
,
399 static const struct snd_soc_acpi_link_adr mtl_712_vb_l0
[] = {
402 .num_adr
= ARRAY_SIZE(rt712_vb_0_single_adr
),
403 .adr_d
= rt712_vb_0_single_adr
,
408 static const struct snd_soc_acpi_endpoint cs42l43_endpoints
[] = {
409 { /* Jack Playback Endpoint */
415 { /* DMIC Capture Endpoint */
421 { /* Jack Capture Endpoint */
427 { /* Speaker Playback Endpoint */
435 static const struct snd_soc_acpi_adr_device cs42l43_0_adr
[] = {
437 .adr
= 0x00003001FA424301ull
,
438 .num_endpoints
= ARRAY_SIZE(cs42l43_endpoints
),
439 .endpoints
= cs42l43_endpoints
,
440 .name_prefix
= "cs42l43"
444 static const struct snd_soc_acpi_adr_device cs35l56_1_adr
[] = {
446 .adr
= 0x00013701FA355601ull
,
448 .endpoints
= &spk_r_endpoint
,
449 .name_prefix
= "AMP3"
452 .adr
= 0x00013601FA355601ull
,
454 .endpoints
= &spk_3_endpoint
,
455 .name_prefix
= "AMP4"
459 static const struct snd_soc_acpi_adr_device cs35l56_2_adr
[] = {
461 .adr
= 0x00023301FA355601ull
,
463 .endpoints
= &spk_l_endpoint
,
464 .name_prefix
= "AMP1"
467 .adr
= 0x00023201FA355601ull
,
469 .endpoints
= &spk_2_endpoint
,
470 .name_prefix
= "AMP2"
474 static const struct snd_soc_acpi_adr_device cs35l56_2_r_adr
[] = {
476 .adr
= 0x00023201FA355601ull
,
478 .endpoints
= &spk_r_endpoint
,
479 .name_prefix
= "AMP3"
482 .adr
= 0x00023301FA355601ull
,
484 .endpoints
= &spk_3_endpoint
,
485 .name_prefix
= "AMP4"
490 static const struct snd_soc_acpi_adr_device cs35l56_3_l_adr
[] = {
492 .adr
= 0x00033001fa355601ull
,
494 .endpoints
= &spk_l_endpoint
,
495 .name_prefix
= "AMP1"
498 .adr
= 0x00033101fa355601ull
,
500 .endpoints
= &spk_2_endpoint
,
501 .name_prefix
= "AMP2"
505 static const struct snd_soc_acpi_link_adr rt5682_link2_max98373_link0
[] = {
506 /* Expected order: jack -> amp */
509 .num_adr
= ARRAY_SIZE(rt5682_2_adr
),
510 .adr_d
= rt5682_2_adr
,
514 .num_adr
= ARRAY_SIZE(mx8373_0_adr
),
515 .adr_d
= mx8373_0_adr
,
520 static const struct snd_soc_acpi_link_adr mtl_rvp
[] = {
523 .num_adr
= ARRAY_SIZE(rt711_sdca_0_adr
),
524 .adr_d
= rt711_sdca_0_adr
,
529 static const struct snd_soc_acpi_link_adr mtl_rt722_only
[] = {
532 .num_adr
= ARRAY_SIZE(rt722_0_single_adr
),
533 .adr_d
= rt722_0_single_adr
,
538 static const struct snd_soc_acpi_link_adr mtl_3_in_1_sdca
[] = {
541 .num_adr
= ARRAY_SIZE(rt711_sdca_0_adr
),
542 .adr_d
= rt711_sdca_0_adr
,
546 .num_adr
= ARRAY_SIZE(rt1316_2_group1_adr
),
547 .adr_d
= rt1316_2_group1_adr
,
551 .num_adr
= ARRAY_SIZE(rt1316_3_group1_adr
),
552 .adr_d
= rt1316_3_group1_adr
,
556 .num_adr
= ARRAY_SIZE(rt714_1_adr
),
557 .adr_d
= rt714_1_adr
,
562 static const struct snd_soc_acpi_link_adr mtl_sdw_rt1318_l12_rt714_l0
[] = {
565 .num_adr
= ARRAY_SIZE(rt1318_1_group1_adr
),
566 .adr_d
= rt1318_1_group1_adr
,
570 .num_adr
= ARRAY_SIZE(rt1318_2_group1_adr
),
571 .adr_d
= rt1318_2_group1_adr
,
575 .num_adr
= ARRAY_SIZE(rt714_0_adr
),
576 .adr_d
= rt714_0_adr
,
581 static const struct snd_soc_acpi_link_adr mtl_rt713_l0_rt1316_l12_rt1713_l3
[] = {
584 .num_adr
= ARRAY_SIZE(rt713_0_single_adr
),
585 .adr_d
= rt713_0_single_adr
,
589 .num_adr
= ARRAY_SIZE(rt1316_1_group2_adr
),
590 .adr_d
= rt1316_1_group2_adr
,
594 .num_adr
= ARRAY_SIZE(rt1316_2_group2_adr
),
595 .adr_d
= rt1316_2_group2_adr
,
599 .num_adr
= ARRAY_SIZE(rt1713_3_single_adr
),
600 .adr_d
= rt1713_3_single_adr
,
605 static const struct snd_soc_acpi_link_adr mtl_rt713_l0_rt1318_l1_rt1713_l3
[] = {
608 .num_adr
= ARRAY_SIZE(rt713_0_single_adr
),
609 .adr_d
= rt713_0_single_adr
,
613 .num_adr
= ARRAY_SIZE(rt1318_1_single_adr
),
614 .adr_d
= rt1318_1_single_adr
,
618 .num_adr
= ARRAY_SIZE(rt1713_3_single_adr
),
619 .adr_d
= rt1713_3_single_adr
,
624 static const struct snd_soc_acpi_link_adr mtl_rt713_l0_rt1318_l12_rt1713_l3
[] = {
627 .num_adr
= ARRAY_SIZE(rt713_0_single_adr
),
628 .adr_d
= rt713_0_single_adr
,
632 .num_adr
= ARRAY_SIZE(rt1318_1_group1_adr
),
633 .adr_d
= rt1318_1_group1_adr
,
637 .num_adr
= ARRAY_SIZE(rt1318_2_group1_adr
),
638 .adr_d
= rt1318_2_group1_adr
,
642 .num_adr
= ARRAY_SIZE(rt1713_3_single_adr
),
643 .adr_d
= rt1713_3_single_adr
,
648 static const struct snd_soc_acpi_link_adr mtl_rt713_l0_rt1316_l12
[] = {
651 .num_adr
= ARRAY_SIZE(rt713_0_single_adr
),
652 .adr_d
= rt713_0_single_adr
,
656 .num_adr
= ARRAY_SIZE(rt1316_1_group2_adr
),
657 .adr_d
= rt1316_1_group2_adr
,
661 .num_adr
= ARRAY_SIZE(rt1316_2_group2_adr
),
662 .adr_d
= rt1316_2_group2_adr
,
667 static const struct snd_soc_acpi_link_adr mtl_rt711_l0_rt1316_l3
[] = {
670 .num_adr
= ARRAY_SIZE(rt711_sdca_0_adr
),
671 .adr_d
= rt711_sdca_0_adr
,
675 .num_adr
= ARRAY_SIZE(rt1316_3_single_adr
),
676 .adr_d
= rt1316_3_single_adr
,
681 static const struct snd_soc_acpi_adr_device mx8363_2_adr
[] = {
683 .adr
= 0x000230019F836300ull
,
685 .endpoints
= &spk_l_endpoint
,
686 .name_prefix
= "Left"
689 .adr
= 0x000231019F836300ull
,
691 .endpoints
= &spk_r_endpoint
,
692 .name_prefix
= "Right"
696 static const struct snd_soc_acpi_adr_device cs42l42_0_adr
[] = {
698 .adr
= 0x00001001FA424200ull
,
700 .endpoints
= &single_endpoint
,
701 .name_prefix
= "cs42l42"
705 static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2
[] = {
706 /* Expected order: jack -> amp */
709 .num_adr
= ARRAY_SIZE(cs42l42_0_adr
),
710 .adr_d
= cs42l42_0_adr
,
714 .num_adr
= ARRAY_SIZE(mx8363_2_adr
),
715 .adr_d
= mx8363_2_adr
,
720 static const struct snd_soc_acpi_link_adr mtl_cs42l43_l0
[] = {
723 .num_adr
= ARRAY_SIZE(cs42l43_0_adr
),
724 .adr_d
= cs42l43_0_adr
,
729 static const struct snd_soc_acpi_link_adr mtl_cs42l43_cs35l56
[] = {
732 .num_adr
= ARRAY_SIZE(cs42l43_0_adr
),
733 .adr_d
= cs42l43_0_adr
,
737 .num_adr
= ARRAY_SIZE(cs35l56_1_adr
),
738 .adr_d
= cs35l56_1_adr
,
742 .num_adr
= ARRAY_SIZE(cs35l56_2_adr
),
743 .adr_d
= cs35l56_2_adr
,
748 static const struct snd_soc_acpi_link_adr cs42l43_link0_cs35l56_link2_link3
[] = {
749 /* Expected order: jack -> amp */
752 .num_adr
= ARRAY_SIZE(cs42l43_0_adr
),
753 .adr_d
= cs42l43_0_adr
,
757 .num_adr
= ARRAY_SIZE(cs35l56_2_r_adr
),
758 .adr_d
= cs35l56_2_r_adr
,
762 .num_adr
= ARRAY_SIZE(cs35l56_3_l_adr
),
763 .adr_d
= cs35l56_3_l_adr
,
768 /* this table is used when there is no I2S codec present */
769 struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines
[] = {
770 /* mockup tests need to be first */
772 .link_mask
= GENMASK(3, 0),
773 .links
= sdw_mockup_headset_2amps_mic
,
774 .drv_name
= "sof_sdw",
775 .sof_tplg_filename
= "sof-mtl-rt711-rt1308-rt715.tplg",
778 .link_mask
= BIT(0) | BIT(1) | BIT(3),
779 .links
= sdw_mockup_headset_1amp_mic
,
780 .drv_name
= "sof_sdw",
781 .sof_tplg_filename
= "sof-mtl-rt711-rt1308-mono-rt715.tplg",
784 .link_mask
= GENMASK(2, 0),
785 .links
= sdw_mockup_mic_headset_1amp
,
786 .drv_name
= "sof_sdw",
787 .sof_tplg_filename
= "sof-mtl-rt715-rt711-rt1308-mono.tplg",
790 .link_mask
= GENMASK(3, 0),
791 .links
= mtl_rt713_l0_rt1316_l12_rt1713_l3
,
792 .drv_name
= "sof_sdw",
793 .sof_tplg_filename
= "sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg",
796 .link_mask
= GENMASK(3, 0),
797 .links
= mtl_rt713_l0_rt1318_l12_rt1713_l3
,
798 .drv_name
= "sof_sdw",
799 .sof_tplg_filename
= "sof-mtl-rt713-l0-rt1318-l12-rt1713-l3.tplg",
802 .link_mask
= BIT(0) | BIT(1) | BIT(3),
803 .links
= mtl_rt713_l0_rt1318_l1_rt1713_l3
,
804 .drv_name
= "sof_sdw",
805 .sof_tplg_filename
= "sof-mtl-rt713-l0-rt1318-l1-rt1713-l3.tplg",
808 .link_mask
= GENMASK(2, 0),
809 .links
= mtl_rt713_l0_rt1316_l12
,
810 .drv_name
= "sof_sdw",
811 .sof_tplg_filename
= "sof-mtl-rt713-l0-rt1316-l12.tplg",
814 .link_mask
= BIT(3) | BIT(0),
815 .links
= mtl_712_l0_1712_l3
,
816 .drv_name
= "sof_sdw",
817 .sof_tplg_filename
= "sof-mtl-rt712-l0-rt1712-l3.tplg",
821 .links
= mtl_712_vb_l0
,
822 .drv_name
= "sof_sdw",
823 .machine_check
= snd_soc_acpi_intel_sdca_is_device_rt712_vb
,
824 .sof_tplg_filename
= "sof-mtl-rt712-vb-l0.tplg",
829 .drv_name
= "sof_sdw",
830 .sof_tplg_filename
= "sof-mtl-rt712-l0.tplg",
833 .link_mask
= GENMASK(2, 0),
834 .links
= mtl_sdw_rt1318_l12_rt714_l0
,
835 .drv_name
= "sof_sdw",
836 .sof_tplg_filename
= "sof-mtl-rt1318-l12-rt714-l0.tplg"
839 .link_mask
= BIT(0) | BIT(2) | BIT(3),
840 .links
= cs42l43_link0_cs35l56_link2_link3
,
841 .drv_name
= "sof_sdw",
842 .sof_tplg_filename
= "sof-mtl-cs42l43-l0-cs35l56-l23.tplg",
845 .link_mask
= GENMASK(2, 0),
846 .links
= mtl_cs42l43_cs35l56
,
847 .drv_name
= "sof_sdw",
848 .sof_tplg_filename
= "sof-mtl-cs42l43-l0-cs35l56-l12.tplg",
852 .links
= mtl_cs42l43_l0
,
853 .drv_name
= "sof_sdw",
854 .sof_tplg_filename
= "sof-mtl-cs42l43-l0.tplg",
857 .link_mask
= GENMASK(3, 0),
858 .links
= mtl_3_in_1_sdca
,
859 .drv_name
= "sof_sdw",
860 .sof_tplg_filename
= "sof-mtl-rt711-l0-rt1316-l23-rt714-l1.tplg",
863 .link_mask
= 0x9, /* 2 active links required */
864 .links
= mtl_rt711_l0_rt1316_l3
,
865 .drv_name
= "sof_sdw",
866 .sof_tplg_filename
= "sof-mtl-rt711-l0-rt1316-l3.tplg",
870 .links
= mtl_rt722_only
,
871 .drv_name
= "sof_sdw",
872 .sof_tplg_filename
= "sof-mtl-rt722-l0.tplg",
877 .drv_name
= "sof_sdw",
878 .sof_tplg_filename
= "sof-mtl-rt711.tplg",
881 .link_mask
= BIT(0) | BIT(2),
882 .links
= rt5682_link2_max98373_link0
,
883 .drv_name
= "sof_sdw",
884 .sof_tplg_filename
= "sof-mtl-sdw-rt5682-l2-max98373-l0.tplg",
887 .link_mask
= BIT(0) | BIT(2),
888 .links
= cs42l42_link0_max98363_link2
,
889 .drv_name
= "sof_sdw",
890 .sof_tplg_filename
= "sof-mtl-sdw-cs42l42-l0-max98363-l2.tplg",
894 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_mtl_sdw_machines
);
896 MODULE_IMPORT_NS("SND_SOC_ACPI_INTEL_SDCA_QUIRKS");