... | ... | ||
---|---|---|---|
3 | for spi and uart. And add DMA description for uart nodes. | 3 | for spi and uart. And add DMA description for uart nodes. |
4 | 4 | ||
5 | ~# dmesg | grep dma | 5 | ~# dmesg | grep dma |
6 | [ 0.103466] dma-pl330 ffd60000.dma-controller: Loaded driver for PL330 DMAC-241330 | 6 | [ 0.103466] dma-pl330 ffd60000.dma-controller: Loaded driver for PL330 DMAC-241330 |
7 | [ 0.104212] dma-pl330 ffd60000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16 | 7 | [ 0.104212] dma-pl330 ffd60000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16 |
8 | |||
9 | Changes in v2: | ||
10 | Adjust props order | ||
11 | Collect Reviewed-by | ||
8 | 12 | ||
9 | Chukun Pan (3): | 13 | Chukun Pan (3): |
10 | arm64: dts: rockchip: Add missing uart3 interrupt for RK3528 | 14 | arm64: dts: rockchip: Add missing uart3 interrupt for RK3528 |
11 | arm64: dts: rockchip: Add DMA controller for RK3528 | 15 | arm64: dts: rockchip: Add DMA controller for RK3528 |
12 | arm64: dts: rockchip: Add UART DMA support for RK3528 | 16 | arm64: dts: rockchip: Add UART DMA support for RK3528 |
13 | 17 | ||
14 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 29 +++++++++++++++++++++++- | 18 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 29 +++++++++++++++++++++++- |
15 | 1 file changed, 28 insertions(+), 1 deletion(-) | 19 | 1 file changed, 28 insertions(+), 1 deletion(-) |
16 | 20 | ||
17 | -- | 21 | -- |
18 | 2.25.1 | 22 | 2.25.1 | diff view generated by jsdifflib |
1 | The interrupt of uart3 node on rk3528 is missing, fix it. | 1 | The interrupt of uart3 node on rk3528 is missing, fix it. |
---|---|---|---|
2 | 2 | ||
3 | Fixes: 7983e6c379a9 ("arm64: dts: rockchip: Add base DT for rk3528 SoC") | 3 | Fixes: 7983e6c379a9 ("arm64: dts: rockchip: Add base DT for rk3528 SoC") |
4 | Reviewed-by: Yao Zi <ziyao@disroot.org> | ||
4 | Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> | 5 | Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> |
5 | --- | 6 | --- |
6 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 3 ++- | 7 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 3 ++- |
7 | 1 file changed, 2 insertions(+), 1 deletion(-) | 8 | 1 file changed, 2 insertions(+), 1 deletion(-) |
8 | 9 | ||
... | ... | diff view generated by jsdifflib |
... | ... | ||
---|---|---|---|
14 | }; | 14 | }; |
15 | 15 | ||
16 | + dmac: dma-controller@ffd60000 { | 16 | + dmac: dma-controller@ffd60000 { |
17 | + compatible = "arm,pl330", "arm,primecell"; | 17 | + compatible = "arm,pl330", "arm,primecell"; |
18 | + reg = <0x0 0xffd60000 0x0 0x4000>; | 18 | + reg = <0x0 0xffd60000 0x0 0x4000>; |
19 | + clocks = <&cru ACLK_DMAC>; | ||
20 | + clock-names = "apb_pclk"; | ||
19 | + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, | 21 | + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, |
20 | + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, | 22 | + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, |
21 | + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, | 23 | + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, |
22 | + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, | 24 | + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, |
23 | + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, | 25 | + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, |
24 | + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, | 26 | + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, |
25 | + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, | 27 | + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, |
26 | + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, | 28 | + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, |
27 | + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | 29 | + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; |
28 | + arm,pl330-periph-burst; | 30 | + arm,pl330-periph-burst; |
29 | + clocks = <&cru ACLK_DMAC>; | ||
30 | + clock-names = "apb_pclk"; | ||
31 | + #dma-cells = <1>; | 31 | + #dma-cells = <1>; |
32 | + }; | 32 | + }; |
33 | + | 33 | + |
34 | pinctrl: pinctrl { | 34 | pinctrl: pinctrl { |
35 | compatible = "rockchip,rk3528-pinctrl"; | 35 | compatible = "rockchip,rk3528-pinctrl"; |
36 | rockchip,grf = <&ioc_grf>; | 36 | rockchip,grf = <&ioc_grf>; |
37 | -- | 37 | -- |
38 | 2.25.1 | 38 | 2.25.1 | diff view generated by jsdifflib |
1 | The UART ports on RK3528 have DMA capability, describe it. | 1 | The UART ports on RK3528 have DMA capability, describe it. |
---|---|---|---|
2 | Flow control is optional, so dma-names are not added. | 2 | Flow control is optional, so dma-names are not added. |
3 | 3 | ||
4 | Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> | 4 | Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> |
5 | --- | 5 | --- |
6 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 8 ++++++++ | 6 | arch/arm64/boot/dts/rockchip/rk3528.dtsi | 8 ++++++++ |
7 | 1 file changed, 8 insertions(+) | 7 | 1 file changed, 8 insertions(+) |
8 | 8 | ||
9 | diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi | 9 | diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi |
10 | index XXXXXXX..XXXXXXX 100644 | 10 | index XXXXXXX..XXXXXXX 100644 |
11 | --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi | 11 | --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi |
12 | +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi | 12 | +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi |
13 | @@ -XXX,XX +XXX,XX @@ uart0: serial@ff9f0000 { | 13 | @@ -XXX,XX +XXX,XX @@ uart0: serial@ff9f0000 { |
14 | clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; | 14 | clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; |
15 | clock-names = "baudclk", "apb_pclk"; | 15 | clock-names = "baudclk", "apb_pclk"; |
16 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; | 16 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; |
17 | + dmas = <&dmac 8>, <&dmac 9>; | 17 | + dmas = <&dmac 8>, <&dmac 9>; |
18 | reg-io-width = <4>; | 18 | reg-io-width = <4>; |
19 | reg-shift = <2>; | 19 | reg-shift = <2>; |
20 | status = "disabled"; | 20 | status = "disabled"; |
21 | @@ -XXX,XX +XXX,XX @@ uart1: serial@ff9f8000 { | 21 | @@ -XXX,XX +XXX,XX @@ uart1: serial@ff9f8000 { |
22 | clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; | 22 | clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; |
23 | clock-names = "baudclk", "apb_pclk"; | 23 | clock-names = "baudclk", "apb_pclk"; |
24 | interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; | 24 | interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; |
25 | + dmas = <&dmac 10>, <&dmac 11>; | 25 | + dmas = <&dmac 10>, <&dmac 11>; |
26 | reg-io-width = <4>; | 26 | reg-io-width = <4>; |
27 | reg-shift = <2>; | 27 | reg-shift = <2>; |
28 | status = "disabled"; | 28 | status = "disabled"; |
29 | @@ -XXX,XX +XXX,XX @@ uart2: serial@ffa00000 { | 29 | @@ -XXX,XX +XXX,XX @@ uart2: serial@ffa00000 { |
30 | clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; | 30 | clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; |
31 | clock-names = "baudclk", "apb_pclk"; | 31 | clock-names = "baudclk", "apb_pclk"; |
32 | interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; | 32 | interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; |
33 | + dmas = <&dmac 12>, <&dmac 13>; | 33 | + dmas = <&dmac 12>, <&dmac 13>; |
34 | reg-io-width = <4>; | 34 | reg-io-width = <4>; |
35 | reg-shift = <2>; | 35 | reg-shift = <2>; |
36 | status = "disabled"; | 36 | status = "disabled"; |
37 | @@ -XXX,XX +XXX,XX @@ uart3: serial@ffa08000 { | 37 | @@ -XXX,XX +XXX,XX @@ uart3: serial@ffa08000 { |
38 | clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; | 38 | clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; |
39 | clock-names = "baudclk", "apb_pclk"; | 39 | clock-names = "baudclk", "apb_pclk"; |
40 | interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; | 40 | interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; |
41 | + dmas = <&dmac 14>, <&dmac 15>; | 41 | + dmas = <&dmac 14>, <&dmac 15>; |
42 | reg-io-width = <4>; | 42 | reg-io-width = <4>; |
43 | reg-shift = <2>; | 43 | reg-shift = <2>; |
44 | status = "disabled"; | 44 | status = "disabled"; |
45 | @@ -XXX,XX +XXX,XX @@ uart4: serial@ffa10000 { | 45 | @@ -XXX,XX +XXX,XX @@ uart4: serial@ffa10000 { |
46 | clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; | 46 | clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; |
47 | clock-names = "baudclk", "apb_pclk"; | 47 | clock-names = "baudclk", "apb_pclk"; |
48 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | 48 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; |
49 | + dmas = <&dmac 16>, <&dmac 17>; | 49 | + dmas = <&dmac 16>, <&dmac 17>; |
50 | reg-io-width = <4>; | 50 | reg-io-width = <4>; |
51 | reg-shift = <2>; | 51 | reg-shift = <2>; |
52 | status = "disabled"; | 52 | status = "disabled"; |
53 | @@ -XXX,XX +XXX,XX @@ uart5: serial@ffa18000 { | 53 | @@ -XXX,XX +XXX,XX @@ uart5: serial@ffa18000 { |
54 | clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; | 54 | clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; |
55 | clock-names = "baudclk", "apb_pclk"; | 55 | clock-names = "baudclk", "apb_pclk"; |
56 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | 56 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; |
57 | + dmas = <&dmac 18>, <&dmac 19>; | 57 | + dmas = <&dmac 18>, <&dmac 19>; |
58 | reg-io-width = <4>; | 58 | reg-io-width = <4>; |
59 | reg-shift = <2>; | 59 | reg-shift = <2>; |
60 | status = "disabled"; | 60 | status = "disabled"; |
61 | @@ -XXX,XX +XXX,XX @@ uart6: serial@ffa20000 { | 61 | @@ -XXX,XX +XXX,XX @@ uart6: serial@ffa20000 { |
62 | clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; | 62 | clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; |
63 | clock-names = "baudclk", "apb_pclk"; | 63 | clock-names = "baudclk", "apb_pclk"; |
64 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | 64 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; |
65 | + dmas = <&dmac 20>, <&dmac 21>; | 65 | + dmas = <&dmac 20>, <&dmac 21>; |
66 | reg-io-width = <4>; | 66 | reg-io-width = <4>; |
67 | reg-shift = <2>; | 67 | reg-shift = <2>; |
68 | status = "disabled"; | 68 | status = "disabled"; |
69 | @@ -XXX,XX +XXX,XX @@ uart7: serial@ffa28000 { | 69 | @@ -XXX,XX +XXX,XX @@ uart7: serial@ffa28000 { |
70 | clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; | 70 | clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; |
71 | clock-names = "baudclk", "apb_pclk"; | 71 | clock-names = "baudclk", "apb_pclk"; |
72 | interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; | 72 | interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; |
73 | + dmas = <&dmac 22>, <&dmac 23>; | 73 | + dmas = <&dmac 22>, <&dmac 23>; |
74 | reg-io-width = <4>; | 74 | reg-io-width = <4>; |
75 | reg-shift = <2>; | 75 | reg-shift = <2>; |
76 | status = "disabled"; | 76 | status = "disabled"; |
77 | -- | 77 | -- |
78 | 2.25.1 | 78 | 2.25.1 | diff view generated by jsdifflib |