[PATCH v3 0/5] dmaengine: Add Peripheral DMA support for SpacemiT K3 SoC
Troy Mitchell
troymitchell988 at gmail.com
Fri Apr 24 06:58:27 PDT 2026
Apologies, I just realized the version number is incorrect.
This patchset should be v4.
- Troy
On Fri Apr 24, 2026 at 4:20 PM CST, Troy Mitchell wrote:
> Hi all,
>
> This patch series introduces Peripheral DMA (PDMA) support for the
> SpacemiT K3 SoC, leveraging the existing mmp_pdma driver.
>
> The K3 PDMA IP is largely based on the design found in the previous
> SpacemiT K1 SoC, but introduces a few key architectural differences:
> 1. It features a variable extended DRCMR base address for DMA request
> numbers (>= 64) depending on the hardware implementation.
> 2. Unlike the K1 SoC, where some DMA masters had memory addressing
> limitations (requiring a dedicated dma-bus), the K3 DMA masters
> have full memory addressing capabilities.
>
> The series is structured as follows:
> - Patch 1: Introduce the necessary dt-bindings: K3 compatible string.
> - Patch 2-3: Refactor the mmp_pdma driver to support variable extended
> DRCMR bases, and add the specific implementation/ops for the K3 SoC.
> - Patch 4: Fixes a critical clock issue where the DDR bus clock
> (top_dclk) could be gated by CCF, which would cause DMA engines to
> hang and lead to system instability.
> - Patch 5: Finally, instantiates the PDMA controller node in the
> SpacemiT K3 device tree.
>
> ---
> Changes in v4:
> - patch 4/5:
> - add Brian's RB tag
> - patch 1/5:
> - update commit message
> Link to v3: https://lore.kernel.org/all/20260331-k3-pdma-v3-0-a4e60dd8b4b3@linux.spacemit.com/
>
> Changes in v3:
> - Removed the dt-bindings patches related to the DMA number.
> - patch 1/5:
> - update commit message
> - patch 2-5: nothing
> - Link to v2: https://lore.kernel.org/r/20260326-k3-pdma-v2-0-ca94ca7bb595@linux.spacemit.com
>
> Changes in v2:
> - patch 1-6 are added in this version
> - patch 7/7
> - update commit message
> - using k3 compatible string
> - Link to v1: https://lore.kernel.org/all/20260317-k3-pdma-v1-1-f39d3e97b53a@linux.spacemit.com/
>
> ---
> Guodong Xu (3):
> dt-bindings: dmaengine: Add SpacemiT K3 DMA compatible string
> dmaengine: mmp_pdma: support variable extended DRCMR base
> dmaengine: mmp_pdma: add Spacemit K3 support
>
> Troy Mitchell (2):
> clk: spacemit: k3: mark top_dclk as CLK_IS_CRITICAL
> riscv: dts: spacemit: Add PDMA controller node for K3 SoC
>
> .../devicetree/bindings/dma/spacemit,k1-pdma.yaml | 4 ++-
> arch/riscv/boot/dts/spacemit/k3.dtsi | 11 +++++++
> drivers/clk/spacemit/ccu-k3.c | 2 +-
> drivers/dma/mmp_pdma.c | 37 ++++++++++++++++++++--
> 4 files changed, 49 insertions(+), 5 deletions(-)
> ---
> base-commit: 02f90981a67f3b9ee7d6684e7503a4fed7aade0c
> change-id: 20260317-k3-pdma-7c1734431436
>
> Best regards,
> --
> Troy Mitchell <troy.mitchell at linux.spacemit.com>
More information about the linux-riscv
mailing list