@@ -122,6 +122,42 @@ static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
122122 .group_id = 1 ,
123123};
124124
125+ static const struct snd_soc_acpi_endpoint tac5xx2_endpoints [] = {
126+ { /* Playback Endpoint */
127+ .num = 0 ,
128+ .aggregated = 0 ,
129+ .group_position = 0 ,
130+ .group_id = 0 ,
131+ },
132+ { /* Mic Capture Endpoint */
133+ .num = 1 ,
134+ .aggregated = 0 ,
135+ .group_position = 0 ,
136+ .group_id = 0 ,
137+ },
138+ { /* UAJ-HP with Mic Endpoint */
139+ .num = 2 ,
140+ .aggregated = 0 ,
141+ .group_position = 0 ,
142+ .group_id = 0 ,
143+ },
144+ };
145+
146+ static const struct snd_soc_acpi_endpoint tas2883_endpoints [] = {
147+ { /* Playback Endpoint */
148+ .num = 0 ,
149+ .aggregated = 0 ,
150+ .group_position = 0 ,
151+ .group_id = 0 ,
152+ },
153+ { /* Mic Capture Endpoint */
154+ .num = 1 ,
155+ .aggregated = 0 ,
156+ .group_position = 0 ,
157+ .group_id = 0 ,
158+ },
159+ };
160+
125161static const struct snd_soc_acpi_endpoint rt712_endpoints [] = {
126162 {
127163 .num = 0 ,
@@ -1011,6 +1047,33 @@ static const struct snd_soc_acpi_adr_device cs42l42_0_adr[] = {
10111047 }
10121048};
10131049
1050+ static const struct snd_soc_acpi_adr_device tac5572_0_adr [] = {
1051+ {
1052+ .adr = 0x0000300102557201ull ,
1053+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1054+ .endpoints = tac5xx2_endpoints ,
1055+ .name_prefix = "tac5572"
1056+ }
1057+ };
1058+
1059+ static const struct snd_soc_acpi_adr_device tac5672_0_adr [] = {
1060+ {
1061+ .adr = 0x0000300102567201ull ,
1062+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1063+ .endpoints = tac5xx2_endpoints ,
1064+ .name_prefix = "tac5672"
1065+ }
1066+ };
1067+
1068+ static const struct snd_soc_acpi_adr_device tac5682_0_adr [] = {
1069+ {
1070+ .adr = 0x0000300102568201ull ,
1071+ .num_endpoints = ARRAY_SIZE (tac5xx2_endpoints ),
1072+ .endpoints = tac5xx2_endpoints ,
1073+ .name_prefix = "tac5682"
1074+ }
1075+ };
1076+
10141077static const struct snd_soc_acpi_adr_device tas2783_0_adr [] = {
10151078 {
10161079 .adr = 0x00003c0102000001ull ,
@@ -1035,9 +1098,45 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
10351098 .num_endpoints = 1 ,
10361099 .endpoints = & spk_r_endpoint ,
10371100 .name_prefix = "tas2783-4"
1101+ },
1102+ };
1103+
1104+ static const struct snd_soc_acpi_adr_device tas2883_0_adr [] = {
1105+ {
1106+ .adr = 0x0000300102288301ull ,
1107+ .num_endpoints = ARRAY_SIZE (tas2883_endpoints ),
1108+ .endpoints = tas2883_endpoints ,
1109+ .name_prefix = "tas2883"
10381110 }
10391111};
10401112
1113+ static const struct snd_soc_acpi_link_adr tac5572_l0 [] = {
1114+ {
1115+ .mask = BIT (0 ),
1116+ .num_adr = ARRAY_SIZE (tac5572_0_adr ),
1117+ .adr_d = tac5572_0_adr ,
1118+ },
1119+ {}
1120+ };
1121+
1122+ static const struct snd_soc_acpi_link_adr tac5672_l0 [] = {
1123+ {
1124+ .mask = BIT (0 ),
1125+ .num_adr = ARRAY_SIZE (tac5672_0_adr ),
1126+ .adr_d = tac5672_0_adr ,
1127+ },
1128+ {}
1129+ };
1130+
1131+ static const struct snd_soc_acpi_link_adr tac5682_l0 [] = {
1132+ {
1133+ .mask = BIT (0 ),
1134+ .num_adr = ARRAY_SIZE (tac5682_0_adr ),
1135+ .adr_d = tac5682_0_adr ,
1136+ },
1137+ {}
1138+ };
1139+
10411140static const struct snd_soc_acpi_link_adr tas2783_link0 [] = {
10421141 {
10431142 .mask = BIT (0 ),
@@ -1047,6 +1146,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
10471146 {}
10481147};
10491148
1149+ static const struct snd_soc_acpi_link_adr tas2883_l0 [] = {
1150+ {
1151+ .mask = BIT (0 ),
1152+ .num_adr = ARRAY_SIZE (tas2883_0_adr ),
1153+ .adr_d = tas2883_0_adr ,
1154+ },
1155+ {}
1156+ };
1157+
10501158static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2 [] = {
10511159 /* Expected order: jack -> amp */
10521160 {
@@ -1208,12 +1316,36 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
12081316 .drv_name = "sof_sdw" ,
12091317 .sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg" ,
12101318 },
1319+ {
1320+ .link_mask = BIT (0 ),
1321+ .links = tac5572_l0 ,
1322+ .drv_name = "sof_sdw" ,
1323+ .sof_tplg_filename = "sof-mtl-tac5572.tplg" ,
1324+ },
1325+ {
1326+ .link_mask = BIT (0 ),
1327+ .links = tac5672_l0 ,
1328+ .drv_name = "sof_sdw" ,
1329+ .sof_tplg_filename = "sof-mtl-tac5672.tplg" ,
1330+ },
1331+ {
1332+ .link_mask = BIT (0 ),
1333+ .links = tac5682_l0 ,
1334+ .drv_name = "sof_sdw" ,
1335+ .sof_tplg_filename = "sof-mtl-tac5682.tplg" ,
1336+ },
12111337 {
12121338 .link_mask = BIT (0 ),
12131339 .links = tas2783_link0 ,
12141340 .drv_name = "sof_sdw" ,
12151341 .sof_tplg_filename = "sof-mtl-tas2783.tplg" ,
12161342 },
1343+ {
1344+ .link_mask = BIT (0 ),
1345+ .links = tas2883_l0 ,
1346+ .drv_name = "sof_sdw" ,
1347+ .sof_tplg_filename = "sof-mtl-tas2883.tplg" ,
1348+ },
12171349 {
12181350 .link_mask = GENMASK (3 , 0 ),
12191351 .links = mtl_rt713_l0_rt1316_l12_rt1713_l3 ,
0 commit comments