This patchset aims to update the dma engine for BCM* chipset with respect to current advancements in downstream vendor tree. In particular: * Added support for BCM2712 DMA. * Extended DMA addressing to 40 bit. Since BCM2711 also supports 40 bit addressing, it will also benefit from the update. * Handled the devicetree node from vendor dts (e.g. "dma40"). The only difference between the application of this patch and the relative code in vendor tree is the dropping of channel reservation for BCM2708 DMA legacy driver, that seems to have not made its way to upstream anyway, and it's probably used only from deprecated subsystems. Compile tested and runtime tested on RPi4B only. Dom Cobley (4): bcm2835-dma: Support dma flags for multi-beat burst bcm2835-dma: Need to keep PROT bits set in CS on 40bit controller dmaengine: bcm2835: Rename to_bcm2711_cbaddr to to_40bit_cbaddr bcm2835-dma: Fixes for dma_abort Maxime Ripard (2): dmaengine: bcm2835: Use to_bcm2711_cbaddr where relevant dmaengine: bcm2835: Support DMA-Lite channels Phil Elwell (6): bcm2835-dma: Add support for per-channel flags bcm2835-dma: Add proper 40-bit DMA support bcm2835-dma: Add NO_WAIT_RESP, DMA_WIDE_SOURCE and DMA_WIDE_DEST flag bcm2835-dma: Advertise the full DMA range bcm2835-dma: Derive slave DMA addresses correctly dmaengine: bcm2835: Add BCM2712 support drivers/dma/bcm2835-dma.c | 701 ++++++++++++++++++++++++++++++++------ 1 file changed, 588 insertions(+), 113 deletions(-) -- 2.41.0