Revision a34da53c30fd7929b2f768bc872b35e172f257d2 authored by Guillaume Revaillot on 12 June 2019, 09:52:04 UTC, committed by Guillaume Revaillot on 08 November 2019, 12:47:41 UTC
DMAMUX peripheral is a dma request router/trigger, present on g0, wb, h7 and l4+.

Basically it allows to easily map peripheral requests to whatever dma channel we
want to use (similarily to the DMA_CSELR register, but without limitation) but,
it also also adds some clever dma request synchronization and even some dma request
generation logic via internal request generator "channels", allowing some requests
chaining, or triggering reqs from non dma capable peripherals.

nb: g0 only features 1 dmamux bloc, supports 7 irq and 4 generators, l4+ supports 13
dma channels and 3 generators and h7 has two dmamuxes, with support for the 15 dma
channels and 7 generators - so as much CxCR and RGxCR register - but they are bit
to bit compatible - excluding of course the sync/sig and dma requests id mappings.
btw, currently, request generator channels are defined in common header, but maybe
we should define them in device header ? or we dont care (like for dma channels,
only defined in dma_f24 but not for other devices ?).

See ST AN5224 for more information
1 parent b9f183b
History
File Mode Size
doc
include
ld
lib
mk
scripts
tests
.gitignore -rw-r--r-- 822 bytes
.travis.yml -rw-r--r-- 272 bytes
COPYING.GPL3 -rw-r--r-- 34.2 KB
COPYING.LGPL3 -rw-r--r-- 7.5 KB
HACKING -rw-r--r-- 3.4 KB
HACKING_COMMON_DOC -rw-r--r-- 3.0 KB
Makefile -rw-r--r-- 3.7 KB
README.md -rw-r--r-- 6.7 KB
locm3.sublime-project -rw-r--r-- 486 bytes

README.md

back to top