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