Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 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 @@ -552,6 +552,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = {
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-lnl-rt715-rt711-rt1308-mono.tplg",
},
{
.link_mask = BIT(0),
.links = sdw_mockup_multi_func,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-lnl-rt722-l0.tplg", /* Reuse the existing tplg file */
},
{
.link_mask = GENMASK(3, 0),
.links = lnl_3_in_1_sdca,
Expand Down
6 changes: 6 additions & 0 deletions sound/soc/intel/common/soc-acpi-intel-ptl-match.c
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,12 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_ptl_sdw_machines[] = {
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-ptl-rt715-rt711-rt1308-mono.tplg",
},
{
.link_mask = BIT(0),
.links = sdw_mockup_multi_func,
.drv_name = "sof_sdw",
.sof_tplg_filename = "sof-ptl-rt722.tplg", /* Reuse the existing tplg file */
},
{
.link_mask = BIT(0),
.links = ptl_rvp,
Expand Down
42 changes: 42 additions & 0 deletions sound/soc/intel/common/soc-acpi-intel-sdw-mockup-match.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,30 @@ static const struct snd_soc_acpi_endpoint sdw_mockup_r_endpoint = {
.group_id = 1,
};

static const struct snd_soc_acpi_endpoint jack_amp_g1_dmic_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_adr_device sdw_mockup_headset_0_adr[] = {
{
.adr = 0x0000000105AA5500ull,
Expand Down Expand Up @@ -103,6 +127,15 @@ static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_group1_adr[] = {
}
};

static const struct snd_soc_acpi_adr_device sdw_mockup_multi_function_adr[] = {
{
.adr = 0x0000000105AAAA01ull,
.num_endpoints = ARRAY_SIZE(jack_amp_g1_dmic_endpoints),
.endpoints = jack_amp_g1_dmic_endpoints,
.name_prefix = "sdw_mockup_mmulti-function"
}
};

const struct snd_soc_acpi_link_adr sdw_mockup_headset_1amp_mic[] = {
{
.mask = BIT(0),
Expand Down Expand Up @@ -164,3 +197,12 @@ const struct snd_soc_acpi_link_adr sdw_mockup_mic_headset_1amp[] = {
},
{}
};

const struct snd_soc_acpi_link_adr sdw_mockup_multi_func[] = {
{
.mask = BIT(0),
.num_adr = ARRAY_SIZE(sdw_mockup_multi_function_adr),
.adr_d = sdw_mockup_multi_function_adr,
},
{}
};
1 change: 1 addition & 0 deletions sound/soc/intel/common/soc-acpi-intel-sdw-mockup-match.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@
extern const struct snd_soc_acpi_link_adr sdw_mockup_headset_1amp_mic[];
extern const struct snd_soc_acpi_link_adr sdw_mockup_headset_2amps_mic[];
extern const struct snd_soc_acpi_link_adr sdw_mockup_mic_headset_1amp[];
extern const struct snd_soc_acpi_link_adr sdw_mockup_multi_func[];

#endif
14 changes: 13 additions & 1 deletion sound/soc/sdw_utils/soc_sdw_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -586,8 +586,20 @@ struct asoc_sdw_codec_info codec_info_list[] = {
.dai_type = SOC_SDW_DAI_TYPE_JACK,
.dailink = {SOC_SDW_JACK_OUT_DAI_ID, SOC_SDW_JACK_IN_DAI_ID},
},
{
.direction = {true, false},
.dai_name = "sdw-mockup-aif1",
.dai_type = SOC_SDW_DAI_TYPE_AMP,
.dailink = {SOC_SDW_AMP_OUT_DAI_ID, SOC_SDW_UNUSED_DAI_ID},
},
{
.direction = {false, true},
.dai_name = "sdw-mockup-aif1",
.dai_type = SOC_SDW_DAI_TYPE_MIC,
.dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},
},
},
.dai_num = 1,
.dai_num = 3,
},
{
.part_id = 0xaa55, /* headset codec mockup */
Expand Down
Loading