[PATCH v3 0/7] Allwinner H6 DMA support

From: ClÃment PÃron
Date: Mon May 27 2019 - 16:18:23 EST


This series has been first proposed by Jernej Skrabec[1].
As this series is mandatory for SPDIF/I2S support and because he is
busy on Cedrus stuff. I asked him to make the minor change requested
and repost it.
Authorship remains to him.

I have tested this series with SPDIF driver and added a patch to enable
DMA_SUN6I_CONFIG for arm64.

Original Post:
DMA engine engine on H6 almost the same as on older SoCs. The biggest
difference is that it has slightly rearranged bits in registers and
it needs additional clock, probably due to iommu.

These patches were tested with I2S connected to HDMI. I2S needs
additional patches which will be sent later.

Please take a look.

Best regards,


Changes since v2:
- Drop the change of "dma-request" default value

Changes since v1:
- Enable DMA_SUN6I in arm64 defconfig
- Change mbus_clk to has_mbus_clk
- Collect Rob H. reviewed-by

ClÃment PÃron (1):
arm64: defconfig: enable Allwinner DMA drivers

Jernej Skrabec (6):
dt-bindings: arm64: allwinner: h6: Add binding for DMA controller
dmaengine: sun6i: Add a quirk for additional mbus clock
dmaengine: sun6i: Add a quirk for setting DRQ fields
dmaengine: sun6i: Add a quirk for setting mode fields
dmaengine: sun6i: Add support for H6 DMA
arm64: dts: allwinner: h6: Add DMA node

.../devicetree/bindings/dma/sun6i-dma.txt | 9 +-
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 12 ++
arch/arm64/configs/defconfig | 1 +
drivers/dma/sun6i-dma.c | 147 +++++++++++++-----
4 files changed, 132 insertions(+), 37 deletions(-)