From nobody Sat Jun 13 13:35:31 2026 Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F51E3EC2FB; Thu, 7 May 2026 10:37:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=18.194.254.142 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150250; cv=none; b=k+OiOhQa1RHUIU1rjE1QjOC0jaOzaDufDvaaGi9fixW4NvTw79w9WG8HPvQ/S56tAAuYQlBltfPQandaA5FktkI2yjxVtA/Ooe7GaBaSnLH8YngLFk37gwNVZvd+JwO4sjidWCoE0dc//NmJkyKtTlqIgyIjcHMPuk50I6QkOjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150250; c=relaxed/simple; bh=Q7iJZ6VUq1H8Bt3WwDMb4K4clOEXomOap5ooldumwW4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ATQD/+J0hCS58kAJa1MGFPXVtB3E2Qf+Y6t4n4XAm3XbL84cF88tPWGhohvw4vHt2nyTN3w989ylIi3J+b4oStnP0kCP/ZcjkexONeetUdYJEASHFl4jC5IeInNETe1GQeJRRW2GXjVk10XSRmyuz4X+N5DcsdVJcI2gIJosexk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=uRMixVZ2; arc=none smtp.client-ip=18.194.254.142 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="uRMixVZ2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1778150201; bh=gy+vLIjyMT6857Vtois325dTt+YrnhLSIrioPPR6St8=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=uRMixVZ25rJuwH6sWdxE6UJv3SKMf1mqHNqfsmGMdee6wb+F2UQ4ZBWUO64RA1c5S Dw624zZyDFqyC2hds+c5fRe+8ycJat/pdn8n4fCKFpzREIu+/xZENPGltnQWmEshd/ A2AvkwFhiVSfOaPpYL6xRVYZywzairkB59xtjSHc= X-QQ-mid: zesmtpgz4t1778150192t8267e74b X-QQ-Originating-IP: ujIz8YOVnSW7B60VWyM9hjIqW8IOmbsxyg9lb4tPWKE= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 07 May 2026 18:36:28 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11798738260488790432 EX-QQ-RecipientCnt: 21 From: Troy Mitchell Date: Thu, 07 May 2026 18:36:20 +0800 Subject: [PATCH v5 1/4] dt-bindings: dmaengine: Add SpacemiT K3 DMA compatible string Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-k3-pdma-v5-1-6b9743038026@linux.spacemit.com> References: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> In-Reply-To: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> To: Vinod Koul , Frank Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Guodong Xu , Michael Turquette , Stephen Boyd , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Conor Dooley , Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778150183; l=1136; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=yaSmXSO5vYt5nKO5ZoIxkQx6dxueeCXO+Z09BlgFE88=; b=DfAnWhO59vA3gBFJDzFcMc47+7DcXxyYCFrlZJezXk22v/rK7/MplMET66tfXPZitK6x2nwTQ +sW7iDjz0+KDEwT4CU4F0tje6Of1netzpHoWZEOt2qD9c+ud4BvBgoY X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=ed25519; pk=lQa7BzLrq8DfZnChqmwJ5qQk8fP2USmY/4xZ2/MSsXc= X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: MXi6VldghLL7KNMlXpEfS+zl8XikIkiGAWAnqtt4jiwS+Fdal2uY7+1d rXa6j4MDRHzc1QO4G9qvd3haUWYdw3eWSUwnl1+ZM2qTkVAwOFmrfh7Q7oPUI8Xw4xCoBoV qICeJNNAMnqmCUY76l66nrgZsfIv3vLLjusqay72OQyZW4Nz3YhnmvUWR+1VaYcqCsBis/D 8kM+/AIE1dGxzUyC3yI8RFu2Tl7rxBgSOnWUuHtz/E1eOe5Bhr+mEeUgH+fTMmiKTtFQLeU jBx1dL2K8CEjUWCLpM3FCIV/fxu0hlE08sUTwKhymghtqDpdESzvNj+HeZeDJqdUEzRjBDL Kn/Y7YvWiK/8qViFQKUcGpXuHuCcR/o+6Zl5tk4P93GU6w0ouAVeDFtSis5drw496ljC+0j hNJhqq8QoOU51wCq5pfcCXK8ciT2uW2g4cxyu4445eDKZz62xzZs9WFhHQ3oxl4RI9kvPEW YyS/pxFDRZPkAaE8XNQvLGrzCMeoCsJTxbHOUOa2YJFCYxYewWDw+DBoNFFsaP6RsQPcxx2 k/9ou9rMUZliveW+Dvfp1b6vJTJnco4LJE6DlEU8sDALoqsL4cs6ePWLRAKeahbH9w78BbG ONHL9ePXgOLR2NpBwB636lD+sIdVerhgkGL9CBNCEtvHWE8JrieZI2r7gpm8wvjVmVDTK3v CIZi1JW0QVHTeweFMYdanTm9TFE4DyTADn6gCBrnG7lKiTBviVcf5KgfxbO5WJo+XkFqLYW zow7GQ9a55nFr45MHXYZkC49NVX+5YC8QLap2UGw6RcSoij9I1Dvx1S8RrsuGWO95WF/7uk TNmL2s2AQvBaj3W+NI5WzA8AwQdQcUVaQJ7xKGZF2CJFH4f1vAGstfDsLb2op9RQeKCJKlf ZKcETueMz8A9L9FhteopulvZ5K4b+sJhlOk2cNncp+fPFNyExWTwYjoWml0bMdAGsbtuSlG c6agxrQ+zjqo626UQ/Sa/or90eIJn/MpN4JybNI+HrCP4Zay4HpTsQ3CucVZtNRGcH+GMnk ZEs9rZm1V+/shQGQ6hsCvg0gMUMmS2dY2J7a2wGLMNOv5etcQkUS9iJriyhE6YXKe9E7ODE nUjrXl5SI4uBUwvmn+67ovkfuEQwU/Lv5IgNW1w0e3oUHukmSe/K7HeKXkgsjnYlrbzuqsZ yLJh X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-RECHKSPAM: 0 From: Guodong Xu Add the "spacemit,k3-pdma" compatible string for the SpacemiT K3 SoC. While the K3 PDMA IP reuses most of the design found on the earlier K1 SoC, a new compatible string is required because the DRCMR (DMA Request/Command Register) base address for extended DMA request numbers (>=3D 64) differs from the K1 implementation. Signed-off-by: Guodong Xu Acked-by: Conor Dooley Signed-off-by: Troy Mitchell --- Documentation/devicetree/bindings/dma/spacemit,k1-pdma.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/dma/spacemit,k1-pdma.yaml b/= Documentation/devicetree/bindings/dma/spacemit,k1-pdma.yaml index ec06235baf5c..62ce6d81526b 100644 --- a/Documentation/devicetree/bindings/dma/spacemit,k1-pdma.yaml +++ b/Documentation/devicetree/bindings/dma/spacemit,k1-pdma.yaml @@ -14,7 +14,9 @@ allOf: =20 properties: compatible: - const: spacemit,k1-pdma + enum: + - spacemit,k1-pdma + - spacemit,k3-pdma =20 reg: maxItems: 1 --=20 2.54.0 From nobody Sat Jun 13 13:35:31 2026 Received: from smtpbguseast2.qq.com (smtpbguseast2.qq.com [54.204.34.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B2B03845BE; Thu, 7 May 2026 10:37:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.204.34.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150244; cv=none; b=rVhfxugZzRPeD8I/Lr/4igApEnhTkEvu4fXKriH00mjzXRhi0r7ZPJ5BBKWZhFhaKnooxRU/cZM4ZHuddxr2KL12xrRD74DhefpE1Yt8YW42FDd7Vm4PkXCVjLOU03hge01a5osSTQ0PqBO0PfJg5xO3Q3C4QkRTHZ/LZ5nUzN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150244; c=relaxed/simple; bh=YVYOiD0eP6yd+UvcXTn6Thio/bo8CvlHL5PvAFWxilc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K+VE3/wGWKL8S/x5MAUILwc7B2HGyWAPli8S1nRrC8eRz1iqyyb5zdwFIWWMfw7a/iVFwEQOdt9SoOfo0sd4hGhgCj6nX7jFzBL2PkCoi8ZjR+3i5Pd6/vKnalRFbhAXgEZtzOq5GYNlY3HUeN3ricfvh1Hsf9cIMoqD7n7FilI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=tpxzY/hs; arc=none smtp.client-ip=54.204.34.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="tpxzY/hs" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1778150198; bh=sHkoX8vNBLMUFbRQgVPu3YGpMESM1FxDTF4U+0Fo1n4=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=tpxzY/hstQ//1xdqH23gVu6cvhH4Vd02UdcR5E8mF5T+Wiw3vSFG2djPMvncm0xWf JR5dGcd7VSQL2rfU+NVlN8Hj8BSw3XxtP1bwPxI6qw2biFlEYPVsNtB4Wem6bLEKGI 9py2IzlCFNIL43vOiei4A42i/IVhf5RfQ3oEFH04= X-QQ-mid: zesmtpgz1t1778150196t9dc38bac X-QQ-Originating-IP: HyHuDtH23EJGYtUrGvw3Xt0V1ggtU5dZGJuwPL6eRKE= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 07 May 2026 18:36:33 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 13784152864614203457 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Thu, 07 May 2026 18:36:21 +0800 Subject: [PATCH v5 2/4] dmaengine: mmp_pdma: support variable extended DRCMR base Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-k3-pdma-v5-2-6b9743038026@linux.spacemit.com> References: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> In-Reply-To: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> To: Vinod Koul , Frank Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Guodong Xu , Michael Turquette , Stephen Boyd , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778150183; l=3360; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=APvYenLY65RU5Mp1C8YoX68L26txn3bZfRsaRT1Gx7A=; b=9n26b2ESPk58g7S8iOWXlY3QbvbgZjTWcp0Blh/Y+1oAhvh5lGVkfOYkPwqnihRNpD31kPN9u 2d5H3avJpEjAtMeT29Jy7M+8HxD5ygVtXpSTCyMBxBglSk1uoI94/fR X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=ed25519; pk=lQa7BzLrq8DfZnChqmwJ5qQk8fP2USmY/4xZ2/MSsXc= X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: NepF8YL2AyLP3FutXeEQXT290QUOWynMV6HjWQ+GnMr9snSrlrfgF0Xu 6nNMNVdUia+X2VvNawOyB4awRgs7mV2Jo91IeeFdJcZLIhh9jTj5JVfaAQrkcwCR5VT2Kql npAfZaCVqfMkVoR7hfGwPcXmsIDPXEg6KkD8V6mEPsiERpB+P3XfBqaY93iWXbd672GDbaL GcmnqYBX4oYf7ltIUQq9i2891e1G+xWcJ0k4eJABbvzHLI5nq2WcU1mvLo7G0ujTqm39P7G 4nGM82XT4X6nBbg2GJqcqNIUmyz1XR0PTkMnNdpiXg2fVoK1M/NKxeUNDYuySGqaC+aqV1c PrcDE44JFyQfWgglHvSPK29b3C1aORGfqQ2HvyCwuz3955KUEs6vbmKRN4eM4jJIEYcfWWi bKIjqtBIg2Ixi67bOxfCsOQoUBLBYHFEy3aNiWB7/ByFEc4ZCv9h6Qk3nnm6RK65QmoFdjY co4lsE4nlDhGMSj+YKqH3mZsvTpZSBfV/zFqsX+bZf2K2SCghwqtag82ESjXt9/kFl17h6f 5aP6ftau6omFjJfE+uka+NiaMIBPx3K+j2gO/+T1dlwodgugT41WXbr2LJrqvCliG6m3o83 0XyPis8l9Rauzkaqs/oC6ftLUgL4XglLKG0bBDQpLXa/xPV8+NEqi+e9NMI771F2ArqKmNp bD6nfTjdfKILZa8GfVMgy2hngyFkJuYQPyrPnv2H8ikegMZKVoeemXVHLe4M42x08cakrcY KtqbKzJU6yWu+e+V4DHMfXVDnINjGd6MOjfWz03Nm7iCtcQf7UCHEqyzl4bOLRjHD770j4+ qx/DeKmuN1fdqvoF3Z0XK26gNUfZWdY1ele5dHyor4I9m7C75rEcmQxbLKY6H/8zP/fnzU/ 6QodaXKu0q1A+5vliCUCpQMsFcw+rHr1FtuEH5/PX90cNGdf4YtC8Txh0BclkSd5iX6TAs2 5flA9p3X3q2TpoOgPr10ycMYzqKVrpmWy5MGebxOe8OSDKM1MBS9TpFsODxeE8WVGWnOEg7 tetVCwMakFYNObZQwvUCroxxKhS0M2gPxfMYxM2+l8wrLxhVahRwDjQoYcuUaEHT0Vf2lK1 bgNVvRl9Ei3bY9p0caywGON+MhX3/GmI2qb0O/qmkeA/Vdj7Sz46BI8vHfdtm4kogQT7kLb beezRGmkvkXoqAE= X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-RECHKSPAM: 0 From: Guodong Xu DRCMR base address for extended DMA request numbers (which means bigger or equal to 64) varies in different PMDA hardware implementation. One such different PDMA implementation is found in SpacemiT's K3. In this patch is for preparation the adding of K3 PDMA support. Signed-off-by: Guodong Xu Signed-off-by: Troy Mitchell --- drivers/dma/mmp_pdma.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index d12e729ee12c..6112369006ee 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -51,7 +51,9 @@ #define DCSR_CMPST BIT(10) /* The Descriptor Compare Status */ #define DCSR_EORINTR BIT(9) /* The end of Receive */ =20 -#define DRCMR(n) ((((n) < 64) ? 0x0100 : 0x1100) + (((n) & 0x3f) << 2)) +#define DRCMR_BASE 0x0100 +#define DRCMR_EXT_BASE_DEFAULT 0x1100 +#define DRCMR_REQ_LIMIT 64 #define DRCMR_MAPVLD BIT(7) /* Map Valid (read / write) */ #define DRCMR_CHLNUM 0x1f /* mask for Channel Number (read / write) */ =20 @@ -154,6 +156,7 @@ struct mmp_pdma_phy { * @run_bits: Control bits in DCSR register for channel start/stop * @dma_width: DMA addressing width in bits (32 or 64). Determines the * DMA mask capability of the controller hardware. + * @drcmr_ext_base: Base DRCMR address for extended requests */ struct mmp_pdma_ops { /* Hardware Register Operations */ @@ -174,6 +177,7 @@ struct mmp_pdma_ops { /* Controller Configuration */ u32 run_bits; u32 dma_width; + u32 drcmr_ext_base; }; =20 struct mmp_pdma_device { @@ -195,6 +199,13 @@ struct mmp_pdma_device { #define to_mmp_pdma_dev(dmadev) \ container_of(dmadev, struct mmp_pdma_device, device) =20 +static u32 mmp_pdma_get_drcmr(struct mmp_pdma_device *pdev, u32 drcmr) +{ + if (drcmr < DRCMR_REQ_LIMIT) + return DRCMR_BASE + (drcmr << 2); + return pdev->ops->drcmr_ext_base + ((drcmr - DRCMR_REQ_LIMIT) << 2); +} + /* For 32-bit PDMA */ static void write_next_addr_32(struct mmp_pdma_phy *phy, dma_addr_t addr) { @@ -301,7 +312,7 @@ static void enable_chan(struct mmp_pdma_phy *phy) =20 pdev =3D to_mmp_pdma_dev(phy->vchan->chan.device); =20 - reg =3D DRCMR(phy->vchan->drcmr); + reg =3D mmp_pdma_get_drcmr(pdev, phy->vchan->drcmr); writel(DRCMR_MAPVLD | phy->idx, phy->base + reg); =20 dalgn =3D readl(phy->base + DALGN); @@ -437,7 +448,7 @@ static void mmp_pdma_free_phy(struct mmp_pdma_chan *pch= an) return; =20 /* clear the channel mapping in DRCMR */ - reg =3D DRCMR(pchan->drcmr); + reg =3D mmp_pdma_get_drcmr(pdev, pchan->drcmr); writel(0, pchan->phy->base + reg); =20 spin_lock_irqsave(&pdev->phy_lock, flags); @@ -1179,6 +1190,7 @@ static const struct mmp_pdma_ops marvell_pdma_v1_ops = =3D { .get_desc_dst_addr =3D get_desc_dst_addr_32, .run_bits =3D (DCSR_RUN), .dma_width =3D 32, + .drcmr_ext_base =3D DRCMR_EXT_BASE_DEFAULT, }; =20 static const struct mmp_pdma_ops spacemit_k1_pdma_ops =3D { @@ -1192,6 +1204,7 @@ static const struct mmp_pdma_ops spacemit_k1_pdma_ops= =3D { .get_desc_dst_addr =3D get_desc_dst_addr_64, .run_bits =3D (DCSR_RUN | DCSR_LPAEEN), .dma_width =3D 64, + .drcmr_ext_base =3D DRCMR_EXT_BASE_DEFAULT, }; =20 static const struct of_device_id mmp_pdma_dt_ids[] =3D { --=20 2.54.0 From nobody Sat Jun 13 13:35:31 2026 Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D745431AA8F; Thu, 7 May 2026 10:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.19.206 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150244; cv=none; b=XUuyrr8Z171h88rSnMd2J2EUnlfzqdlDRC9g2n5yQy5SYa1EEy0OmHJA0jGG5Zpd2c5U9KHdbPD6h8ccydpYWUZ9kS/+wqt2FGVCuD4DiyeIAHTAYcgEiTqRa2XLXwbivE6ZxSH/A3mcjSa7NrGFpSBdh+YFoKi0We8FkaaNSeg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150244; c=relaxed/simple; bh=ESr5oLueEavHIEx5CDfpdUrwWxLz87NQ2AGm9fApLJY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jrCpe5JdvjCybg+Qipl8fxYJxhsA+eMjv2r3kF6hlFqnLZvgI+ZrG7YmRwZMw2utTyhasK1sxCx8b/ODxFaAzaaTAKRHK5Ho0T5VgWs7cKEeso/69lASUZieCP53N3Xfmn8t+vAFS71Bbqnw8yQlYSftdBkkf+Lt5zpbE69X72w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=b/iB98Qx; arc=none smtp.client-ip=54.207.19.206 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="b/iB98Qx" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1778150203; bh=Gj+W+N7im+aQQ8FFJbTvQJn0dNoasXq83/GNhZL6xwU=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=b/iB98Qxr33fDr1N4cROaWUU80Xk0Fi6Y8/cAB1y+t+deRKcfYVeU3AVZxxjCwfxe o4nKoEjH88H13GQRO8NecrgCfkwSHovt08q02jzJrU/uRxZc3WoY5Y092mIV1zyPzh th3q2bpDX2tZGaZXqZ48DkTiwxPUvgy7hSe3C71Q= X-QQ-mid: esmtpgz10t1778150201tb51ce93c X-QQ-Originating-IP: T6++f6lRK+n6ypX3y/ZECT+G0QZ4TApbmsD2W8JptP8= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 07 May 2026 18:36:38 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 4507917310872199054 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Thu, 07 May 2026 18:36:22 +0800 Subject: [PATCH v5 3/4] dmaengine: mmp_pdma: add Spacemit K3 support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-k3-pdma-v5-3-6b9743038026@linux.spacemit.com> References: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> In-Reply-To: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> To: Vinod Koul , Frank Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Guodong Xu , Michael Turquette , Stephen Boyd , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778150183; l=1936; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=0uBBuEM27xA3rpe8lKTZJ07znj6/zACtY5VL6lS0imo=; b=YarURs6eql25oUea+1GkYffFXSwwGIpptcv2PTQdlBIvFqKFVeO0tCYz+0IBNJg4v9KHxiYAg NPYiVM8FyKlB6CkJHZaclYjs1H/4/Ja9bA+oD+WTPnCGhDqM+pVqGZg X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=ed25519; pk=lQa7BzLrq8DfZnChqmwJ5qQk8fP2USmY/4xZ2/MSsXc= X-QQ-SENDSIZE: 520 Feedback-ID: esmtpgz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: MW3wiet0EsO3ZtRRGasWQ0A1hgHuEXzsASyoHuEo8mPrQ+1DfqXpo8t5 fh3tM4KRdJbXdSxsEdRCRNUhr2jsXPr05QJrCHas4cePkQUWWLYb3POKV+DhAsTXw/WTae4 6zWb6hD8+Jkj1O3w7EY48yU5cqyoVv4nPGT1YqO0Hk7uEIBojUrVgZAEBaZgUzP3tKxVo8I Rc4LMBmjIVprC14Dde3LWItqzWw8P1ZyOsGjjUzRTj+Eas5w13J8TfVcuFmBWwcu/xHx/+B gDQhGtE0Bf1fiZ4EBAj1mLvpAuOhfTPtUaCAQE/hNlPHH5V1EBlZacBKzbS7az991S0Dcp/ yTBrph4gwFCO++iQQcor3dhqryQ/bQowUm5K8q/nnKVVg9YA4etT7Cyb4zzv0Z83rBZCWlB PL6Yd7yuX7/SnNMzUX+9wepjQU8+UScLKiBfa72509nDjpfTrSF7P7rNe+mwUoL3MzlyMfq eHcHjsRaHODSgH7uu3xJi8LIgdbhWkEnObzOIIbWhRkQUdmO63KhPg4aCxvxRmR1KJkO0oN UH7jhNdCiO8ncizgnJlr3R+k3uJVO2TTUGqd07czQfpi0Y5+fgT00yKt6y4IDTZs+WMdbQY jwBChB3wXdINsUSDYFg6IcVNjuC26HqBIJtF7V3wksX7iNXVPMUCR4KH0NG8QQ7l9GeycIZ zPegJuUmF/Q390xSJkAXAUSqmG3Gf2vQRl1T3NvJH04J+zUEaWMvJuH+r9mewmzPhJ7PT4x +2A64LOML8AvahrXpBoEVVqOX1QtDXqCcWTqqyHKYHMLZZJbSP44qKaZQc3xssYd1cx1ho4 MJN3SFZC3Of7nNWrDDfBhzyoI8inxfuLI5O4xwChTX9lISXber0P0H4sQihioAGBuVqUMO2 efOVJANAcFJoWEV+ilhiH0cmiiW6aKxG2t2Y+RvNgNgYTVtVa5CdbK7KoSFXwG4HNxPUNer d7hczzfEvx+qZXnprk/JhPWVSQxYF/EhBXjCUqNe+JMgpNvL121feuguyPkIDyEEsSbwSNz 0wwarlz5B62JkS9n8Gu7LMs9PAMIu5dfR/4ApSlKyTI603musngchtz6+yniKm1rFYlJx5Q jCPOoEYqvBYmqxIl8jOX/CCZkY1zjlvBCCvOrx212hjh2cjeeunkq4KapCjfHAWD4gv5gRO l3EsX8Ro+2OOiaI= X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-RECHKSPAM: 0 From: Guodong Xu SpacemiT K3 reuses most of the PDMA IP design found on K1, with one differe= nce being the extended DRCMR base address. This patch adds "spacemit,k3-pdma" compatible string and it defines a new mmp_pdma_ops for k3 pdma. Signed-off-by: Guodong Xu Signed-off-by: Troy Mitchell --- drivers/dma/mmp_pdma.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/dma/mmp_pdma.c b/drivers/dma/mmp_pdma.c index 6112369006ee..386e85cd4882 100644 --- a/drivers/dma/mmp_pdma.c +++ b/drivers/dma/mmp_pdma.c @@ -52,6 +52,7 @@ #define DCSR_EORINTR BIT(9) /* The end of Receive */ =20 #define DRCMR_BASE 0x0100 +#define DRCMR_EXT_BASE_K3 0x1000 #define DRCMR_EXT_BASE_DEFAULT 0x1100 #define DRCMR_REQ_LIMIT 64 #define DRCMR_MAPVLD BIT(7) /* Map Valid (read / write) */ @@ -1207,6 +1208,20 @@ static const struct mmp_pdma_ops spacemit_k1_pdma_op= s =3D { .drcmr_ext_base =3D DRCMR_EXT_BASE_DEFAULT, }; =20 +static const struct mmp_pdma_ops spacemit_k3_pdma_ops =3D { + .write_next_addr =3D write_next_addr_64, + .read_src_addr =3D read_src_addr_64, + .read_dst_addr =3D read_dst_addr_64, + .set_desc_next_addr =3D set_desc_next_addr_64, + .set_desc_src_addr =3D set_desc_src_addr_64, + .set_desc_dst_addr =3D set_desc_dst_addr_64, + .get_desc_src_addr =3D get_desc_src_addr_64, + .get_desc_dst_addr =3D get_desc_dst_addr_64, + .run_bits =3D (DCSR_RUN | DCSR_LPAEEN | DCSR_EORIRQEN | DCSR_EORSTOPEN), + .dma_width =3D 64, + .drcmr_ext_base =3D DRCMR_EXT_BASE_K3, +}; + static const struct of_device_id mmp_pdma_dt_ids[] =3D { { .compatible =3D "marvell,pdma-1.0", @@ -1214,6 +1229,9 @@ static const struct of_device_id mmp_pdma_dt_ids[] = =3D { }, { .compatible =3D "spacemit,k1-pdma", .data =3D &spacemit_k1_pdma_ops + }, { + .compatible =3D "spacemit,k3-pdma", + .data =3D &spacemit_k3_pdma_ops }, { /* sentinel */ } --=20 2.54.0 From nobody Sat Jun 13 13:35:31 2026 Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EB3B3EB7FA; Thu, 7 May 2026 10:37:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=18.169.211.239 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150254; cv=none; b=Nalxsdc/oemVDtvxl5Zcnod2L84kSUZPZm61G2qy4r/xvAo1C+3WCA+ipapF07aoc8DZux4gzZBePq5yuOFBfGM0IRGgiZJuOsFH1pvBWi++CauJj/CeADUGpsJsGS24G0xDUcOVtojdfF7O56BgeTp3MvpXhwpnJ8pqr6/O/oI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778150254; c=relaxed/simple; bh=UcgnyaWra/zqeOQob/WjOC8W7jbkn7uDsfsNgx6yk+o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a2woVOWPHMraeWMPyTNdIQ8VdjWbk5esn7WSOSIKKAqkQZ+eKj7nXjfUaJTUzMhDq3uDkDxzwJhtipdFF7tkNGVaxhCH75nxVeruMaW98ehIhBW+s4UmfaRuJGLokXXc+qz51p1c+z8whgntkN0+a8L28P01bkrhayegqjIMW7k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=e7qjP51o; arc=none smtp.client-ip=18.169.211.239 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="e7qjP51o" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1778150208; bh=q9cTs1Fc6HOosuoCIVUk0fjsfQdYZlWk0msB6oMaeBI=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=e7qjP51oHFqRhM0QkFGh+yVFuQXuHYS/MZTI7rNgDX7WzyXFfBXvP1FVjaOJGfS0b 8ZuHQGOub1EuFeNeSKPFcM95juzlpm//abi2r9IVvkFwVv552HhBgIG07S1yS6r8cv /K4pFKcnr2LRqFQizTAQ3INypZ2Wdjlq1xOv26Vs= X-QQ-mid: esmtpgz11t1778150206t5ab20be1 X-QQ-Originating-IP: psN/mL0pLniw6V4U8YI/jaEoUJmf9vKAuNcqWpa3BiI= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 07 May 2026 18:36:43 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11507075083800382789 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Thu, 07 May 2026 18:36:23 +0800 Subject: [PATCH v5 4/4] riscv: dts: spacemit: Add PDMA controller node for K3 SoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-k3-pdma-v5-4-6b9743038026@linux.spacemit.com> References: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> In-Reply-To: <20260507-k3-pdma-v5-0-6b9743038026@linux.spacemit.com> To: Vinod Koul , Frank Li , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Guodong Xu , Michael Turquette , Stephen Boyd , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778150183; l=1492; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=UcgnyaWra/zqeOQob/WjOC8W7jbkn7uDsfsNgx6yk+o=; b=XOc0zZRuiXiBiZoN2eVYgNvG3zHP41yewOpJ76kQpJJtDH8H28Wf+lkzyIPnXBRVNdV2Q9uMT epKrIm+hSloDkYlvvqetMTtp6dk8M/N/b+DYHGRXVv0cxMCmuaovu3m X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=ed25519; pk=lQa7BzLrq8DfZnChqmwJ5qQk8fP2USmY/4xZ2/MSsXc= X-QQ-SENDSIZE: 520 Feedback-ID: esmtpgz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: MIebQsVGgJ8BS+4hYmiMYCQMGhxTjaYjN9XeuWqmA9lLr8hvfycLy2zG zSYsrg6Yu2lejAIOD0BGXcsBDZ1zKwmNVqw1KodWzUEudn6J2tZhylzFy3JZrnP+8w2haTm Nan/P7xKVSI6OnSWQUthlsinQzYzWKlINUGqFkBFvQYD1Bm/7+OFWJffblUuOdk61ZcJcA0 T1JzApaicm/DM0Wf+pol+BxCr8iQOj1aCBuQmDXHJnrS7VNU4vHx9C/Nwr/7QyFOydAxMQB q644KaG37WsqWK39aSzhsEj9BwUQlp77V8kPJebGfAAWY4OW1mwjCeCYOo1f5R1tfRz0IgV cPrtqMCchLMzAHSDrfzKYgpns8/aZAdRlCaA68NiE98s3Pz0ZO7YF0myzJ2tqNCHF0Rg66Z s+cb7vKNkm2Xqe/ZmSHj5IiINyK8QzO4UeW0u/7CLFcK6opUPSlClMFaWtb+X4KrL7zQZaN qtoVXAPGeCHF48ikq/PPT/vWA6VJ/1dXPM+9WSfRaMRWEKuw8gyfWhv1hErhkRcao1UUUcr UcaR7I+ZpTX9fluZ8pKarkDpq4mVwB51Ajj9cWfeyRk6X8N/4PQjN08T1LJXkAHXW3NwGbl 9fXwn6a4/94xPWAFQzsgvv9MmuQXGxRgO9AsJPdILltZ+qU3v9yYWyQ7tBa15t+Bu1vzBua bIC7+4YwIWG2kzXLsJSH6j2tY+V4pu8O2Pcay8kL7rXMyGO3U6IqUiudWmjbPcSX03DXlMu JTj//pKuJOVU/uG9TVlMBEsxxEsygjgX+zQ/DD2Uxz1K/seCunmjh0JJ3+GwpcjAJErz5dn vXNN6LuFWvnhsf4420U8SFoVQpbAGdqNR0ihPaZ67cZymGNNYgPy/KEry+GChjCKy+xLQsg HASrImQX7iUH1J0gDS4dR9O9FcCVPLC5dimHC0aQbHuWSj8qh1ogB1OwDl/LKVSPI9zyJ6K GwyzZof/AYs1Jq6y3RhiLMZx2qbS6k5tyYeJPXJ9h10CMEIXbaCwxyCHJzkyc3uts3+XDMo izcvPDZuRzgDUbcMUA215mKoIE5ONFBdWKaatz6F+bQJCacYIX/QAdNq1CmBXSXIfam/lKl ND3Pm7Wu4/FCsoDP9JpaFPxGTIMzW+ZRppe4MMB82VS2Kb1p/hz0okKmAwn7RPkpnt5KhD9 kBiF7bSygrlazL3roVKXLSOrKjfp1yCff76d X-QQ-XMRINFO: OD9hHCdaPRBwH5bRRRw8tsiH4UAatJqXfg== X-QQ-RECHKSPAM: 0 Add the Peripheral DMA (PDMA) controller node for the SpacemiT K3 SoC. The PDMA controller provides general-purpose DMA capabilities for various peripheral devices across the system to offload CPU data transfers. Unlike the previous K1 SoC, where some DMA masters had memory addressing limitations (e.g. restricted to the 0-4GB space) requiring a dedicated dma-= bus with dma-ranges to restrict memory allocations, the K3 DMA masters have full memory addressing capabilities. Therefore, the PDMA node is now instantiated directly under the main soc bus. Signed-off-by: Troy Mitchell --- arch/riscv/boot/dts/spacemit/k3.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spa= cemit/k3.dtsi index a3a8ceddabec..cd321975fc18 100644 --- a/arch/riscv/boot/dts/spacemit/k3.dtsi +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi @@ -438,6 +438,17 @@ soc: soc { dma-noncoherent; ranges; =20 + pdma: dma-controller@d4000000 { + compatible =3D "spacemit,k3-pdma"; + reg =3D <0x0 0xd4000000 0x0 0x4000>; + clocks =3D <&syscon_apmu CLK_APMU_DMA>; + resets =3D <&syscon_apmu RESET_APMU_DMA>; + interrupts =3D <72 IRQ_TYPE_LEVEL_HIGH>; + dma-channels =3D <16>; + #dma-cells =3D <1>; + status =3D "disabled"; + }; + syscon_apbc: system-controller@d4015000 { compatible =3D "spacemit,k3-syscon-apbc"; reg =3D <0x0 0xd4015000 0x0 0x1000>; --=20 2.54.0