* [PATCH 0/3] arm64: dts: rockchip: Add DMA controller for RK3528
@ 2025-03-18 10:00 Chukun Pan
2025-03-18 10:00 ` [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt " Chukun Pan
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Chukun Pan @ 2025-03-18 10:00 UTC (permalink / raw)
To: Yao Zi
Cc: Rob Herring, Jonas Karlman, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree, Chukun Pan
First commit adds missing uart3 interrupt for uart3 node.
The next commit adds the DMA controller that can be used
for spi and uart. And add DMA description for uart nodes.
~# dmesg | grep dma
[ 0.103466] dma-pl330 ffd60000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 0.104212] dma-pl330 ffd60000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
Chukun Pan (3):
arm64: dts: rockchip: Add missing uart3 interrupt for RK3528
arm64: dts: rockchip: Add DMA controller for RK3528
arm64: dts: rockchip: Add UART DMA support for RK3528
arch/arm64/boot/dts/rockchip/rk3528.dtsi | 29 +++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt for RK3528
2025-03-18 10:00 [PATCH 0/3] arm64: dts: rockchip: Add DMA controller for RK3528 Chukun Pan
@ 2025-03-18 10:00 ` Chukun Pan
2025-03-18 12:12 ` Yao Zi
2025-03-18 10:00 ` [PATCH 2/3] arm64: dts: rockchip: Add DMA controller " Chukun Pan
2025-03-18 10:00 ` [PATCH 3/3] arm64: dts: rockchip: Add UART DMA support " Chukun Pan
2 siblings, 1 reply; 6+ messages in thread
From: Chukun Pan @ 2025-03-18 10:00 UTC (permalink / raw)
To: Yao Zi
Cc: Rob Herring, Jonas Karlman, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree, Chukun Pan
The interrupt of uart3 node on rk3528 is missing, fix it.
Fixes: 7983e6c379a9 ("arm64: dts: rockchip: Add base DT for rk3528 SoC")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
arch/arm64/boot/dts/rockchip/rk3528.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
index 26c3559d6a6d..7f1ffd6003f5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
@@ -404,9 +404,10 @@ uart2: serial@ffa00000 {
uart3: serial@ffa08000 {
compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
+ reg = <0x0 0xffa08000 0x0 0x100>;
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
clock-names = "baudclk", "apb_pclk";
- reg = <0x0 0xffa08000 0x0 0x100>;
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] arm64: dts: rockchip: Add DMA controller for RK3528
2025-03-18 10:00 [PATCH 0/3] arm64: dts: rockchip: Add DMA controller for RK3528 Chukun Pan
2025-03-18 10:00 ` [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt " Chukun Pan
@ 2025-03-18 10:00 ` Chukun Pan
2025-03-23 21:04 ` Jonas Karlman
2025-03-18 10:00 ` [PATCH 3/3] arm64: dts: rockchip: Add UART DMA support " Chukun Pan
2 siblings, 1 reply; 6+ messages in thread
From: Chukun Pan @ 2025-03-18 10:00 UTC (permalink / raw)
To: Yao Zi
Cc: Rob Herring, Jonas Karlman, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree, Chukun Pan
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..ad77e0ef70f2 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>;
+ 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;
+ clocks = <&cru ACLK_DMAC>;
+ clock-names = "apb_pclk";
+ #dma-cells = <1>;
+ };
+
pinctrl: pinctrl {
compatible = "rockchip,rk3528-pinctrl";
rockchip,grf = <&ioc_grf>;
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] arm64: dts: rockchip: Add UART DMA support for RK3528
2025-03-18 10:00 [PATCH 0/3] arm64: dts: rockchip: Add DMA controller for RK3528 Chukun Pan
2025-03-18 10:00 ` [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt " Chukun Pan
2025-03-18 10:00 ` [PATCH 2/3] arm64: dts: rockchip: Add DMA controller " Chukun Pan
@ 2025-03-18 10:00 ` Chukun Pan
2 siblings, 0 replies; 6+ messages in thread
From: Chukun Pan @ 2025-03-18 10:00 UTC (permalink / raw)
To: Yao Zi
Cc: Rob Herring, Jonas Karlman, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree, Chukun Pan
The UART ports on RK3528 have DMA capability, describe it.
Flow control is optional, so dma-names are not added.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
arch/arm64/boot/dts/rockchip/rk3528.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
index ad77e0ef70f2..1af0d036cf32 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
@@ -375,6 +375,7 @@ uart0: serial@ff9f0000 {
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 8>, <&dmac 9>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -386,6 +387,7 @@ uart1: serial@ff9f8000 {
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 10>, <&dmac 11>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -397,6 +399,7 @@ uart2: serial@ffa00000 {
clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 12>, <&dmac 13>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -408,6 +411,7 @@ uart3: serial@ffa08000 {
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 14>, <&dmac 15>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -419,6 +423,7 @@ uart4: serial@ffa10000 {
clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 16>, <&dmac 17>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -430,6 +435,7 @@ uart5: serial@ffa18000 {
clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 18>, <&dmac 19>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -441,6 +447,7 @@ uart6: serial@ffa20000 {
clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 20>, <&dmac 21>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
@@ -452,6 +459,7 @@ uart7: serial@ffa28000 {
clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&dmac 22>, <&dmac 23>;
reg-io-width = <4>;
reg-shift = <2>;
status = "disabled";
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt for RK3528
2025-03-18 10:00 ` [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt " Chukun Pan
@ 2025-03-18 12:12 ` Yao Zi
0 siblings, 0 replies; 6+ messages in thread
From: Yao Zi @ 2025-03-18 12:12 UTC (permalink / raw)
To: Chukun Pan
Cc: Rob Herring, Jonas Karlman, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree
On Tue, Mar 18, 2025 at 06:00:08PM +0800, Chukun Pan wrote:
> The interrupt of uart3 node on rk3528 is missing, fix it.
>
> Fixes: 7983e6c379a9 ("arm64: dts: rockchip: Add base DT for rk3528 SoC")
> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Yao Zi <ziyao@disroot.org>
Thanks for catching this, seems I messed uart3 up when cleaning the
devicetree.
> ---
> arch/arm64/boot/dts/rockchip/rk3528.dtsi | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> index 26c3559d6a6d..7f1ffd6003f5 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> @@ -404,9 +404,10 @@ uart2: serial@ffa00000 {
>
> uart3: serial@ffa08000 {
> compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
> + reg = <0x0 0xffa08000 0x0 0x100>;
> clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
> clock-names = "baudclk", "apb_pclk";
> - reg = <0x0 0xffa08000 0x0 0x100>;
> + interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
> reg-io-width = <4>;
> reg-shift = <2>;
> status = "disabled";
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] arm64: dts: rockchip: Add DMA controller for RK3528
2025-03-18 10:00 ` [PATCH 2/3] arm64: dts: rockchip: Add DMA controller " Chukun Pan
@ 2025-03-23 21:04 ` Jonas Karlman
0 siblings, 0 replies; 6+ messages in thread
From: Jonas Karlman @ 2025-03-23 21:04 UTC (permalink / raw)
To: Chukun Pan
Cc: Yao Zi, Rob Herring, Heiko Stuebner, Conor Dooley,
Krzysztof Kozlowski, linux-arm-kernel, linux-rockchip,
linux-kernel, devicetree
Hi Chukun,
On 2025-03-18 11:00, 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..ad77e0ef70f2 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>;
> + 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;
> + clocks = <&cru ACLK_DMAC>;
> + clock-names = "apb_pclk";
nitpick:
Please move the clock related props before interrupts to keep prop order
consistent in the rk3528.dtsi-file. See [1] for preferred prop order.
[1] https://docs.kernel.org/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node
Regards,
Jonas
> + #dma-cells = <1>;
> + };
> +
> pinctrl: pinctrl {
> compatible = "rockchip,rk3528-pinctrl";
> rockchip,grf = <&ioc_grf>;
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-03-23 21:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-18 10:00 [PATCH 0/3] arm64: dts: rockchip: Add DMA controller for RK3528 Chukun Pan
2025-03-18 10:00 ` [PATCH 1/3] arm64: dts: rockchip: Add missing uart3 interrupt " Chukun Pan
2025-03-18 12:12 ` Yao Zi
2025-03-18 10:00 ` [PATCH 2/3] arm64: dts: rockchip: Add DMA controller " Chukun Pan
2025-03-23 21:04 ` Jonas Karlman
2025-03-18 10:00 ` [PATCH 3/3] arm64: dts: rockchip: Add UART DMA support " Chukun Pan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).