@@ -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,15 @@ 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+
10141060static const struct snd_soc_acpi_adr_device tas2783_0_adr [] = {
10151061 {
10161062 .adr = 0x00003c0102000001ull ,
@@ -1035,9 +1081,27 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
10351081 .num_endpoints = 1 ,
10361082 .endpoints = & spk_r_endpoint ,
10371083 .name_prefix = "tas2783-4"
1084+ },
1085+ };
1086+
1087+ static const struct snd_soc_acpi_adr_device tas2883_0_adr [] = {
1088+ {
1089+ .adr = 0x0000300102288301ull ,
1090+ .num_endpoints = ARRAY_SIZE (tas2883_endpoints ),
1091+ .endpoints = tas2883_endpoints ,
1092+ .name_prefix = "tas2883"
10381093 }
10391094};
10401095
1096+ static const struct snd_soc_acpi_link_adr tac5572_l0 [] = {
1097+ {
1098+ .mask = BIT (0 ),
1099+ .num_adr = ARRAY_SIZE (tac5572_0_adr ),
1100+ .adr_d = tac5572_0_adr ,
1101+ },
1102+ {}
1103+ };
1104+
10411105static const struct snd_soc_acpi_link_adr tas2783_link0 [] = {
10421106 {
10431107 .mask = BIT (0 ),
@@ -1047,6 +1111,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
10471111 {}
10481112};
10491113
1114+ static const struct snd_soc_acpi_link_adr tas2883_l0 [] = {
1115+ {
1116+ .mask = BIT (0 ),
1117+ .num_adr = ARRAY_SIZE (tas2883_0_adr ),
1118+ .adr_d = tas2883_0_adr ,
1119+ },
1120+ {}
1121+ };
1122+
10501123static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2 [] = {
10511124 /* Expected order: jack -> amp */
10521125 {
@@ -1208,12 +1281,24 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
12081281 .drv_name = "sof_sdw" ,
12091282 .sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg" ,
12101283 },
1284+ {
1285+ .link_mask = BIT (0 ),
1286+ .links = tac5572_l0 ,
1287+ .drv_name = "sof_sdw" ,
1288+ .sof_tplg_filename = "sof-mtl-tac5572.tplg" ,
1289+ },
12111290 {
12121291 .link_mask = BIT (0 ),
12131292 .links = tas2783_link0 ,
12141293 .drv_name = "sof_sdw" ,
12151294 .sof_tplg_filename = "sof-mtl-tas2783.tplg" ,
12161295 },
1296+ {
1297+ .link_mask = BIT (0 ),
1298+ .links = tas2883_l0 ,
1299+ .drv_name = "sof_sdw" ,
1300+ .sof_tplg_filename = "sof-mtl-tas2883.tplg" ,
1301+ },
12171302 {
12181303 .link_mask = GENMASK (3 , 0 ),
12191304 .links = mtl_rt713_l0_rt1316_l12_rt1713_l3 ,
0 commit comments