DMA engine on H6 is 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, Jernej 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 ++ drivers/dma/sun6i-dma.c | 147 +++++++++++++----- 3 files changed, 131 insertions(+), 37 deletions(-) -- 2.21.0