Changes between Version 8 and Version 9 of Component/Vci Dma
- Timestamp:
- Feb 11, 2008, 6:48:29 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Dma
v8 v9 18 18 This component has 4 memory-mapped registers : 19 19 20 * `DMA_SRC` 21 The physical address of the source buffer.20 * `DMA_SRC` (Read / Write) 21 It defines the physical address of the source buffer. 22 22 23 * `DMA_DST` 24 The physical address of the destination buffer.23 * `DMA_DST` (Read / Write) 24 It defines the physical address of the destination buffer. 25 25 26 * `DMA_LEN` 27 Length of transfer, in bytes. Writing to this register initiates the transfer, you should write to it after src and dst. 26 * `DMA_LEN` (Read / Write) 27 It defines the length of transfer, in bytes. This register must be written after writing into 28 registers DAMA_SRC & DMADSR, as the writing into the DMA_LEN register starts the transfer. 28 29 This register gets back to 0 when transfer is finished. 30 This register can be used to test the DMA coprocessor status. 29 31 30 * `DMA_IRQ_ENABLED` 31 * Writing a non zero value enables the IRQ line. 32 * Writing a zero value resets the IRQ. 33 * Reading a zero value indicates the completion of the transfer 32 * `DMA_RESET` (Write-only) 33 Writing any value into this pseudo-register makes a clean re-initialisation of the DMA coprocessor: 34 The on-going VCI transaction is completed before the coprocessor returns the IDLE state. 35 This write access must be used by the software ISR to aknowledge the DMA IRQ. 36 37 * `DMA_IRQ_DISABLED` (Read / Write) 38 A non zero value disables the IRQ line. The RESET value is zero. 34 39 35 40 For extensibility issues, you should access the DMA using globally-defined offsets. 36 41 37 42 You should include file `soclib/dma.h` from your software, it 38 defines `DMA_SRC`, `DMA_DST`, `DMA_LEN`, `DMA_ IRQ_ENABLED`.43 defines `DMA_SRC`, `DMA_DST`, `DMA_LEN`, `DMA_RESET`, `DMA_IRQ_DISABLED`. 39 44 40 45 Sample code: