Skip to content

Commit

Permalink
ASoC: Intel: soc-acpi-intel-lnl-match: add rt712_vb + rt1320 support
Browse files Browse the repository at this point in the history
Realtek Gen6 AIOC supports rt712_vb on SoundWire link 2 and rt1320 on
SoundWire link 1.

Signed-off-by: Bard Liao <[email protected]>
  • Loading branch information
bardliao committed Nov 4, 2024
1 parent 8a77aea commit df3568d
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions sound/soc/intel/common/soc-acpi-intel-lnl-match.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,30 @@ static const struct snd_soc_acpi_endpoint rt_sdca_mf_endpoints[] = {
},
};

static const struct snd_soc_acpi_endpoint rt_sdca_mf_group1_endpoints[] = {
/* Jack Endpoint */
{
.num = 0,
.aggregated = 0,
.group_position = 0,
.group_id = 0,
},
/* Amp Endpoint, work as spk_l_endpoint */
{
.num = 1,
.aggregated = 1,
.group_position = 0,
.group_id = 1,
},
/* DMIC Endpoint */
{
.num = 2,
.aggregated = 0,
.group_position = 0,
.group_id = 0,
},
};

static const struct snd_soc_acpi_endpoint cs42l43_endpoints[] = {
{ /* Jack Playback Endpoint */
.num = 0,
Expand Down Expand Up @@ -201,6 +225,15 @@ static const struct snd_soc_acpi_adr_device rt1712_3_single_adr[] = {
}
};

static const struct snd_soc_acpi_adr_device rt712_vb_2_group1_adr[] = {
{
.adr = 0x000230025D071201ull,
.num_endpoints = ARRAY_SIZE(rt_sdca_mf_group1_endpoints),
.endpoints = rt_sdca_mf_group1_endpoints,
.name_prefix = "rt712"
}
};

static const struct snd_soc_acpi_adr_device rt722_0_single_adr[] = {
{
.adr = 0x000030025d072201ull,
Expand Down Expand Up @@ -255,6 +288,15 @@ static const struct snd_soc_acpi_adr_device rt1318_2_group1_adr[] = {
}
};

static const struct snd_soc_acpi_adr_device rt1320_1_group1_adr[] = {
{
.adr = 0x000130025d132000ull,
.num_endpoints = 1,
.endpoints = &spk_r_endpoint,
.name_prefix = "rt1320-1"
}
};

static const struct snd_soc_acpi_adr_device rt713_0_adr[] = {
{
.adr = 0x000031025D071301ull,
Expand Down Expand Up @@ -413,6 +455,21 @@ static const struct snd_soc_acpi_link_adr lnl_sdw_rt713_l0_rt1318_l1[] = {
{}
};

static const struct snd_soc_acpi_link_adr lnl_sdw_rt712_vb_l2_rt1320_l1[] = {
{
.mask = BIT(2),
.num_adr = ARRAY_SIZE(rt712_vb_2_group1_adr),
.adr_d = rt712_vb_2_group1_adr,
},
{
.mask = BIT(1),
.num_adr = ARRAY_SIZE(rt1320_1_group1_adr),
.adr_d = rt1320_1_group1_adr,
},
{}
};

/* this table is used when there is no I2S codec present */
/* this table is used when there is no I2S codec present */
struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
/* mockup tests need to be first */
Expand Down Expand Up @@ -488,6 +545,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-lnl-rt713-l0-rt1318-l1.tplg"
},
{
.link_mask = BIT(1) | BIT(2),
.links = lnl_sdw_rt712_vb_l2_rt1320_l1,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-lnl-rt712-l2-rt1320-l1.tplg"
},
{},
};
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_lnl_sdw_machines);

0 comments on commit df3568d

Please sign in to comment.