soc: add initial DMA bus support (optionally provided by CPU(s) for cache coherency).
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 22 Jul 2020 16:43:28 +0000 (18:43 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 22 Jul 2020 16:44:37 +0000 (18:44 +0200)
commitd38048baac06d41f9f887667d08453f5a0b82d93
treeaca0ba1c0c58450ec07a5598c8dbb91dc3c496d9
parent2361abb12dab3099111844db317c71eb9a37d26e
soc: add initial DMA bus support (optionally provided by CPU(s) for cache coherency).

When provided, the modules doing DMA shall connect the DMA to the dma_bus to allow the CPU(s) to manage cache coherency
and avoid the manual cache flushes.

This has been tested with VexRiscv SMP and LiteSDCard doing DMA while loading Linux binaries.
litex/soc/integration/soc.py
litex/soc/software/liblitesdcard/sdcard.c