From nobody Thu Apr 2 20:25:33 2026 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E2ED220A5C4 for ; Fri, 13 Feb 2026 00:43:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943392; cv=none; b=UM63F6rKMMOW9zD6EJGT834JavNAp154Mer2s39okgxIJFtAAB0o5fXRb87crtfupRxtqqyq4kfmAILcM0hMT0b0nbqzk6XZa8G9IS6rhNFx2MpO4ypSWoUdB8eYMldKlt/yCwWhoWU1COO+z2PX7wPv3nC3GXjm/4GAXQsRq4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943392; c=relaxed/simple; bh=cblySNT3f4wlLu2dV0H5nyfjOHLxKZOKqjyBQD9iaLQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nTbo7VoX46xaUxfG4DrStGhlkUjN0fzTwx1NbPLp2Ep4/D+5XTwTCAFfJqA7SnPbBjrkSuAbmrfqmYxvel8Mrt5gHzT1JqJRfIgEcKs6jUCV9W98mtawqpKL5r77tRNy/bL64zmqqg5rRkBLDLS3t12mkqdfi0jkKPfvOtu3wzw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YbryxLIA; arc=none smtp.client-ip=209.85.210.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YbryxLIA" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-82491fbf02cso233228b3a.1 for ; Thu, 12 Feb 2026 16:43:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770943390; x=1771548190; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LGMQCRCQKTuVegHpSD+D4KfbbIfy2OOUAnU0PzfQBvY=; b=YbryxLIArlIs/gfq19Xy3WKoR6LbagLWOYgTO7Kgps47cc7Wnbr1bjWN4W0ce9xyls SYPEYt0gYqKhZ9fq922rGfcAEdlZZvlVhpMY/alXA3O03g6bylqa4N/ztuojJM2nKMRG 9261LbJvOHYSpziEqxPNCfbAC00HQWOeeTPByocyaD1l52MN78gwMnknJ8lqbadCZQ2F WSJiYYCsCwRsU+olJCLgOmRtzJzMfu/XYCQcb+xU+5+1BX7pd1yRo35+HnOV10+ZwNv/ 03RzIFrGy2iuc3srI0vJRtxw3WXRa+m6B1YVJB902cF4V3QjYUOiDwMGx4xZHRd4Buz1 QBdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770943390; x=1771548190; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LGMQCRCQKTuVegHpSD+D4KfbbIfy2OOUAnU0PzfQBvY=; b=hlUwqDn+pJR4mEbAwV0hKzBd0A0X9ryclJ4zijeKuRtuwRtcp8Nn+PDa0LCa2pbY5X 8F7q20htQO02m0w5M1hsUl05jW29+F3NrCEfvD3+EH1pzagkyR0fFOf5VTe/MMeeAxVj 5Q5ajnwHF3nRd3B6CBn9egvmINaLM84FkGvBNJa/dEbhTM7/k8qOWD2dCXBmctXBrJAn nBzudclLnmcGftWfrP/Ax+W6bwCs3pVBSK0oBso7/DLJ7aphA2CXy5j+VdON2Ec/njkj c/QLNoj52254828ZFXoEcM6HQcVcNhWcIzyXsvN3odbHE6nzYE7gn8nAFy/j1YBllbUb gjxQ== X-Forwarded-Encrypted: i=1; AJvYcCX1VnFUyPahJikkxvOfdFBiKxV+ffhJ742FOqZ3JUN+yary7DemgmElq7WU3GuKOGfb6XIS/fzJz94WpTE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4dHC7SLSCRlloXNLWozxGkExXyHYsguXNoYaup09cQ4ZanR6G zsScpBW/JH8s2ZH6MBrEimz2tbZBozhzuIM8XZS2F3OfuBQ/zYGc/b3w X-Gm-Gg: AZuq6aLwBqJE0XMji6ABbOHGONtJjVddQQKQnKsFPZCymdOK0RElSdNGArS7NjeOrvT +7+Se/lgeQy30+pcL1A0qvHTkZbpuPsCUNl0TCW00TbybG3KKOIDu70iA2JGJ55NPh8jZ5hcUp6 EAnC0uc0Mnt3GlW6yFatfqTXOqiJw5/Wvrd5bPGEqBNN8gtkkb3QrRirA+MupPjLDXmfkQwBtKb OU2cdC+i1KRDYCgSnU5NdTr+E0ue1Wop4qWnitvXBTAgzOqZ5AsySfclTdpSs2lZQ1hwTXnLvx5 JI49q408pI9c5KVAVTkHHN156SW4sUQEvurT707poIRrhAinNcbHmVm6+DeR0y54xNEErZdqfoe 5TfcS7+Sb+PJ/NtOPUY4sfFg0Qrm/dPGzzIzs9EURSzTkZ8flQ0+HnsU8Y4pcJXj58KD3idgZna 0tyHjEvYMc X-Received: by 2002:a05:6a00:10c7:b0:821:807a:e427 with SMTP id d2e1a72fcca58-824c94b9b48mr239389b3a.21.1770943390141; Thu, 12 Feb 2026 16:43:10 -0800 (PST) Received: from qby-laptop ([2a13:edc0:18:16f::a]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6b69ba2sm515751b3a.38.2026.02.12.16.43.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 16:43:09 -0800 (PST) From: Mingyou Chen To: vijendar.mukunda@amd.com Cc: broonie@kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mario.limonciello@amd.com, venkataprasad.potturu@amd.com, Sunil-kumar.Dommati@amd.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Mingyou Chen Subject: [PATCH v5 1/3] ASoC: Add DMIC support for the AMD RPL platform Date: Fri, 13 Feb 2026 08:42:44 +0800 Message-ID: <20260213004246.16615-2-qby140326@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20260213004246.16615-1-qby140326@gmail.com> References: <20260213004246.16615-1-qby140326@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add RPL rev 0x62 check and reverse ACP CONFIG PIN 10 to 14 for RPL platform Signed-off-by: Mingyou Chen --- 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 =3D=3D 0x62) { + dev_info(&pci->dev, "RPL Audio Mode %d\n", val); + break; + } + fallthrough; default: adata->res =3D devm_kzalloc(&pci->dev, sizeof(struct resource), --=20 2.51.2 From nobody Thu Apr 2 20:25:33 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9532A214A64 for ; Fri, 13 Feb 2026 00:43:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943395; cv=none; b=AAoSdhc8JuFvdoSr2+3Vb2IFvbc992Mq0rk4eMdoCy95zISb4u/5rMKGWjy57zly11fVtnYHw8gCcaNqx7hheTEQskCNnJLS+J3/nI52BA2Ujpfz/vRLSsgB6GtvK7aS5kMBamXTgItQQS1rD0fJ8uykDtI2ddOSuI0PCq0/7z0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943395; c=relaxed/simple; bh=Grm7vlf6RQceqExtGTxxpWioQmU+kkTizKOoVLFHwzc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cQ7vWSOyXXDWJjgk0xYDl7ItgsWtiHLgZ46BAkQgnBUtw0+hJ9mTb3KgPnplE4IXfKaMja05VzMF2sCy3wcUaITB+WvdGCmfMg8cVLjMJPscaV9Pq9NnhhwQrSg0QOuETzxR3t/PXzhDXuLtvbC7ifmVyJiqJZDfSndz/wT4pNU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SyGWtKx3; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SyGWtKx3" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-824c9da9928so16401b3a.3 for ; Thu, 12 Feb 2026 16:43:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770943393; x=1771548193; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F4+SY/jOs4NZzW456dpFyxP/ymAMo96jsmXjl89V8YI=; b=SyGWtKx3FGz6Re2NoR7jN+vdx2jno5WUFkNEzq3HKkUllNf7Ls7zQuleVE6QImWi1T btLppqfTkbg7KDauk5LJ4iz051LTVkgA+65oBwTgnHsp3vW9ipLbJiIRfIF+9MY8Xyxk MXv11mNhqDH+7FvbSDVY13p4FAUzhJWbQVJtrsVwCXmJsEkzP18KkantnezeyT32QsLM oA4xvWNQnb+l5u0U5gmu0PmA8UxXXfwHgi017I1Ajl1rVx5g/sZLShWAq+KKOmNLlcdH d1KszTY/sMU+FwXaxgPDNcUwe6VptZP+N8Kka01ygqZhkgHYeVJWahoYCfeIuI5sz8GU VIZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770943393; x=1771548193; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=F4+SY/jOs4NZzW456dpFyxP/ymAMo96jsmXjl89V8YI=; b=mIaZCDaZWyP+XDpCx8PU51/vDdItSBcivhU/sYGO3U1S5kFxolUKGLveI7Nohapcqk OqAJdx+WE/osUTqqRQH9bixNVGn8fGHmdUuIf/ChM1iEGlbX5VaeB8etSbLHAgEwPkrB oUKu6KluFOqNOO3/C24gvMZwvceqTD/fgr4UAEczxc8i5ozWbnCRhx4ksiysB9NSggVE wVAwO34hIBpnuUHlgZstqpQ9serGWeCQo6XN70pm3nK80d7vkOBu5wx5OlQxDsF8srjz B/29d8sldXz7HBJJ4tMDu6yOGdtBVPeQh9/r0502rTZCXYz0yh7x6X/qnvvLV2z98kv5 6Dzg== X-Forwarded-Encrypted: i=1; AJvYcCWcUxHwzNIvtoCjGgkPejCbpgZiCLEd6nFLypL23rE40FVuqT/4OCXq2jdZUqsdx/WzvcEfy9RTaBJrVtw=@vger.kernel.org X-Gm-Message-State: AOJu0YxDIiTv/N1mycRVXR948yRd1kFUvX6NT0OUoN8jebZvDaDtV2dU VfD5LlHPsPzcCA6po61ru0ORTsPMyWXOjd6vj/fTR2tQwNUB/k/h7hJx X-Gm-Gg: AZuq6aIXhgmA9rHfj7QtccsNmmcw+9HzVpopGc1Kagn4YyK2PjVl50cAKmit1dlrn3Q 0zAwLIyTfcXpoci2kKG/MTaLxfohwcxX//Uv2nYqOBWMe6WpfJUUApNzhtp/Y344gsh418kKYe4 aRW48Nzm54d01cMRSz/vv+mwfnZumDuFMJQ2ZVnA92FKhn7DSOvVt0vPYSvJPEmHsxmWcaVycor iq5qenrfgkimGJd9a5l4M3QsaT5TPuLRPzkjGrY3TcGGhMDKbaoPrcMBSTDY8iZG8uNabpesXKE ghK6AoG5YzBo2crIxgrhEnrKmaQZhR8GQHfUpF2RO9vgoIO2XphdMYyenoJOxljOXDapkeAK5oY im6PjOER8F5I1siyg9Bawh6Vx0BKjYiV4skKaVpn1U+z+tj4O8JrU3iF+G4823nH/1VfaC0mGWA == X-Received: by 2002:a05:6a00:1249:b0:81f:9986:9205 with SMTP id d2e1a72fcca58-824c961c682mr235524b3a.57.1770943392956; Thu, 12 Feb 2026 16:43:12 -0800 (PST) Received: from qby-laptop ([2a13:edc0:18:16f::a]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6b69ba2sm515751b3a.38.2026.02.12.16.43.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 16:43:12 -0800 (PST) From: Mingyou Chen To: vijendar.mukunda@amd.com Cc: broonie@kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mario.limonciello@amd.com, venkataprasad.potturu@amd.com, Sunil-kumar.Dommati@amd.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Mingyou Chen Subject: [PATCH v5 2/3] ASoC: Drop RPL driver Date: Fri, 13 Feb 2026 08:42:45 +0800 Message-ID: <20260213004246.16615-3-qby140326@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20260213004246.16615-1-qby140326@gmail.com> References: <20260213004246.16615-1-qby140326@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The RPL driver is no longer needed because its functionality has been superseded by the YC driver Signed-off-by: Mingyou Chen Reviewed-by: Mario Limonciello (AMD) --- sound/soc/amd/Kconfig | 10 - sound/soc/amd/Makefile | 1 - sound/soc/amd/rpl/Makefile | 5 - sound/soc/amd/rpl/rpl-pci-acp6x.c | 227 ------------------ sound/soc/amd/rpl/rpl_acp6x.h | 36 --- .../soc/amd/rpl/rpl_acp6x_chip_offset_byte.h | 30 --- 6 files changed, 309 deletions(-) delete mode 100644 sound/soc/amd/rpl/Makefile delete mode 100644 sound/soc/amd/rpl/rpl-pci-acp6x.c delete mode 100644 sound/soc/amd/rpl/rpl_acp6x.h delete mode 100644 sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig index fd35a03aadcb..a6eecbe12e84 100644 --- a/sound/soc/amd/Kconfig +++ b/sound/soc/amd/Kconfig @@ -124,16 +124,6 @@ config SND_AMD_ACP_CONFIG =20 source "sound/soc/amd/acp/Kconfig" =20 -config SND_SOC_AMD_RPL_ACP6x - tristate "AMD Audio Coprocessor-v6.2 RPL support" - depends on X86 && PCI - help - This option enables Audio Coprocessor i.e. ACP v6.2 support on - AMD RPL platform. By enabling this flag build will be - triggered for ACP PCI driver. - Say m if you have such a device. - If unsure select "N". - config SND_SOC_AMD_ACP63_TOPLEVEL tristate "support for AMD platforms with ACP version >=3D 6.3" default SND_AMD_ACP_CONFIG diff --git a/sound/soc/amd/Makefile b/sound/soc/amd/Makefile index 4f89d962cce2..23b25ff0d800 100644 --- a/sound/soc/amd/Makefile +++ b/sound/soc/amd/Makefile @@ -17,5 +17,4 @@ obj-$(CONFIG_SND_SOC_AMD_ACP5x) +=3D vangogh/ obj-$(CONFIG_SND_SOC_AMD_ACP6x) +=3D yc/ obj-$(CONFIG_SND_AMD_ACP_CONFIG) +=3D acp/ obj-$(CONFIG_SND_AMD_ACP_CONFIG) +=3D snd-acp-config.o -obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) +=3D rpl/ obj-$(CONFIG_SND_SOC_AMD_PS) +=3D ps/ diff --git a/sound/soc/amd/rpl/Makefile b/sound/soc/amd/rpl/Makefile deleted file mode 100644 index a3825c5be4e7..000000000000 --- a/sound/soc/amd/rpl/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# RPL platform Support -snd-rpl-pci-acp6x-y :=3D rpl-pci-acp6x.o - -obj-$(CONFIG_SND_SOC_AMD_RPL_ACP6x) +=3D snd-rpl-pci-acp6x.o diff --git a/sound/soc/amd/rpl/rpl-pci-acp6x.c b/sound/soc/amd/rpl/rpl-pci-= acp6x.c deleted file mode 100644 index e3afe9172bdf..000000000000 --- a/sound/soc/amd/rpl/rpl-pci-acp6x.c +++ /dev/null @@ -1,227 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * AMD RPL ACP PCI Driver - * - * Copyright 2022 Advanced Micro Devices, Inc. - */ - -#include -#include -#include -#include -#include -#include - -#include "rpl_acp6x.h" - -struct rpl_dev_data { - void __iomem *acp6x_base; -}; - -static int rpl_power_on(void __iomem *acp_base) -{ - u32 val; - int timeout; - - val =3D rpl_acp_readl(acp_base + ACP_PGFSM_STATUS); - - if (!val) - return val; - - if ((val & ACP_PGFSM_STATUS_MASK) !=3D ACP_POWER_ON_IN_PROGRESS) - rpl_acp_writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTRO= L); - timeout =3D 0; - while (++timeout < 500) { - val =3D rpl_acp_readl(acp_base + ACP_PGFSM_STATUS); - if (!val) - return 0; - udelay(1); - } - return -ETIMEDOUT; -} - -static int rpl_reset(void __iomem *acp_base) -{ - u32 val; - int timeout; - - rpl_acp_writel(1, acp_base + ACP_SOFT_RESET); - timeout =3D 0; - while (++timeout < 500) { - val =3D rpl_acp_readl(acp_base + ACP_SOFT_RESET); - if (val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK) - break; - cpu_relax(); - } - rpl_acp_writel(0, acp_base + ACP_SOFT_RESET); - timeout =3D 0; - while (++timeout < 500) { - val =3D rpl_acp_readl(acp_base + ACP_SOFT_RESET); - if (!val) - return 0; - cpu_relax(); - } - return -ETIMEDOUT; -} - -static int rpl_init(void __iomem *acp_base) -{ - int ret; - - /* power on */ - ret =3D rpl_power_on(acp_base); - if (ret) { - pr_err("ACP power on failed\n"); - return ret; - } - rpl_acp_writel(0x01, acp_base + ACP_CONTROL); - /* Reset */ - ret =3D rpl_reset(acp_base); - if (ret) { - pr_err("ACP reset failed\n"); - return ret; - } - rpl_acp_writel(0x03, acp_base + ACP_CLKMUX_SEL); - return 0; -} - -static int rpl_deinit(void __iomem *acp_base) -{ - int ret; - - /* Reset */ - ret =3D rpl_reset(acp_base); - if (ret) { - pr_err("ACP reset failed\n"); - return ret; - } - rpl_acp_writel(0x00, acp_base + ACP_CLKMUX_SEL); - rpl_acp_writel(0x00, acp_base + ACP_CONTROL); - return 0; -} - -static int snd_rpl_probe(struct pci_dev *pci, - const struct pci_device_id *pci_id) -{ - struct rpl_dev_data *adata; - u32 addr; - int ret; - - /* RPL device check */ - switch (pci->revision) { - case 0x62: - break; - default: - dev_dbg(&pci->dev, "acp6x pci device not found\n"); - return -ENODEV; - } - if (pci_enable_device(pci)) { - dev_err(&pci->dev, "pci_enable_device failed\n"); - return -ENODEV; - } - - ret =3D pci_request_regions(pci, "AMD ACP6x audio"); - if (ret < 0) { - dev_err(&pci->dev, "pci_request_regions failed\n"); - goto disable_pci; - } - - adata =3D devm_kzalloc(&pci->dev, sizeof(struct rpl_dev_data), - GFP_KERNEL); - if (!adata) { - ret =3D -ENOMEM; - goto release_regions; - } - - addr =3D pci_resource_start(pci, 0); - adata->acp6x_base =3D devm_ioremap(&pci->dev, addr, - pci_resource_len(pci, 0)); - if (!adata->acp6x_base) { - ret =3D -ENOMEM; - goto release_regions; - } - pci_set_master(pci); - pci_set_drvdata(pci, adata); - ret =3D rpl_init(adata->acp6x_base); - if (ret) - goto release_regions; - pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS); - pm_runtime_use_autosuspend(&pci->dev); - pm_runtime_put_noidle(&pci->dev); - pm_runtime_allow(&pci->dev); - - return 0; -release_regions: - pci_release_regions(pci); -disable_pci: - pci_disable_device(pci); - - return ret; -} - -static int snd_rpl_suspend(struct device *dev) -{ - struct rpl_dev_data *adata; - int ret; - - adata =3D dev_get_drvdata(dev); - ret =3D rpl_deinit(adata->acp6x_base); - if (ret) - dev_err(dev, "ACP de-init failed\n"); - return ret; -} - -static int snd_rpl_resume(struct device *dev) -{ - struct rpl_dev_data *adata; - int ret; - - adata =3D dev_get_drvdata(dev); - ret =3D rpl_init(adata->acp6x_base); - if (ret) - dev_err(dev, "ACP init failed\n"); - return ret; -} - -static const struct dev_pm_ops rpl_pm =3D { - RUNTIME_PM_OPS(snd_rpl_suspend, snd_rpl_resume, NULL) - SYSTEM_SLEEP_PM_OPS(snd_rpl_suspend, snd_rpl_resume) -}; - -static void snd_rpl_remove(struct pci_dev *pci) -{ - struct rpl_dev_data *adata; - int ret; - - adata =3D pci_get_drvdata(pci); - ret =3D rpl_deinit(adata->acp6x_base); - if (ret) - dev_err(&pci->dev, "ACP de-init failed\n"); - pm_runtime_forbid(&pci->dev); - pm_runtime_get_noresume(&pci->dev); - pci_release_regions(pci); - pci_disable_device(pci); -} - -static const struct pci_device_id snd_rpl_ids[] =3D { - { PCI_DEVICE(PCI_VENDOR_ID_AMD, ACP_DEVICE_ID), - .class =3D PCI_CLASS_MULTIMEDIA_OTHER << 8, - .class_mask =3D 0xffffff }, - { 0, }, -}; -MODULE_DEVICE_TABLE(pci, snd_rpl_ids); - -static struct pci_driver rpl_acp6x_driver =3D { - .name =3D KBUILD_MODNAME, - .id_table =3D snd_rpl_ids, - .probe =3D snd_rpl_probe, - .remove =3D snd_rpl_remove, - .driver =3D { - .pm =3D pm_ptr(&rpl_pm), - } -}; - -module_pci_driver(rpl_acp6x_driver); - -MODULE_DESCRIPTION("AMD ACP RPL PCI driver"); -MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/amd/rpl/rpl_acp6x.h b/sound/soc/amd/rpl/rpl_acp6x.h deleted file mode 100644 index f5816a33632e..000000000000 --- a/sound/soc/amd/rpl/rpl_acp6x.h +++ /dev/null @@ -1,36 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * AMD ACP Driver - * - * Copyright (C) 2021 Advanced Micro Devices, Inc. All rights reserved. - */ - -#include "rpl_acp6x_chip_offset_byte.h" - -#define ACP_DEVICE_ID 0x15E2 -#define ACP6x_PHY_BASE_ADDRESS 0x1240000 - -#define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK 0x00010001 -#define ACP_PGFSM_CNTL_POWER_ON_MASK 1 -#define ACP_PGFSM_CNTL_POWER_OFF_MASK 0 -#define ACP_PGFSM_STATUS_MASK 3 -#define ACP_POWERED_ON 0 -#define ACP_POWER_ON_IN_PROGRESS 1 -#define ACP_POWERED_OFF 2 -#define ACP_POWER_OFF_IN_PROGRESS 3 - -#define DELAY_US 5 -#define ACP_COUNTER 20000 - -/* time in ms for runtime suspend delay */ -#define ACP_SUSPEND_DELAY_MS 2000 - -static inline u32 rpl_acp_readl(void __iomem *base_addr) -{ - return readl(base_addr - ACP6x_PHY_BASE_ADDRESS); -} - -static inline void rpl_acp_writel(u32 val, void __iomem *base_addr) -{ - writel(val, base_addr - ACP6x_PHY_BASE_ADDRESS); -} diff --git a/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h b/sound/soc/amd= /rpl/rpl_acp6x_chip_offset_byte.h deleted file mode 100644 index 456498f5396d..000000000000 --- a/sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h +++ /dev/null @@ -1,30 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * AMD ACP 6.2 Register Documentation - * - * Copyright 2022 Advanced Micro Devices, Inc. - */ - -#ifndef _rpl_acp6x_OFFSET_HEADER -#define _rpl_acp6x_OFFSET_HEADER - -/* Registers from ACP_CLKRST block */ -#define ACP_SOFT_RESET 0x1241000 -#define ACP_CONTROL 0x1241004 -#define ACP_STATUS 0x1241008 -#define ACP_DYNAMIC_CG_MASTER_CONTROL 0x1241010 -#define ACP_PGFSM_CONTROL 0x124101C -#define ACP_PGFSM_STATUS 0x1241020 -#define ACP_CLKMUX_SEL 0x1241024 - -/* Registers from ACP_AON block */ -#define ACP_PME_EN 0x1241400 -#define ACP_DEVICE_STATE 0x1241404 -#define AZ_DEVICE_STATE 0x1241408 -#define ACP_PIN_CONFIG 0x1241440 -#define ACP_PAD_PULLUP_CTRL 0x1241444 -#define ACP_PAD_PULLDOWN_CTRL 0x1241448 -#define ACP_PAD_DRIVE_STRENGTH_CTRL 0x124144C -#define ACP_PAD_SCHMEN_CTRL 0x1241450 - -#endif --=20 2.51.2 From nobody Thu Apr 2 20:25:33 2026 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4981320A5F3 for ; Fri, 13 Feb 2026 00:43:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943397; cv=none; b=iOlD8OsSe8+P2N6jlXUYTLkNxLbrO8GC8u76N0OSCQCM+fSvvCbTHgUTyEdwYtq0K3q2f1Q41XOR81gVTGi71VvaYVr6nKuPeW5KUpg/37Vp/43TO8kQ9hF3bBTHdYuiGx9WmuNosbWsmLYOrh5N4t1a8Uf3C8pzMMV655pDOGM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770943397; c=relaxed/simple; bh=M7KZCK98ow0KPWs+XO9UwmlYlB1lKcgTJc20cOATSL0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nvOXQG01nPDdIL2RU0zzEXZ+Ayp1nfbeR5hhdlUaOmO4EnzOwp5ETBK9B8F8ajUekT5VFT09q6sO/SklHagqLg6YyKJK5vcaHkLWiJVsdpA5lq+ZdHqgw+KuIZPzN8XDkB+WTxspYjFKLUQUoZcK2zSm4IImCM5ASHXy0wgUMQY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DRcwyJ8u; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DRcwyJ8u" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-354bb7d2cb1so1235365a91.0 for ; Thu, 12 Feb 2026 16:43:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770943396; x=1771548196; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0AN0mP+ZmQTR3ELzZZTOreC2XTtK2a0bz6wEq+iw7zE=; b=DRcwyJ8ufshZj3TRi43RLfb3/KWkQw1mxfo192M4IgsuBzRRYOfVE/MKFzftA6DY9h WcVfSTIzdB7YYzxw8AjETH4zmapGxCFRc6/qvXwCD0VcBSROAEVLX75OmGh1OANYhef6 wwVNohXRW/NDRl/EmzWpK3PixID9/LWZExtPZXiY1hIzi2jGVpf8bPJ7Vx7nqEH9tsBf DlBMfEu52DP0ANO2DCKF2JYWlQzvHcFT3RW4E8IjY8inmJ0IBdunNCBh1fTqC/qvbI75 wOct8dycSye0UIVQGYDw6Fjfwwyhilyqc01ODF0nuqbS0fx6dzqTE/Qp5GaxONHchock vGZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770943396; x=1771548196; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=0AN0mP+ZmQTR3ELzZZTOreC2XTtK2a0bz6wEq+iw7zE=; b=dJe9WAjZuOfKlT+nszC8qKBMk+TczcMkH/s/cIEqUMCozGfKBPKvdOJWZK2+kD+tYo GaD7K7akrGmcou1RgxawxdpFxFn7Y+3xxbbjStpQy3cgS7Y0eqPjWzH/nrb4a2sTwMl+ 7ICtg5SkI6dgE3FUhBHSJhDsGL+N2L2g88DrUhY9XPJzwl48M033jGJxZP7/qeQYWQyW SyLkd43ebv3QNlSP8P5iWuTZX0v63fLPGPDrBPxoi0cfYDLTqi4FBAQ1q2BVNGexiNjG 6IJyP9HdVSD5COK1BemIo+N++W1MOX0PoVILD6Ikuh5JAP2t9pVQaDQ0J72CEE/vXYW3 Gkmg== X-Forwarded-Encrypted: i=1; AJvYcCWWft2KGff2P0I/rPqOhbqNohoD/mNnmtMo1umScJipCgWPuiUdoqTT2T2sm7guZxDk4iDbsNe1/2q5Ucw=@vger.kernel.org X-Gm-Message-State: AOJu0YzC+E8o1rUfGU5vQNllcBlVCKEEBdkt4wMsRxZtuRDRD4nNM7Ge zumKyFhGAhKlp/eTEbGMVUZq/3MyxrKGG4/YHnh3o2bnlqU76HMsg6xl X-Gm-Gg: AZuq6aKnDIDmyziOXzL3WhZ06Sa/iYDUQ6PVklErIMSYStFj2XVTyxASsury/C0AKDb 8XhpgfNBj9mFGKeSOGOimDwA65UYWOiQOBHzvqyGH1a1lDAUZ4wFkMJj/Cw2dFh1mqfyvjLcct1 OB20hBa5l14tQ/hd5YU6I/Ow0Fwzzam/jPwE909+lwzlcsImF2aEcyDh2XP0XIwDAKarpQ9UiF/ DLgr8DGmsPqKKIAH1j9WK7Tu/4+KdPgsLrhBR3v0cZC9mW/YME2fdixTwjeeujZad7w+W+C87c4 fB4EXu70yB50Z9AOwOb8njpdij/l8tFL9dugQWufM2FmFwXGkig1w9rHmrzLf469pBSW9sK3Nfp 8kSRGfxoa2K050TK+VF+k/Z8hufhxVeaHkXZ8XDacr0AIEZOh1l9Zp+S21H1nHWuXF2cKvZENGQ == X-Received: by 2002:a17:90a:e710:b0:34f:5039:5ac7 with SMTP id 98e67ed59e1d1-356ab049be0mr179836a91.6.1770943395676; Thu, 12 Feb 2026 16:43:15 -0800 (PST) Received: from qby-laptop ([2a13:edc0:18:16f::a]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6b69ba2sm515751b3a.38.2026.02.12.16.43.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 16:43:15 -0800 (PST) From: Mingyou Chen To: vijendar.mukunda@amd.com Cc: broonie@kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, mario.limonciello@amd.com, venkataprasad.potturu@amd.com, Sunil-kumar.Dommati@amd.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Mingyou Chen Subject: [PATCH v5 3/3] ASoC: Add quirk for Lecoo Bellator N176 Date: Fri, 13 Feb 2026 08:42:46 +0800 Message-ID: <20260213004246.16615-4-qby140326@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20260213004246.16615-1-qby140326@gmail.com> References: <20260213004246.16615-1-qby140326@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Lecoo Bellator N176 requires a specific quirk to enable the DMIC support. Signed-off-by: Mingyou Chen Reviewed-by: Mario Limonciello (AMD) --- sound/soc/amd/yc/acp6x-mach.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c index 0294177acc66..de49c812124a 100644 --- a/sound/soc/amd/yc/acp6x-mach.c +++ b/sound/soc/amd/yc/acp6x-mach.c @@ -45,6 +45,13 @@ static struct snd_soc_card acp6x_card =3D { }; =20 static const struct dmi_system_id yc_acp_quirk_table[] =3D { + { + .driver_data =3D &acp6x_card, + .matches =3D { + DMI_MATCH(DMI_BOARD_VENDOR, "Lecoo"), + DMI_MATCH(DMI_PRODUCT_NAME, "Bellator N176"), + } + }, { .driver_data =3D &acp6x_card, .matches =3D { --=20 2.51.2