public inbox for linux-sound@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 4/4] ASoC: tac5xx2-sdw: ACPI match for Intel mtl platform
@ 2026-03-23  4:16 Niranjan H Y
  2026-03-23 21:46 ` Pierre-Louis Bossart
  0 siblings, 1 reply; 2+ messages in thread
From: Niranjan H Y @ 2026-03-23  4:16 UTC (permalink / raw)
  To: linux-sound
  Cc: linux-kernel, broonie, lgirdwood, perex, tiwai, cezary.rojewski,
	peter.ujfalusi, yung-chuan.liao, ranjani.sridharan, kai.vehmanen,
	pierre-louis.bossart, baojun.xu, shenghao-ding, sandeepk,
	v-hampiholi, Niranjan H Y

 Add acpi match entries to support TI's tac5572,
tas2883, tac5672 and tac5682 on link 0 on MTL machine.

Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 .../intel/common/soc-acpi-intel-mtl-match.c   | 132 ++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
index 72c35e73078e..2e4222456f27 100644
--- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
@@ -122,6 +122,42 @@ static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
 	.group_id = 1,
 };
 
+static const struct snd_soc_acpi_endpoint tac5xx2_endpoints[] = {
+	{ /* Playback Endpoint */
+		.num = 0,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+	{ /* Mic Capture Endpoint */
+		.num = 1,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+	{ /* UAJ-HP with Mic Endpoint */
+		.num = 2,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+};
+
+static const struct snd_soc_acpi_endpoint tas2883_endpoints[] = {
+	{ /* Playback Endpoint */
+		.num = 0,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+	{ /* Mic Capture Endpoint */
+		.num = 1,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+};
+
 static const struct snd_soc_acpi_endpoint rt712_endpoints[] = {
 	{
 		.num = 0,
@@ -1011,6 +1047,33 @@ static const struct snd_soc_acpi_adr_device cs42l42_0_adr[] = {
 	}
 };
 
+static const struct snd_soc_acpi_adr_device tac5572_0_adr[] = {
+	{
+		.adr = 0x0000300102557201ull,
+		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+		.endpoints = tac5xx2_endpoints,
+		.name_prefix = "tac5572"
+	}
+};
+
+static const struct snd_soc_acpi_adr_device tac5672_0_adr[] = {
+	{
+		.adr = 0x0000300102567201ull,
+		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+		.endpoints = tac5xx2_endpoints,
+		.name_prefix = "tac5672"
+	}
+};
+
+static const struct snd_soc_acpi_adr_device tac5682_0_adr[] = {
+	{
+		.adr = 0x0000300102568201ull,
+		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
+		.endpoints = tac5xx2_endpoints,
+		.name_prefix = "tac5682"
+	}
+};
+
 static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
 	{
 		.adr = 0x00003c0102000001ull,
@@ -1035,9 +1098,45 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
 		.num_endpoints = 1,
 		.endpoints = &spk_r_endpoint,
 		.name_prefix = "tas2783-4"
+	},
+};
+
+static const struct snd_soc_acpi_adr_device tas2883_0_adr[] = {
+	{
+		.adr = 0x0000300102288301ull,
+		.num_endpoints = ARRAY_SIZE(tas2883_endpoints),
+		.endpoints = tas2883_endpoints,
+		.name_prefix = "tas2883"
 	}
 };
 
+static const struct snd_soc_acpi_link_adr tac5572_l0[] = {
+	{
+		.mask = BIT(0),
+		.num_adr = ARRAY_SIZE(tac5572_0_adr),
+		.adr_d = tac5572_0_adr,
+	},
+	{}
+};
+
+static const struct snd_soc_acpi_link_adr tac5672_l0[] = {
+	{
+		.mask = BIT(0),
+		.num_adr = ARRAY_SIZE(tac5672_0_adr),
+		.adr_d = tac5672_0_adr,
+	},
+	{}
+};
+
+static const struct snd_soc_acpi_link_adr tac5682_l0[] = {
+	{
+		.mask = BIT(0),
+		.num_adr = ARRAY_SIZE(tac5682_0_adr),
+		.adr_d = tac5682_0_adr,
+	},
+	{}
+};
+
 static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
 	{
 		.mask = BIT(0),
@@ -1047,6 +1146,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
 	{}
 };
 
+static const struct snd_soc_acpi_link_adr tas2883_l0[] = {
+	{
+		.mask = BIT(0),
+		.num_adr = ARRAY_SIZE(tas2883_0_adr),
+		.adr_d = tas2883_0_adr,
+	},
+	{}
+};
+
 static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2[] = {
 	/* Expected order: jack -> amp */
 	{
@@ -1208,12 +1316,36 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
 		.drv_name = "sof_sdw",
 		.sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg",
 	},
+	{
+		.link_mask = BIT(0),
+		.links = tac5572_l0,
+		.drv_name = "sof_sdw",
+		.sof_tplg_filename = "sof-mtl-tac5572.tplg",
+	},
+	{
+		.link_mask = BIT(0),
+		.links = tac5672_l0,
+		.drv_name = "sof_sdw",
+		.sof_tplg_filename = "sof-mtl-tac5672.tplg",
+	},
+	{
+		.link_mask = BIT(0),
+		.links = tac5682_l0,
+		.drv_name = "sof_sdw",
+		.sof_tplg_filename = "sof-mtl-tac5682.tplg",
+	},
 	{
 		.link_mask = BIT(0),
 		.links = tas2783_link0,
 		.drv_name = "sof_sdw",
 		.sof_tplg_filename = "sof-mtl-tas2783.tplg",
 	},
+	{
+		.link_mask = BIT(0),
+		.links = tas2883_l0,
+		.drv_name = "sof_sdw",
+		.sof_tplg_filename = "sof-mtl-tas2883.tplg",
+	},
 	{
 		.link_mask = GENMASK(3, 0),
 		.links = mtl_rt713_l0_rt1316_l12_rt1713_l3,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1 4/4] ASoC: tac5xx2-sdw: ACPI match for Intel mtl platform
  2026-03-23  4:16 [PATCH v1 4/4] ASoC: tac5xx2-sdw: ACPI match for Intel mtl platform Niranjan H Y
@ 2026-03-23 21:46 ` Pierre-Louis Bossart
  0 siblings, 0 replies; 2+ messages in thread
From: Pierre-Louis Bossart @ 2026-03-23 21:46 UTC (permalink / raw)
  To: Niranjan H Y, linux-sound
  Cc: linux-kernel, broonie, lgirdwood, perex, tiwai, cezary.rojewski,
	peter.ujfalusi, yung-chuan.liao, ranjani.sridharan, kai.vehmanen,
	baojun.xu, shenghao-ding, sandeepk, v-hampiholi

On 3/22/26 21:16, Niranjan H Y wrote:
>  Add acpi match entries to support TI's tac5572,
> tas2883, tac5672 and tac5682 on link 0 on MTL machine.
> 
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>

> ---
>  .../intel/common/soc-acpi-intel-mtl-match.c   | 132 ++++++++++++++++++
>  1 file changed, 132 insertions(+)
> 
> diff --git a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> index 72c35e73078e..2e4222456f27 100644
> --- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> +++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
> @@ -122,6 +122,42 @@ static const struct snd_soc_acpi_endpoint spk_r_endpoint = {
>  	.group_id = 1,
>  };
>  
> +static const struct snd_soc_acpi_endpoint tac5xx2_endpoints[] = {
> +	{ /* Playback Endpoint */
> +		.num = 0,
> +		.aggregated = 0,
> +		.group_position = 0,
> +		.group_id = 0,
> +	},
> +	{ /* Mic Capture Endpoint */
> +		.num = 1,
> +		.aggregated = 0,
> +		.group_position = 0,
> +		.group_id = 0,
> +	},
> +	{ /* UAJ-HP with Mic Endpoint */
> +		.num = 2,
> +		.aggregated = 0,
> +		.group_position = 0,
> +		.group_id = 0,
> +	},
> +};
> +
> +static const struct snd_soc_acpi_endpoint tas2883_endpoints[] = {
> +	{ /* Playback Endpoint */
> +		.num = 0,
> +		.aggregated = 0,
> +		.group_position = 0,
> +		.group_id = 0,
> +	},
> +	{ /* Mic Capture Endpoint */
> +		.num = 1,
> +		.aggregated = 0,
> +		.group_position = 0,
> +		.group_id = 0,
> +	},
> +};
> +
>  static const struct snd_soc_acpi_endpoint rt712_endpoints[] = {
>  	{
>  		.num = 0,
> @@ -1011,6 +1047,33 @@ static const struct snd_soc_acpi_adr_device cs42l42_0_adr[] = {
>  	}
>  };
>  
> +static const struct snd_soc_acpi_adr_device tac5572_0_adr[] = {
> +	{
> +		.adr = 0x0000300102557201ull,
> +		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
> +		.endpoints = tac5xx2_endpoints,
> +		.name_prefix = "tac5572"
> +	}
> +};
> +
> +static const struct snd_soc_acpi_adr_device tac5672_0_adr[] = {
> +	{
> +		.adr = 0x0000300102567201ull,
> +		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
> +		.endpoints = tac5xx2_endpoints,
> +		.name_prefix = "tac5672"
> +	}
> +};
> +
> +static const struct snd_soc_acpi_adr_device tac5682_0_adr[] = {
> +	{
> +		.adr = 0x0000300102568201ull,
> +		.num_endpoints = ARRAY_SIZE(tac5xx2_endpoints),
> +		.endpoints = tac5xx2_endpoints,
> +		.name_prefix = "tac5682"
> +	}
> +};
> +
>  static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
>  	{
>  		.adr = 0x00003c0102000001ull,
> @@ -1035,9 +1098,45 @@ static const struct snd_soc_acpi_adr_device tas2783_0_adr[] = {
>  		.num_endpoints = 1,
>  		.endpoints = &spk_r_endpoint,
>  		.name_prefix = "tas2783-4"
> +	},
> +};
> +
> +static const struct snd_soc_acpi_adr_device tas2883_0_adr[] = {
> +	{
> +		.adr = 0x0000300102288301ull,
> +		.num_endpoints = ARRAY_SIZE(tas2883_endpoints),
> +		.endpoints = tas2883_endpoints,
> +		.name_prefix = "tas2883"
>  	}
>  };
>  
> +static const struct snd_soc_acpi_link_adr tac5572_l0[] = {
> +	{
> +		.mask = BIT(0),
> +		.num_adr = ARRAY_SIZE(tac5572_0_adr),
> +		.adr_d = tac5572_0_adr,
> +	},
> +	{}
> +};
> +
> +static const struct snd_soc_acpi_link_adr tac5672_l0[] = {
> +	{
> +		.mask = BIT(0),
> +		.num_adr = ARRAY_SIZE(tac5672_0_adr),
> +		.adr_d = tac5672_0_adr,
> +	},
> +	{}
> +};
> +
> +static const struct snd_soc_acpi_link_adr tac5682_l0[] = {
> +	{
> +		.mask = BIT(0),
> +		.num_adr = ARRAY_SIZE(tac5682_0_adr),
> +		.adr_d = tac5682_0_adr,
> +	},
> +	{}
> +};
> +
>  static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
>  	{
>  		.mask = BIT(0),
> @@ -1047,6 +1146,15 @@ static const struct snd_soc_acpi_link_adr tas2783_link0[] = {
>  	{}
>  };
>  
> +static const struct snd_soc_acpi_link_adr tas2883_l0[] = {
> +	{
> +		.mask = BIT(0),
> +		.num_adr = ARRAY_SIZE(tas2883_0_adr),
> +		.adr_d = tas2883_0_adr,
> +	},
> +	{}
> +};
> +
>  static const struct snd_soc_acpi_link_adr cs42l42_link0_max98363_link2[] = {
>  	/* Expected order: jack -> amp */
>  	{
> @@ -1208,12 +1316,36 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = {
>  		.drv_name = "sof_sdw",
>  		.sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg",
>  	},
> +	{
> +		.link_mask = BIT(0),
> +		.links = tac5572_l0,
> +		.drv_name = "sof_sdw",
> +		.sof_tplg_filename = "sof-mtl-tac5572.tplg",
> +	},
> +	{
> +		.link_mask = BIT(0),
> +		.links = tac5672_l0,
> +		.drv_name = "sof_sdw",
> +		.sof_tplg_filename = "sof-mtl-tac5672.tplg",
> +	},
> +	{
> +		.link_mask = BIT(0),
> +		.links = tac5682_l0,
> +		.drv_name = "sof_sdw",
> +		.sof_tplg_filename = "sof-mtl-tac5682.tplg",
> +	},
>  	{
>  		.link_mask = BIT(0),
>  		.links = tas2783_link0,
>  		.drv_name = "sof_sdw",
>  		.sof_tplg_filename = "sof-mtl-tas2783.tplg",
>  	},
> +	{
> +		.link_mask = BIT(0),
> +		.links = tas2883_l0,
> +		.drv_name = "sof_sdw",
> +		.sof_tplg_filename = "sof-mtl-tas2883.tplg",
> +	},
>  	{
>  		.link_mask = GENMASK(3, 0),
>  		.links = mtl_rt713_l0_rt1316_l12_rt1713_l3,


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-23 21:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23  4:16 [PATCH v1 4/4] ASoC: tac5xx2-sdw: ACPI match for Intel mtl platform Niranjan H Y
2026-03-23 21:46 ` Pierre-Louis Bossart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox