[PATCH v5 1/3] ASoC: Add DMIC support for the AMD RPL platform

Mingyou Chen posted 3 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH v5 1/3] ASoC: Add DMIC support for the AMD RPL platform
Posted by Mingyou Chen 1 month, 2 weeks ago
Add RPL rev 0x62 check and reverse ACP CONFIG PIN 10 to 14 for RPL
platform

Signed-off-by: Mingyou Chen <qby140326@gmail.com>
---
 sound/soc/amd/yc/pci-acp6x.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/amd/yc/pci-acp6x.c b/sound/soc/amd/yc/pci-acp6x.c
index 1140ed1cbb3d..53c1910a8838 100644
--- a/sound/soc/amd/yc/pci-acp6x.c
+++ b/sound/soc/amd/yc/pci-acp6x.c
@@ -163,6 +163,7 @@ static int snd_acp6x_probe(struct pci_dev *pci,
 	switch (pci->revision) {
 	case 0x60:
 	case 0x6f:
+	case 0x62: /* RPL */
 		break;
 	default:
 		dev_dbg(&pci->dev, "acp6x pci device not found\n");
@@ -208,6 +209,17 @@ static int snd_acp6x_probe(struct pci_dev *pci,
 	case ACP_CONFIG_15:
 		dev_info(&pci->dev, "Audio Mode %d\n", val);
 		break;
+	/* PIN 10 to 14 is reversed for RPL */
+	case ACP_CONFIG_10:
+	case ACP_CONFIG_11:
+	case ACP_CONFIG_12:
+	case ACP_CONFIG_13:
+	case ACP_CONFIG_14:
+		if (pci->revision == 0x62) {
+			dev_info(&pci->dev, "RPL Audio Mode %d\n", val);
+			break;
+		}
+		fallthrough;
 	default:
 		adata->res = devm_kzalloc(&pci->dev,
 					  sizeof(struct resource),
-- 
2.51.2
Re: [PATCH v5 1/3] ASoC: Add DMIC support for the AMD RPL platform
Posted by Mario Limonciello 1 month, 2 weeks ago

On 2/12/2026 6:42 PM, Mingyou Chen wrote:
> Add RPL rev 0x62 check and reverse ACP CONFIG PIN 10 to 14 for RPL
> platform

I think you have a typo here, which really confused me for a while.  You 
meant to say "reserve" but you typed "reverse".

> 
> Signed-off-by: Mingyou Chen <qby140326@gmail.com>
> ---
>   sound/soc/amd/yc/pci-acp6x.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/sound/soc/amd/yc/pci-acp6x.c b/sound/soc/amd/yc/pci-acp6x.c
> index 1140ed1cbb3d..53c1910a8838 100644
> --- a/sound/soc/amd/yc/pci-acp6x.c
> +++ b/sound/soc/amd/yc/pci-acp6x.c
> @@ -163,6 +163,7 @@ static int snd_acp6x_probe(struct pci_dev *pci,
>   	switch (pci->revision) {
>   	case 0x60:
>   	case 0x6f:
> +	case 0x62: /* RPL */
>   		break;
>   	default:
>   		dev_dbg(&pci->dev, "acp6x pci device not found\n");
> @@ -208,6 +209,17 @@ static int snd_acp6x_probe(struct pci_dev *pci,
>   	case ACP_CONFIG_15:
>   		dev_info(&pci->dev, "Audio Mode %d\n", val);
>   		break;
> +	/* PIN 10 to 14 is reversed for RPL */

This comment is in the incorrect location (and also has a typo).

I feel it should come right before this line so it's obvious that when 
on the RPL platform you handle the special case.

if (pci->revision == 0x62)

> +	case ACP_CONFIG_10:
> +	case ACP_CONFIG_11:
> +	case ACP_CONFIG_12:
> +	case ACP_CONFIG_13:
> +	case ACP_CONFIG_14:
> +		if (pci->revision == 0x62) {
> +			dev_info(&pci->dev, "RPL Audio Mode %d\n", val);
> +			break;
> +		}
> +		fallthrough;
>   	default:
>   		adata->res = devm_kzalloc(&pci->dev,
>   					  sizeof(struct resource),