1
package embox.driver.dma
3
/* @BuildDepends(third_party.bsp.st_bsp_api) */
4
module pl330_dma extends dma_api {
6
/* raspi0 has physical memory base of 0x20000000
9
option number dma0_base = 0x20007000
10
option number dmaF_base = 0x20E05000
12
/* Firmware, depending upon version, is using some
13
* of the channels, earlier ones use 0, 2, 4, 6 and
14
* later ones (Pi 4) use 2, 11, 12, 13, 14. Some testing
15
* and validation on your target is required.
17
* - IRQ to channel: IRQ 16 / DMA 0, 17/1, 18/2, 19/3, 20/4, 21/5
18
* 22/6, 23/7, 24/8, 25/9, 26/A
19
* - IRQ number 27 is shared by channels B thru E
20
* - Channel F does not have an IRQ
21
* - IRQ number 28 also fires for any DMA channel interrupt ( 16 thru 27 )
23
option number dma_default_chan = 3
24
option number dma_default_irq = 19
25
option string log_level="LOG_ERR"
29
@IncludeExport(path="drivers/dma")
32
depends embox.mem.page_api