]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: dts: spacemit: Add PDMA controller node for K3 SoC
authorTroy Mitchell <troy.mitchell@linux.spacemit.com>
Mon, 18 May 2026 03:32:44 +0000 (11:32 +0800)
committerYixun Lan <dlan@kernel.org>
Wed, 20 May 2026 07:58:12 +0000 (07:58 +0000)
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 <troy.mitchell@linux.spacemit.com>
Link: https://patch.msgid.link/20260518-k3-pdma-v6-4-67fdf319a8f8@linux.spacemit.com
Signed-off-by: Yixun Lan <dlan@kernel.org>
arch/riscv/boot/dts/spacemit/k3.dtsi

index 23cca70f796be2e1a1dc3265c280d841c8424f70..d4be8de8fc6cc93f106f78de98c08f929bd9da2b 100644 (file)
                        };
                };
 
+               pdma: dma-controller@d4000000 {
+                       compatible = "spacemit,k3-pdma";
+                       reg = <0x0 0xd4000000 0x0 0x4000>;
+                       clocks = <&syscon_apmu CLK_APMU_DMA>;
+                       resets = <&syscon_apmu RESET_APMU_DMA>;
+                       interrupts = <72 IRQ_TYPE_LEVEL_HIGH>;
+                       dma-channels = <16>;
+                       #dma-cells = <1>;
+                       status = "disabled";
+               };
+
                i2c0: i2c@d4010800 {
                        compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
                        reg = <0x0 0xd4010800 0x0 0x38>;