This patchset enable fsl-edma3 which is used on i.mx8qxp/i.mx8qm. There are big changes on fsl-edma so that add indepent fsl-edma3 here: 1. split memory address for per channel, while all channels share the same memory address and the same control registers CR/INT..etc. 2. all TCD registers of channels are continuous on legacy edma but split on edma3. 3. per interrupt per channel on edma3. 4. totally different register layer and add some register such as SBR 5. power domain support, per domain per channel. The first 4 patches are used for preparing no any function changes involed. Robin Gong (9): dmaengine: fsl-edma: move edma_request functions into drvdata dmaengine: fsl-edma-common: add condition check for fsl_edma_chan_mux dmaengine: fsl-edma-common: add fsl_chan into fsl_edma_fill_tcd dmaengine: fsl-edma-common: export fsl_edma_set_tcd_regs dmaengine: fsl-edma3: add fsl-edma3 driver dt-bindings: dma: add fsl-edma3 yaml firmware: imx: scu-pd: correct dma resource arm64: dts: imx8qxp: add edma2 arm64: configs: defconfig: add CONFIG_FSL_EDMA3 .../devicetree/bindings/dma/nxp,fsl-edma3.yaml | 129 ++++++ arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 38 ++ arch/arm64/configs/defconfig | 1 + drivers/dma/Kconfig | 12 + drivers/dma/Makefile | 1 + drivers/dma/fsl-edma-common.c | 151 +++++-- drivers/dma/fsl-edma-common.h | 30 ++ drivers/dma/fsl-edma.c | 10 +- drivers/dma/fsl-edma3.c | 493 +++++++++++++++++++++ drivers/dma/mcf-edma.c | 2 + drivers/firmware/imx/scu-pd.c | 7 +- 11 files changed, 844 insertions(+), 30 deletions(-) create mode 100644 Documentation/devicetree/bindings/dma/nxp,fsl-edma3.yaml create mode 100644 drivers/dma/fsl-edma3.c -- 2.7.4