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