[RESEND PATCH v5 0/4] Add STM32 DMAMUX support
From: Pierre-Yves MORDRET
Date: Fri Sep 22 2017 - 03:32:57 EST
This patchset adds support for the STM32 DMA multiplexer.
It allows to map any peripheral DMA request to any channel of the product
This IP has been introduced with STM32H7 SoC.
* Set selected channel ID within a lock to avoid race condition.
Release if any error occurs
* Add multi-master ability for STM32 DMAMUX
* Get rid of st,dmamux property and custom API between STM32
DMAMUX and DMA. Bindings has changed.
DMAMUX will read DMA masters from Device Tree from now on.
Merely one DMAMUX node is needed now.
* Only STM32 DMA are allowed to be connected onto DMAMUX
* channelID is computed locally within the driver and crafted in
dma_psec to be passed toward DMA master.
DMAMUX router sorts out which DMA master will serve the
* This version forbids the use of DMA in standalone and DMAMUX at
the same time : all clients need to be connected either on DMA
or DMAMUX ; no mix up
* change compatible to st,stm32h7-dmamux to be mode Soc specific
* add verbosity in dma-cells
Pierre-Yves MORDRET (4):
dt-bindings: Document the STM32 DMAMUX bindings
dmaengine: Add STM32 DMAMUX driver
dt-bindings: stm32-dma: add a property to handle STM32 DMAMUX
ARM: configs: stm32: Add DMAMUX support in STM32 defconfig
.../devicetree/bindings/dma/stm32-dma.txt | 4 +-
.../devicetree/bindings/dma/stm32-dmamux.txt | 84 ++++++
arch/arm/configs/stm32_defconfig | 1 +
drivers/dma/Kconfig | 9 +
drivers/dma/Makefile | 1 +
drivers/dma/stm32-dmamux.c | 327 +++++++++++++++++++++
6 files changed, 425 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/dma/stm32-dmamux.txt
create mode 100644 drivers/dma/stm32-dmamux.c