From nobody Mon May 25 05:54:39 2026 Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) (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 BB6D7219E8; Mon, 18 May 2026 03:33:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.128 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075242; cv=none; b=FW0e8nQkZRYz8oPSsvuUKevo3Ygca9ITyWoXEbjnHv69pkEvY1IgCvzPz1gyb1ipXhBFZC96qV2uYxg5ncaMfNdJWIe0VjtoHDAHZN7Tqtd+F9nliOTLSq2XfUJEkt7IONShuTbP4LIaO8ZgLkLW+AJ953SqWQsjPjHP0R2JE30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075242; c=relaxed/simple; bh=Q7iJZ6VUq1H8Bt3WwDMb4K4clOEXomOap5ooldumwW4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rdSmmMoTwIQ3kD+9tnyB82RyQqx1Dmwiphyf4rzW3sA7QOSyqKqRzJ5u2llxz4W92nZ7gHashZZSE0htBHJJFbc9MZ2kHVA8C6Lh0e2mu4yJlKO/b6TelN1n4HlQb+HHu7zWYhcCwh8yGX16JuMwNCg6WoWApq9Hwqx8sZg5ZAA= 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=Hv+Ec8hg; arc=none smtp.client-ip=54.254.200.128 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="Hv+Ec8hg" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1779075179; bh=gy+vLIjyMT6857Vtois325dTt+YrnhLSIrioPPR6St8=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=Hv+Ec8hgUmMLye2OnkQiMFf6pNZglDWaHNm5otFpf3mbNPl5A1P047LEhZolhwCTL amNTCigG8Og5Y8hmBiSfG0RwyPcS/3cQUE0osyzpbZCpdReQUy3SK/2QcDYkJBNulc F3VaOhavKdoBGuRAeeladZdrp2Ei56vQy+z8hg2M= X-QQ-mid: zesmtpgz9t1779075171tf46ec625 X-QQ-Originating-IP: DRI+fk7/Uf0YrY164m/MNKWpAys+m6hYORxEOfYA7Og= Received: from = ( [61.145.255.150]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 18 May 2026 11:32:47 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 2042237181081148708 EX-QQ-RecipientCnt: 21 From: Troy Mitchell Date: Mon, 18 May 2026 11:32:41 +0800 Subject: [PATCH v6 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: <20260518-k3-pdma-v6-1-67fdf319a8f8@linux.spacemit.com> References: <20260518-k3-pdma-v6-0-67fdf319a8f8@linux.spacemit.com> In-Reply-To: <20260518-k3-pdma-v6-0-67fdf319a8f8@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=1779075161; l=1136; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=yaSmXSO5vYt5nKO5ZoIxkQx6dxueeCXO+Z09BlgFE88=; b=W+5F5yNPpwe5k4aNvILetfG8MTdaq9zRwfU6oC4yYxh+ievsDveayf932kijLZHal5EV7LC30 PZvbYXimU2DAWfDHmLPX+hwbP9b2HvQFH3223XiI8PRhWzmrEK18hCk 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: M8UYpcaD4/AyTVxWAAid9s0jQq/BAhkHQDxth8iqqpCeSeac47mut5LG k6jnognRm1gzKbPOc3aXX9xe2gs6wNeyNVqOzXXOUw7/Vwtciw+PsE0W8Nthm5FLLUCozrd 5qn8yh5MLMjTluoXNLp35PLP+wKza6/8xkvugg82cKVoBNDJXDY+4UJEVsfxPicVwKXRPMq GV4PLya2EFlYNM8gWjllIkwhyPz9eTVR4UkBoxWl/BpI8kWz8+9uFTAQz1sA8e9LM3sfx6F iihIxirk4b6LZ9OusD9HLPIABOLDGeagjIWfxlezfdD1vjzJ7dPGuC53AuLQYrXXbrTy4u/ +USwITUWmmy5WrzO77Kjm+gelIeIg9pNBLoTKxpayctCrHgWrr+TQk89W1qI1Bp1oCXRzAg 3LSl5C43E7XFP30TlVII0x5ZgfwNJhxhaUjSzSaA8b7cfbP9sch3OgeaeH6cIIN+oC3QawA hXiEOAarfuKhwOUFboe/Ydf70Ijo6OWdHEYnOtE5op5lSOXqSPV4e3yDxbBPyoPdByIJxbU f2D7o5s7AKNIOcebZnxA0yE1NDKCOkupGMNFQ4G+DqMXnk8k/7gUWGC+oHnAFs6Hl3nD4w5 2ZdoOgg2r6Th4A7UszCvYzG4VL4piz7XTc4USzY1Aa/aFwK9rX7sSd1/sefx3JO7n488w6e Y43Lw0yS7PyAUyb3oOKpYdZYiWE8jIEdDAPbR9fNkJMJiZcnr7EgnBuGQ6Q3XbEosvph58X 0rwc22E3AFpZzTh3jTsFGeJhkNp1XUNUds0RZchr5z4YXzCE+9v5W414ZCYX4XHPdXoq8LH iu4DA7pIjK59ZeuKE5Yu1bUS1zXPw3SMiUgQWNXV08gc2sjf7dYandyZdCgt69DASOViZUM 7oFJJpA7FGpMm6ZnrfnaGv0Ub0uRmFtPtHY+uulZrJBLjZnxV51Cti4foKcVqZvnft7BrP3 rMjKJq7EZ0ONHPlKDJsrTC82LIo/cEArKz19GiJlKaPL+DPPkJlX860AjgC5MLFsj97rM0/ GSdbhzaDl7+XvEc1NMajSdnA0FeC8DoVV53qtUfUh+G4ihYCAqHWoKspNW0IZstM6yfcoXi 5AQJ6jhkMwEUplRqnF5S3sUsOieLXoyspkW9lWaNyJUqE3QfxC7cxpOKJOIzI5M2Q== X-QQ-XMRINFO: NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg== 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 Mon May 25 05:54:39 2026 Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) (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 452E918C332; Mon, 18 May 2026 03:34:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075281; cv=none; b=HhkCJRqAbDajxaJPM/Ny7umcrEdoYI+Z1pBSwKXrw0ACX6kZFLvFEsqRWruPi55wI31V4SdVqfw3A3iSp6nq7GswL1FRMRBK3XaDeGHYwe7PIgdRAf4tftM8F863CWPRFYsky3Hl37IujDrWjvYCavu36M1APKANq4Z/9E5DNaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075281; c=relaxed/simple; bh=YVMoIbOn6YecIFTQyAsU8tb/SRboDmmgHXX9RODPOg0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i3EbRJUesiuXuGaUze6gmpnsEfRiHywllbEbHsBHZEJ7opLNwVJ81VtIyqdamQtFXLUpYPyP3SL0JNpMmIHATxE7Y0/j/BJOF+LXaqV78P4nY1GvACyZWjhBiYfG24vjyzH10IFJ2s8CpCJbfbSH4BAeD1W3BeJzHNG0ErP0XEs= 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=TWOG/H8D; arc=none smtp.client-ip=54.207.22.56 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="TWOG/H8D" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1779075178; bh=Z+NDK3NBfapxA+/wLVSZ1OD25Ga6fXQEelZnMC4wbss=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=TWOG/H8Dwv6+KVEyJHfUIyJVW3cEiuARpRnGZCo7iNtPDBnF+I3hG0lTX3glpZAZI hFGuagkNJZiO6bjlZo8EhsGWaEFlV9XYpqiisMvvsXanFMekQZ296kdkra7yqLoLGW 5WhzxjP8DVT9lCUUix2mMiDPd/pNznnM9grRjUAA= X-QQ-mid: esmtpgz12t1779075176t83c01d00 X-QQ-Originating-IP: VUNDhWnkeZJ77kznvS5xP4mwVwqnyDjI3vd5qUd1wPs= Received: from = ( [61.145.255.150]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 18 May 2026 11:32:52 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 10048958506194084896 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Mon, 18 May 2026 11:32:42 +0800 Subject: [PATCH v6 2/4] dmaengine: mmp_pdma: refactor DRCMR access with helper function 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: <20260518-k3-pdma-v6-2-67fdf319a8f8@linux.spacemit.com> References: <20260518-k3-pdma-v6-0-67fdf319a8f8@linux.spacemit.com> In-Reply-To: <20260518-k3-pdma-v6-0-67fdf319a8f8@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=1779075161; l=3268; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=w5fmms7zEKXi5LHvgSGTUoseJ2ZgoZsRCQwLD8J9bLo=; b=7+QAaP9dDheYiaDR3fXiR7ADYMKLJL7wXghp43IVvGMcX0gNsUQKHn3u51KGgIceC5QjFevsf b6pofBnEiHjAm5b86z9tWQBIwvLtRWCr5P4O7cE8X9EMlKCuyJzcnTh 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: MsODpb+k04Rn0StkLv8Ifa8lbo4g4sZ74dqN7+jsAIvVXjITl0pTOkYE UFFqFemrc9wGoPL21fkuOFkUAeCwWhUqlgwuM1l9i6Y6rebWVwfCDjkxQi5YTo0ldVPQPl8 x2Q39I7x+HTzyr8YSFmVr2Uu0/rWum9rb6d76IOwl/AYVN7fEQYqEnrvQAVxcEBPJNN7Np9 Osdgim51WylY0icvfncfyyIFWgmkAEPVczcGMz1BkjDGe9M0XYWa6rhLtVH4ONXHOd9Rmi9 Fq6/PGmiwHnhWNsN7shtvCteLxz+DlEN4yBbjORyVFHWzVuePscIUhrLrLXgR5gpqVoHe+q YIXK7o1gO+8rgQbYn8z6mBhUoNtRwIVAPI6crHJcFZ3VsU11Qt6lm3znWEb8eyWeB/cFQs9 9OzKFJhXIyS27zx1qrhl0tSvxXi6VyGFNc7spE9vgdSns/ZNc/FZdx+TbdedNsUAexLivh6 j0My5+sKGRNqTpC4Pg/lyrpniZN79SY1WUM4oQ8CxmjtQ7qrSDluoyM+KCP9FRsDtdDbpUj fAcZyNj5l24gCz5ETwmr7TBxOM8Fa6jYulQ3d7ZoW6By7rxk3jym7AP1+cmMkQpQBlJPyTG iEQorL19s4cNpRfc36wMrnapfCxx7sgxM8/kbo9+43PlQWQuf0LaKQ1rwTyIO1z0huyS0s1 FRxOKipg9zONjuBbks6UhphEnI6FnAbrTc0XSwePBxR/UV/Ct2Ec/jwQTHJZNo+5SrO/KWS /UH+XPdpLSSmupgVsgjsg66ADE8DRk6Ub79oyVeCNoKs0RS5sRqLTToZwPHr0x+QPfwL4wl WFxfVkhtjpjp9lMG97BDqCpbTncTexKV0Xiuj8kjjafuOtndBV+mKneQTUUgDX8wwEJSGTj DKFHjENMADkcV6lg7P9KbGviO5+3AeZ8ZEGZkKJQopEpHfzV7FLsXoaxwueeR10dzQIyCXJ sfxEDzyjDdMm7Xs5WcJSRUYvXczZQwRxc/0UpeWc6NSb+jDyvIJ7BHFN9auUvQnS7O8Vfwq a7YtgI6q/2OOulv3CwlGO6Jal2lYlq9IwkIYtwvFIyPwtVEfCrkv0/0U6nvkwBYrf+I4LFy ypcGx1LdgWHpSQmgSaWtYuwx9QMj269JuquQfSix3v7 X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-RECHKSPAM: 0 From: Guodong Xu Refactor the DRCMR macro into a helper function mmp_pdma_get_drcmr() to support variable extended DRCMR base addresses across different PDMA implementations, such as SpacemiT K3. 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 Mon May 25 05:54:39 2026 Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) (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 89ECF219E8; Mon, 18 May 2026 03:34:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075283; cv=none; b=ViqfgrI4RJSg8KAU903NBvvwLhz1QSN3sot3EtRPSdfcJdgs2ozcieRBR51LP50vADqEAOGObdgoANbpKf+vfwIJcAp5CCK/c53R3XY7ra/0xgCMflLYp2MWN62nyHoTwKBqs4j27BB4KbM9GASq+h11yxcND8Y5lZsvAgT3us8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075283; c=relaxed/simple; bh=puAycFcz82yFFxTESeoUDyIvYXA6gFPsA1uIzewuISc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aChlYf/EfwV5KDR3T4NNRco2dfF29AxbPH0j6WCtFml3hzHd+4VsZZ/4KrchhZ2UEg1h2L2urZgU8okQPQvRgI+qZ1DBXfsftuhc/JNzh/qJP/doa654oOGMErbKlLnVjChLoJaeSxehicWn1fJK/SCHciu8UIAIFSDJ/3yCT2s= 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=dms/x391; arc=none smtp.client-ip=54.207.22.56 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="dms/x391" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1779075183; bh=WEgTcLNT77PCijZFbGfJuG9Q2+FviwpZN+Iidr2F1Pc=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=dms/x391knk1iLj+iJsosBnFkeRnuSDkxVimkvvoAthudCLlWTjArEpD6QtBtgpC+ i0WTwnDVWRSg+TTRY+2zO1crfC39uiYtPL3gBtYVCZlraaPgnzSfRduWvJlJVDUtxk KPvBfgsqqwV4uwKhkrNkbvYHJegm+GfCUoCoq54s= X-QQ-mid: esmtpgz11t1779075181tc414a223 X-QQ-Originating-IP: 4aa4xy6kzyEDn/hB/3pvOYHE+oja7bSXKJIbbQWp0O8= Received: from = ( [61.145.255.150]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 18 May 2026 11:32:57 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 13173599530094016733 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Mon, 18 May 2026 11:32:43 +0800 Subject: [PATCH v6 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: <20260518-k3-pdma-v6-3-67fdf319a8f8@linux.spacemit.com> References: <20260518-k3-pdma-v6-0-67fdf319a8f8@linux.spacemit.com> In-Reply-To: <20260518-k3-pdma-v6-0-67fdf319a8f8@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=1779075161; l=1920; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=4bfDEGXKbTnBfbIASslfHWXUB5uEewAj9IfOGNMEQGU=; b=35O9x039QUshxfCNVAwtdRjrlHUF1XNZmIUopflu/G8cZVfv1HaITKa6Rdeu52LOlSXMh1z0q uVsxDuTNImwDpSV8x+XhBphYQkHsLFMUcdsBIGtHh12i2XneJIF+U8P 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: NJ/2NKTMb5Qh5VVYgj+xtVdQuUR1RKX3qnKZq9B3AJh2fRtOCq5b1Swz QKtQ/3K90NVDlmQOo9vBZhBGUpQSNQLcNx9Ec/I6qTTr2bHwhajPRh3PVkFjdvmvss1qHVj df9DMDcSANIhHzX+mrZ6CHtxc4PlaLxvwtAuLMOVtd8bPuWxuAls3ZeAgO37xLSaj1mwY/Z En/+Tp1qMwcfKuZcHEdCRORK7SXAuUfy2pDIj70tQl1Hy7XTgghSZOwBelW8Ur1/clQpFwi PrGx3IyRaXPZZ9uQXebV//Y/pr6G3X9ztyVIBRQfWxXc5dp5T6ifsaJmXHThOjiCd3ItZSm e78ti6fzwG48mY7DCBJkI4ep+SF06Bd9AC1/yvXuhE028L/n9Lyt7zLSt0ALfnozCcNu9hG H3R/Ck6rfyTDt7tZW3S9H7UpUNAsRZgN7KSTzl72HMCA6BuIjv4jA0UhzBqWFc46PBbkDv9 GzHkL1Xiow6fkO8JX/zW1t+mqgvaLy1KBjuT9g+ZPKfSVXYRy+Nm2lpI49az0HHltgXk2ES q0QgdSN07NnwfaefbJgLyhdGskHSnlbcYVRuGZP5LK0+iZlkCXjydM1mKu6TWdAYuaUeWUj 9W5vvKnD6NORAvLk7WH2YWGlHPx0NjXhplhpnpkK+pT26KNvTs5mo4inb+c0+yk3i48KkJY 2zLM3BfgYzn05TpyZVjICm9zs/BMBiP0Jn65P79uR4YcNsms3rVS201tmA8CXnIzcC0Bn4G FLFGWShHy3jZPi1AoCo+l1BcH1VBRdo9Ex2UPmALyMlf1Rx5sr47oboEikTibycJTiUpqi6 cVnyvpzdVkw5yzA+81bVQ3IgtV4Kbyy7MzYONX6lFsUWm9AVHJIxRCmGr1hG0ncjN3k4Cx3 stIA9xcdjRlik7tc1RIiziDN0PjlsKPCwsx8m1d0NJXI23TJQDovtpM6LHxzjLujuAwRwoS 48pF0V/dUqQlQvZS+pxv1QRm8BDrpU3NcxSfXXKwOnDjzc8G2dQ8x6Z41A8p7OyXg0kGcf4 s0m7i81s/fIP5uhIe2c0XourDfwu0sBnEzlXGIZP1D1tjkL9WhTjkPBDdAC+XtWIeWSCjhq DfZ8QST9UKv2lwhEVSgJQvuYw2ON1RXpaSAz8dwmwJPOAVGVpN7rRqyOA4woSQc5UIHkxiI w2NL X-QQ-XMRINFO: MPJ6Tf5t3I/ylTmHUqvI8+Wpn+Gzalws3A== X-QQ-RECHKSPAM: 0 From: Guodong Xu SpacemiT K3 reuses most of the PDMA IP design found on K1, with one difference being the extended DRCMR base address. Add "spacemit,k3-pdma" compatible string and define 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 Mon May 25 05:54:39 2026 Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) (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 92CD4349B16; Mon, 18 May 2026 03:34:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075281; cv=none; b=j1Bh+h/SG8gBCIQ1mINYT/7yPCla8oxibiAq1xlJW6Ekk2qc9nh33xBeR4qHEuNIW7/OyI5g9xFYdmIfrKpsbN0odXWwiR0yc2sNMrSAYQZX4LpIFyYrJ8AgLoWF7lsJadxPsUICE6MGaGxMo5b/HGHLmwfwgZk/NOEx9TPaSGU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075281; 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=WhrCSVkycFHqeeaTgX7wZIBrMaW9SiCgwD6B0kKOVPZ6pmCtzO7wc4o4WWZtbHIyUEAJtpx2YvcNwg+MQKE+QDqZXIHXlFc9BbDhyOQur/94kIoeZh4hwoHsvUsj974k0GMGOgaOb98sbo7mZNV8Cab+SxBii41Gb/+hWWQhyE4= 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=KgAKrE+O; arc=none smtp.client-ip=54.206.16.166 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="KgAKrE+O" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1779075188; bh=q9cTs1Fc6HOosuoCIVUk0fjsfQdYZlWk0msB6oMaeBI=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=KgAKrE+OhCymuix1/hRI1S8yc8ga6RiqWlfK3jAHB+YC+dWRf7AtRaHoT1g1MWUUX EnO4rx67YfvpuT5WNUIPGZxQPcjSFY/fgMkyoS0lfd/DfjVIOBqGMDsW8w4oAPuQcf 5MWtcg6NtJ2Iq9bUY1Mmhs92G+txtxhh9VI0Y3s8= X-QQ-mid: esmtpgz11t1779075186t3848c393 X-QQ-Originating-IP: uPvjKO1t2KTQ8lO9f/xBXIPU/kPKelDT33PkQW+MWR8= Received: from = ( [61.145.255.150]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 18 May 2026 11:33:02 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 16121621445768738612 EX-QQ-RecipientCnt: 20 From: Troy Mitchell Date: Mon, 18 May 2026 11:32:44 +0800 Subject: [PATCH v6 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: <20260518-k3-pdma-v6-4-67fdf319a8f8@linux.spacemit.com> References: <20260518-k3-pdma-v6-0-67fdf319a8f8@linux.spacemit.com> In-Reply-To: <20260518-k3-pdma-v6-0-67fdf319a8f8@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=1779075161; l=1492; i=troy.mitchell@linux.spacemit.com; s=20250710; h=from:subject:message-id; bh=UcgnyaWra/zqeOQob/WjOC8W7jbkn7uDsfsNgx6yk+o=; b=gXXQW9P/zgQmIjJbTvYrldNydgUQ0POX1snKO+9oVuYzksb/se1r6RLbcyExplsG0Fr3Rofn1 cD1g2gSAK/iDRuFZEXW1s8lE3NZkpBrVZIA3u20NvOouy8aU1cHk1Tb 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: N61MakLYUF4qyv5S5dKmpzAi9Um4L+jP7FpVxJLaQU4MvtKI+OBYB4V8 GlJll9vq2INCVBD9dfHZ1yW1ongAX9AUWiYGpkkDh6cjPhx7OHf5GI+65hIipNpG1dx9IQx VfjD08dqB+0k2TqHwjOUvuts8h7IHXlxrEdOnciJLm2N9k3IjXZJE/HPn43NXWwFQpFNf12 eSvD2tvrf4+iaqUSXkBW8mZJRIHmt4MmMfPmlVfTrCrDNicOHKQsozIUSPNqhj0DpiKHP+j yhLx26JM4j1DtYSyA5bleRJfbFs5Vo1wazO/sbeIF4TNch5zCpIFYPpIXVgLMYT9oHQTGwC pWI3yjQHWvzAF2CGSRRn8bOVxQygOZsXkw4uEtusUwl+CZ3SSh4ZzADgXfX8cbYOrnRPDNM fGrIqkt0CDyOQb9BW8J/9iHFf9WqNvzRyzXRiEbZA8sg9fXH1lG9+HLrpGAcoRzd/UDMC78 c5LaRkEcJpSY6/Duc0ACfFY2GUj5xMsJ9JPWAwFQVz/ZkhEsZ6x8y5ief+9OBVH8OzInBOu lZ4sk5sfhm8wOSxFDuRWSYHjWnGWi+Lzoa8PSap8U7Ob2e5RBZSRSqIE6SjeAsyuGrUaoEb y26+Kf4tna2yxp5jAj4kRSfOtUD8YqEjGmldQBMh9W01S0QCm+cB4FSMyNBY/8GR9kHObcn wBRQKf9fgXTgBL2RzMSkVDnlISR+++F3zVDOKHXRLWTdUA1TXl/8pme5ykbqbyGkWVBj7fR XJJU+BAeLNUFtLxyJwVomyp5NyprDwiECcxaSUR5++3TwDoh/2K0RqdKOukQBTRjphURQH7 dOGYEtSpuyRZ+HFJ0z6xatWPwKqDgkaJlcvx/aMxsPbU0heKcVaPLnRg33hy6n8y/ttzHm4 cTquZ8baumLdNMncwf6feKzTLFLKSlJJsMxNCSzyaqrx7BcasJnMPnVDQoaqSOzTNn06Ktz 8HzZN0VpixbVpud+6rSCiz5xlt8Bc7sMJodPgYYwYYPbxFs+QYW85vbBvPHvS/5W0cL1ENa xn8+f8/s9sCc9F1OkIqMSD+EJ6gPdm/AyMJjD3AddxjO7YgWP8OXkEFK22zvG3eItXLybc7 R5py1SdkPQiMtMBVpk0zo8iWe/BteVcdQTEygXOR+swFxQPUr29JIHiW4cphg/jpQ== X-QQ-XMRINFO: M/715EihBoGS47X28/vv4NpnfpeBLnr4Qg== 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