Add DMA controller dt node for RK3528 SoC.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
arch/arm64/boot/dts/rockchip/rk3528.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
index 7f1ffd6003f5..c366766ee3f5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
@@ -493,6 +493,24 @@ sdhci: mmc@ffbf0000 {
status = "disabled";
};
+ dmac: dma-controller@ffd60000 {
+ compatible = "arm,pl330", "arm,primecell";
+ reg = <0x0 0xffd60000 0x0 0x4000>;
+ clocks = <&cru ACLK_DMAC>;
+ clock-names = "apb_pclk";
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+ arm,pl330-periph-burst;
+ #dma-cells = <1>;
+ };
+
pinctrl: pinctrl {
compatible = "rockchip,rk3528-pinctrl";
rockchip,grf = <&ioc_grf>;
--
2.25.1
On Tue, Apr 01, 2025 at 06:00:19PM +0800, Chukun Pan wrote: > Add DMA controller dt node for RK3528 SoC. > > Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> > --- > arch/arm64/boot/dts/rockchip/rk3528.dtsi | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi > index 7f1ffd6003f5..c366766ee3f5 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi > @@ -493,6 +493,24 @@ sdhci: mmc@ffbf0000 { > status = "disabled"; > }; > > + dmac: dma-controller@ffd60000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x0 0xffd60000 0x0 0x4000>; > + clocks = <&cru ACLK_DMAC>; > + clock-names = "apb_pclk"; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; > + arm,pl330-periph-burst; Should this be moved above "clocks" line to sort the properties? Thanks, Yao Zi > + #dma-cells = <1>; > + }; > + > pinctrl: pinctrl { > compatible = "rockchip,rk3528-pinctrl"; > rockchip,grf = <&ioc_grf>; > -- > 2.25.1 >
On 2025-04-01 19:35, Yao Zi wrote: > On Tue, Apr 01, 2025 at 06:00:19PM +0800, Chukun Pan wrote: >> Add DMA controller dt node for RK3528 SoC. >> >> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> >> --- >> arch/arm64/boot/dts/rockchip/rk3528.dtsi | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi >> index 7f1ffd6003f5..c366766ee3f5 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi >> +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi >> @@ -493,6 +493,24 @@ sdhci: mmc@ffbf0000 { >> status = "disabled"; >> }; >> >> + dmac: dma-controller@ffd60000 { >> + compatible = "arm,pl330", "arm,primecell"; >> + reg = <0x0 0xffd60000 0x0 0x4000>; >> + clocks = <&cru ACLK_DMAC>; >> + clock-names = "apb_pclk"; >> + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; >> + arm,pl330-periph-burst; > > Should this be moved above "clocks" line to sort the properties? Not preferred according to [1], vendor-prefixed props is ordered after non-vendor-prefixed props. """ The following order of properties in device nodes is preferred: - "compatible" - "reg" - "ranges" - Standard/common properties (defined by common bindings, e.g. without vendor-prefixes) - Vendor-specific properties - "status" (if applicable) - Child nodes, where each node is preceded with a blank line The "status" property is by default "okay", thus it can be omitted. The above-described ordering follows this approach: - Most important properties start the node: compatible then bus addressing to match unit address. - Each node will have common properties in similar place. - Status is the last information to annotate that device node is or is not finished (board resources are needed). """ [1] https://docs.kernel.org/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node Regards, Jonas > > Thanks, > Yao Zi > >> + #dma-cells = <1>; >> + }; >> + >> pinctrl: pinctrl { >> compatible = "rockchip,rk3528-pinctrl"; >> rockchip,grf = <&ioc_grf>; >> -- >> 2.25.1 >>
© 2016 - 2025 Red Hat, Inc.