[PATCH 0/2] ARM: dts: sun8i: r40: Enable DMA

23 views
Skip to first unread message

Jernej Skrabec

unread,
Aug 25, 2020, 6:00:39 AM8/25/20
to rob...@kernel.org, mri...@kernel.org, we...@csie.org, vk...@kernel.org, dmae...@vger.kernel.org, devic...@vger.kernel.org, linux-ar...@lists.infradead.org, linux-...@vger.kernel.org, linux...@googlegroups.com
Allwinner R40 contains DMA engine similar to that in A64.

Following two patches enable it so DMA users can be added later.

Please take a look.

Best regards,
Jernej

Jernej Skrabec (2):
dt-bindings: dma: allwinner,sun50i-a64-dma: Add R40 compatible
ARM: dts: sun8i: r40: Add DMA node

.../bindings/dma/allwinner,sun50i-a64-dma.yaml | 9 ++++++---
arch/arm/boot/dts/sun8i-r40.dtsi | 12 ++++++++++++
2 files changed, 18 insertions(+), 3 deletions(-)

--
2.28.0

Jernej Skrabec

unread,
Aug 25, 2020, 6:00:42 AM8/25/20
to rob...@kernel.org, mri...@kernel.org, we...@csie.org, vk...@kernel.org, dmae...@vger.kernel.org, devic...@vger.kernel.org, linux-ar...@lists.infradead.org, linux-...@vger.kernel.org, linux...@googlegroups.com
R40 has DMA engine which is basically the same as that in A64, with only
known difference being number of request sources and number of channels.

Add compatible for it.

Signed-off-by: Jernej Skrabec <jernej....@siol.net>
---
.../bindings/dma/allwinner,sun50i-a64-dma.yaml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml b/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml
index 9e53472be194..372679dbd216 100644
--- a/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml
@@ -19,9 +19,12 @@ properties:
description: The cell is the request line number.

compatible:
- enum:
- - allwinner,sun50i-a64-dma
- - allwinner,sun50i-h6-dma
+ oneOf:
+ - const: allwinner,sun50i-a64-dma
+ - const: allwinner,sun50i-h6-dma
+ - items:
+ - const: allwinner,sun8i-r40-dma
+ - const: allwinner,sun50i-a64-dma

reg:
maxItems: 1
--
2.28.0

Jernej Skrabec

unread,
Aug 25, 2020, 6:00:44 AM8/25/20
to rob...@kernel.org, mri...@kernel.org, we...@csie.org, vk...@kernel.org, dmae...@vger.kernel.org, devic...@vger.kernel.org, linux-ar...@lists.infradead.org, linux-...@vger.kernel.org, linux...@googlegroups.com
Allwinner R40 SoC has DMA with 16 channels and 31 request sources.

Add a node for it.

Signed-off-by: Jernej Skrabec <jernej....@siol.net>
---
arch/arm/boot/dts/sun8i-r40.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
index b82031b19893..d481fe7989b8 100644
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
@@ -198,6 +198,18 @@ nmi_intc: interrupt-controller@1c00030 {
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
};

+ dma: dma-controller@1c02000 {
+ compatible = "allwinner,sun8i-r40-dma",
+ "allwinner,sun50i-a64-dma";
+ reg = <0x01c02000 0x1000>;
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_DMA>;
+ dma-channels = <16>;
+ dma-requests = <31>;
+ resets = <&ccu RST_BUS_DMA>;
+ #dma-cells = <1>;
+ };
+
spi0: spi@1c05000 {
compatible = "allwinner,sun8i-r40-spi",
"allwinner,sun8i-h3-spi";
--
2.28.0

Reply all
Reply to author
Forward
0 new messages