Skip to content

Commit 3d1bfcd

Browse files
committed
ASoC: Intel: soc-acpi-intel-lnl-match: add rt712_vb + rt1320 support
Realtek Gen6 AIOC supports rt712_vb on SoundWire link 2 and rt1320 on SoundWire link 1. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
1 parent 26d18b7 commit 3d1bfcd

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

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

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,30 @@ static const struct snd_soc_acpi_endpoint rt722_endpoints[] = {
9090
},
9191
};
9292

93+
static const struct snd_soc_acpi_endpoint jack_amp_g1_dmic_endpoints_endpoints[] = {
94+
/* Jack Endpoint */
95+
{
96+
.num = 0,
97+
.aggregated = 0,
98+
.group_position = 0,
99+
.group_id = 0,
100+
},
101+
/* Amp Endpoint, work as spk_l_endpoint */
102+
{
103+
.num = 1,
104+
.aggregated = 1,
105+
.group_position = 0,
106+
.group_id = 1,
107+
},
108+
/* DMIC Endpoint */
109+
{
110+
.num = 2,
111+
.aggregated = 0,
112+
.group_position = 0,
113+
.group_id = 0,
114+
},
115+
};
116+
93117
static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
94118
{ /* Jack Playback Endpoint */
95119
.num = 0,
@@ -198,6 +222,15 @@ static const struct snd_soc_acpi_adr_device rt1712_3_single_adr[] = {
198222
}
199223
};
200224

225+
static const struct snd_soc_acpi_adr_device rt712_vb_2_group1_adr[] = {
226+
{
227+
.adr = 0x000230025D071201ull,
228+
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints_endpoints),
229+
.endpoints = jack_amp_g1_dmic_endpoints_endpoints,
230+
.name_prefix = "rt712"
231+
}
232+
};
233+
201234
static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = {
202235
{
203236
.adr = 0x000030025d072201ull,
@@ -252,6 +285,15 @@ static const struct snd_soc_acpi_adr_device rt1318_2_group1_adr[] = {
252285
}
253286
};
254287

288+
static const struct snd_soc_acpi_adr_device rt1320_1_group1_adr[] = {
289+
{
290+
.adr = 0x000130025d132000ull,
291+
.num_endpoints = 1,
292+
.endpoints = &spk_r_endpoint,
293+
.name_prefix = "rt1320-1"
294+
}
295+
};
296+
255297
static const struct snd_soc_acpi_adr_device rt713_0_adr[] = {
256298
{
257299
.adr = 0x000031025D071301ull,
@@ -410,6 +452,21 @@ static const struct snd_soc_acpi_link_adr lnl_sdw_rt713_l0_rt1318_l1[] = {
410452
{}
411453
};
412454

455+
static const struct snd_soc_acpi_link_adr lnl_sdw_rt712_vb_l2_rt1320_l1[] = {
456+
{
457+
.mask = BIT(2),
458+
.num_adr = ARRAY_SIZE(rt712_vb_2_group1_adr),
459+
.adr_d = rt712_vb_2_group1_adr,
460+
},
461+
{
462+
.mask = BIT(1),
463+
.num_adr = ARRAY_SIZE(rt1320_1_group1_adr),
464+
.adr_d = rt1320_1_group1_adr,
465+
},
466+
{}
467+
};
468+
469+
/* this table is used when there is no I2S codec present */
413470
/* this table is used when there is no I2S codec present */
414471
struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
415472
/* mockup tests need to be first */
@@ -485,6 +542,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
485542
.drv_name = "sof_sdw",
486543
.sof_tplg_filename = "sof-lnl-rt713-l0-rt1318-l1.tplg"
487544
},
545+
{
546+
.link_mask = BIT(1) | BIT(2),
547+
.links = lnl_sdw_rt712_vb_l2_rt1320_l1,
548+
.drv_name = "sof_sdw",
549+
.sof_tplg_filename = "sof-lnl-rt712-l2-rt1320-l1.tplg"
550+
},
488551
{},
489552
};
490553
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_lnl_sdw_machines);

0 commit comments

Comments
 (0)