Changes between Version 2 and Version 3 of Component/Vci Dma
- Timestamp:
- Oct 29, 2007, 2:09:21 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Dma
v2 v3 16 16 = Memory region layout = 17 17 18 * `DMA_SRC` : ADDRESS![3:0] = 0x018 * `DMA_SRC` 19 19 The source of memory copy. 20 20 21 * `DMA_DST` : ADDRESS![3:0] = 0x421 * `DMA_DST` 22 22 The destination of memory copy 23 23 24 * `DMA_LEN` : ADDRESS![3:0] = 0x824 * `DMA_LEN` 25 25 Length of transfer, in bytes. Writing to this register initiates the transfer, you should write to it after src and dst. 26 26 This register gets back to 0 when transfer is finished. 27 27 28 * `DMA_IRQ_ENABLED` : ADDRESS![3:0] = 0xC28 * `DMA_IRQ_ENABLED` 29 29 * Written to: A boolean enabling the IRQ line (0 is disabling) 30 30 * Read from: A boolean indicating the completion of the transfer, (0 is completed) … … 47 47 volatile int *dma = ((int*)dma_address); 48 48 49 dma[DMA_DST] = (uint32_t)dst;50 dma[DMA_SRC] = (uint32_t)src;51 dma[DMA_LEN] = (uint32_t)len;52 while ( dma[DMA_LEN])49 soclib_io_set( dma, DMA_DST, dst ); 50 soclib_io_set( dma, DMA_SRC, src ); 51 soclib_io_set( dma, DMA_LEN, len ); 52 while( soclib_io_get( dma, DMA_LEN ) ) 53 53 ; 54 54 return dst;