Skip to content

Commit 4c24815

Browse files
committed
ASoC: tac5xx2-sdw: ACPI match for intel mtl platform
Add machine driver changes to support tac5572, tas2883, tac5672 and tac5682 on link 0 on MTL machine. Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
1 parent ad53cc8 commit 4c24815

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed

sound/soc/intel/common/soc-acpi-intel-mtl-match.c

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
125162
static 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+
10141078
static 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+
10411141
static 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+
10501159
static 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

Comments
 (0)