Unverified Commit e1a0657c authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: Intel: add multi-function SDW mockup codec match



SoundWire multi function codecs are common used in recent platforms.
Add a multi function mockup codec to test without real codec.

Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: default avatarLiam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20250305135443.201884-6-yung-chuan.liao@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 65e246d3
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -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,
@@ -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),
@@ -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 −0
Original line number Diff line number Diff line
@@ -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