[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