@@ -122,6 +122,43 @@ static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
122122 .group_id = 1 ,
123123};
124124
125+
126+ static const struct snd_soc_acpi_endpoint tac5xx2_endpoints [] = {
127+ { /* Playback Endpoint */
128+ .num = 0 ,
129+ .aggregated = 0 ,
130+ .group_position = 0 ,
131+ .group_id = 0 ,
132+ },
133+ { /* Mic Capture Endpoint */
134+ .num = 1 ,
135+ .aggregated = 0 ,
136+ .group_position = 0 ,
137+ .group_id = 0 ,
138+ },
139+ { /* UAJ-HP with Mic Endpoint */
140+ .num = 2 ,
141+ .aggregated = 0 ,
142+ .group_position = 0 ,
143+ .group_id = 0 ,
144+ },
145+ };
146+
147+ static const struct snd_soc_acpi_endpoint tas2883_endpoints [] = {
148+ { /* Playback Endpoint */
149+ .num = 0 ,
150+ .aggregated = 0 ,
151+ .group_position = 0 ,
152+ .group_id = 0 ,
153+ },
154+ { /* Mic Capture Endpoint */
155+ .num = 1 ,
156+ .aggregated = 0 ,
157+ .group_position = 0 ,
158+ .group_id = 0 ,
159+ },
160+ };
161+
125162static const struct snd_soc_acpi_endpoint rt712_endpoints [] = {
126163 {
127164 .num = 0 ,
@@ -1011,6 +1048,33 @@ static const struct snd_soc_acpi_adr_device cs42l42_0_adr[] = {
10111048 }
10121049};
10131050
1051+ static const struct snd_soc_acpi_adr_device tac5572_0_adr [] = {
1052+ {
1053+ .adr = 0x0000300102557201ull ,
1054+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1055+ .endpoints = tac5xx2_endpoints ,
1056+ .name_prefix = "tac5572"
1057+ }
1058+ };
1059+
1060+ static const struct snd_soc_acpi_adr_device tac5672_0_adr [] = {
1061+ {
1062+ .adr = 0x0000300102567201ull ,
1063+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1064+ .endpoints = tac5xx2_endpoints ,
1065+ .name_prefix = "tac5672"
1066+ }
1067+ };
1068+
1069+ static const struct snd_soc_acpi_adr_device tac5682_0_adr [] = {
1070+ {
1071+ .adr = 0x0000300102568201ull ,
1072+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1073+ .endpoints = tac5xx2_endpoints ,
1074+ .name_prefix = "tac5682"
1075+ }
1076+ };
1077+
10141078static const struct snd_soc_acpi_adr_device tas2783_0_adr [] = {
10151079 {
10161080 .adr = 0x00003c0102000001ull ,
@@ -1035,9 +1099,45 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
10351099 .num_endpoints = 1 ,
10361100 .endpoints = & spk_r_endpoint ,
10371101 .name_prefix = "tas2783-4"
1102+ },
1103+ };
1104+
1105+ static const struct snd_soc_acpi_adr_device tas2883_0_adr [] = {
1106+ {
1107+ .adr = 0x0000300102288301ull ,
1108+ .num_endpoints = ARRAY_SIZE (tas2883_endpoints ),
1109+ .endpoints = tas2883_endpoints ,
1110+ .name_prefix = "tas2883"
10381111 }
10391112};
10401113
1114+ static const struct snd_soc_acpi_link_adr tac5572_l0 [] = {
1115+ {
1116+ .mask = BIT (0 ),
1117+ .num_adr = ARRAY_SIZE (tac5572_0_adr ),
1118+ .adr_d = tac5572_0_adr ,
1119+ },
1120+ {}
1121+ };
1122+
1123+ static const struct snd_soc_acpi_link_adr tac5672_l0 [] = {
1124+ {
1125+ .mask = BIT (0 ),
1126+ .num_adr = ARRAY_SIZE (tac5672_0_adr ),
1127+ .adr_d = tac5672_0_adr ,
1128+ },
1129+ {}
1130+ };
1131+
1132+ static const struct snd_soc_acpi_link_adr tac5682_l0 [] = {
1133+ {
1134+ .mask = BIT (0 ),
1135+ .num_adr = ARRAY_SIZE (tac5682_0_adr ),
1136+ .adr_d = tac5682_0_adr ,
1137+ },
1138+ {}
1139+ };
1140+
10411141static const struct snd_soc_acpi_link_adr tas2783_link0 [] = {
10421142 {
10431143 .mask = BIT (0 ),
@@ -1047,6 +1147,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
10471147 {}
10481148};
10491149
1150+ static const struct snd_soc_acpi_link_adr tas2883_l0 [] = {
1151+ {
1152+ .mask = BIT (0 ),
1153+ .num_adr = ARRAY_SIZE (tas2883_0_adr ),
1154+ .adr_d = tas2883_0_adr ,
1155+ },
1156+ {}
1157+ };
1158+
10501159static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2 [] = {
10511160 /* Expected order: jack -> amp */
10521161 {
@@ -1208,12 +1317,36 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
12081317 .drv_name = "sof_sdw" ,
12091318 .sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg" ,
12101319 },
1320+ {
1321+ .link_mask = BIT (0 ),
1322+ .links = tac5572_l0 ,
1323+ .drv_name = "sof_sdw" ,
1324+ .sof_tplg_filename = "sof-mtl-tac5572.tplg" ,
1325+ },
1326+ {
1327+ .link_mask = BIT (0 ),
1328+ .links = tac5672_l0 ,
1329+ .drv_name = "sof_sdw" ,
1330+ .sof_tplg_filename = "sof-mtl-tac5672.tplg" ,
1331+ },
1332+ {
1333+ .link_mask = BIT (0 ),
1334+ .links = tac5682_l0 ,
1335+ .drv_name = "sof_sdw" ,
1336+ .sof_tplg_filename = "sof-mtl-tac5682.tplg" ,
1337+ },
12111338 {
12121339 .link_mask = BIT (0 ),
12131340 .links = tas2783_link0 ,
12141341 .drv_name = "sof_sdw" ,
12151342 .sof_tplg_filename = "sof-mtl-tas2783.tplg" ,
12161343 },
1344+ {
1345+ .link_mask = BIT (0 ),
1346+ .links = tas2883_l0 ,
1347+ .drv_name = "sof_sdw" ,
1348+ .sof_tplg_filename = "sof-mtl-tas2883.tplg" ,
1349+ },
12171350 {
12181351 .link_mask = GENMASK (3 , 0 ),
12191352 .links = mtl_rt713_l0_rt1316_l12_rt1713_l3 ,
0 commit comments