Linux Sound subsystem development
 help / color / mirror / Atom feed
From: hasunpark@gmail.com
To: linux-sound@vger.kernel.org
Cc: Vijendar.Mukunda@amd.com, venkataprasad.potturu@amd.com,
	lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz,
	tiwai@suse.com, linux-kernel@vger.kernel.org,
	Hasun Park <hasunpark@gmail.com>
Subject: [PATCH 2/3] ASoC: amd: acp: add PX13 SoundWire machine link for rt721+tas2783x2
Date: Mon,  9 Mar 2026 00:16:53 +0900	[thread overview]
Message-ID: <20260308151654.29059-3-hasunpark@gmail.com> (raw)
In-Reply-To: <20260308151654.29059-1-hasunpark@gmail.com>

From: Hasun Park <hasunpark@gmail.com>

Add an ACP70 SoundWire machine entry for ASUS PX13
(HN7306EA/HN7306EAC) with rt721 and two TAS2783 amps on link1.

Describe rt721 with jack/DMIC endpoints on this platform and add
explicit left/right TAS2783 speaker endpoint mapping via name prefixes.

Signed-off-by: Hasun Park <hasunpark@gmail.com>
---
 sound/soc/amd/acp/amd-acp70-acpi-match.c | 61 ++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/sound/soc/amd/acp/amd-acp70-acpi-match.c b/sound/soc/amd/acp/amd-acp70-acpi-match.c
index 7a567ba02292..1ae43df5da6c 100644
--- a/sound/soc/amd/acp/amd-acp70-acpi-match.c
+++ b/sound/soc/amd/acp/amd-acp70-acpi-match.c
@@ -69,6 +69,28 @@ static const struct snd_soc_acpi_endpoint jack_amp_g1_dmic_endpoints[] = {
 	},
 };
 
+static const struct snd_soc_acpi_endpoint jack_dmic_endpoints[] = {
+	/* Jack Endpoint */
+	{
+		.num = 0,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+	/* DMIC Endpoint */
+	{
+		/*
+		 * rt721 endpoint #2 maps to AIF3 (internal DMIC capture).
+		 * Endpoint #1 is AIF2 amp path and is handled by external amps
+		 * on this platform.
+		 */
+		.num = 2,
+		.aggregated = 0,
+		.group_position = 0,
+		.group_id = 0,
+	},
+};
+
 static const struct snd_soc_acpi_adr_device rt712_vb_1_group1_adr[] = {
 	{
 		.adr = 0x000130025D071201ull,
@@ -563,6 +585,40 @@ static const struct snd_soc_acpi_link_adr acp70_rt1320_l0_rt722_l1[] = {
 	{}
 };
 
+static const struct snd_soc_acpi_adr_device rt721_l1u0_tas2783x2_l1u8b_adr[] = {
+	{
+		.adr = 0x000130025D072101ull,
+		/*
+		 * On this platform speakers are provided by two TAS2783 amps.
+		 * Keep rt721 as UAJ + DMIC only.
+		 */
+		.num_endpoints = ARRAY_SIZE(jack_dmic_endpoints),
+		.endpoints = jack_dmic_endpoints,
+		.name_prefix = "rt721",
+	},
+	{
+		.adr = 0x0001380102000001ull,
+		.num_endpoints = 1,
+		.endpoints = &spk_l_endpoint,
+		.name_prefix = "tas2783-1",
+	},
+	{
+		.adr = 0x00013B0102000001ull,
+		.num_endpoints = 1,
+		.endpoints = &spk_r_endpoint,
+		.name_prefix = "tas2783-2",
+	},
+};
+
+static const struct snd_soc_acpi_link_adr acp70_rt721_l1u0_tas2783x2_l1u8b[] = {
+	{
+		.mask = BIT(1),
+		.num_adr = ARRAY_SIZE(rt721_l1u0_tas2783x2_l1u8b_adr),
+		.adr_d = rt721_l1u0_tas2783x2_l1u8b_adr,
+	},
+	{}
+};
+
 struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {
 	{
 		.link_mask = BIT(0) | BIT(1),
@@ -650,6 +706,11 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {
 		.machine_check = snd_soc_acpi_amd_sdca_is_device_rt712_vb,
 		.drv_name = "amd_sdw",
 	},
+	{
+		.link_mask = BIT(1),
+		.links = acp70_rt721_l1u0_tas2783x2_l1u8b,
+		.drv_name = "amd_sdw",
+	},
 	{},
 };
 EXPORT_SYMBOL(snd_soc_acpi_amd_acp70_sdw_machines);
-- 
2.53.0


  parent reply	other threads:[~2026-03-08 15:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-08 15:16 [PATCH 0/3] ASoC: amd: acp: PX13 ACP70 config and machine quirks hasunpark
2026-03-08 15:16 ` [PATCH 1/3] ASoC: amd: acp: add DMI override for ACP70 flag hasunpark
2026-03-09  5:33   ` Mukunda,Vijendar
2026-03-09 11:34     ` Mark Brown
2026-03-09 15:31       ` Mario Limonciello
2026-03-09 15:48         ` Mark Brown
2026-03-08 15:16 ` hasunpark [this message]
2026-03-08 15:16 ` [PATCH 3/3] ASoC: amd: acp: add ASUS HN7306EA quirk for legacy SDW machine hasunpark
2026-03-09  5:37   ` Mukunda,Vijendar
2026-03-11 17:21     ` Mark Brown
2026-03-11 17:32       ` Mukunda,Vijendar
2026-03-12  6:49         ` Mukunda,Vijendar
2026-03-12 13:06           ` Mark Brown
2026-03-15 20:20             ` Eric Naim
2026-03-15 23:53               ` Mark Brown
2026-03-16  2:30                 ` Mario Limonciello
2026-03-16  3:50                   ` Eric Naim
2026-03-16 15:46           ` Hasun Park
2026-03-17  4:00             ` Mukunda,Vijendar
2026-03-17 17:04               ` Mukunda,Vijendar
2026-03-17 17:22                 ` Hasun Park
2026-03-19 16:33   ` [PATCH v2] " Hasun Park
2026-03-19 16:35     ` Mark Brown
2026-03-20 12:53     ` Mark Brown
2026-03-16  0:14 ` (subset) [PATCH 0/3] ASoC: amd: acp: PX13 ACP70 config and machine quirks Mark Brown
2026-03-16 16:47   ` Hasun Park
2026-03-16 17:45     ` Mark Brown
2026-03-16 17:52 ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260308151654.29059-3-hasunpark@gmail.com \
    --to=hasunpark@gmail.com \
    --cc=Vijendar.Mukunda@amd.com \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    --cc=venkataprasad.potturu@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox