#include <twl/mi.h>void MI_NDmaClear( u32 ndmaNo,
void* dest, u32 size );
void MI_NDmaClear_SetUp( u32 ndmaNo,
void* dest, u32 size );
void MI_NDmaClearAsync( u32 dmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg );
void MI_NDmaClearAsync_SetUp( u32 dmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg );
void MI_NDmaClearEx( u32 ndmaNo,
void* dest, u32 size,
MINDmaConfig *config );
void MI_NDmaClearEx_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaConfig *config );
void MI_NDmaClearExAsync( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaConfig *config );
void MI_NDmaClearExAsync_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaConfig *config );
void MI_NDmaClear_Dev( u32 ndmaNo,
void* dest, u32 size,
MINDmaDevice dev );
void MI_NDmaClear_Dev_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaDevice dev );
void MI_NDmaClearAsync_Dev( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaDevice dev );
void MI_NDmaClearAsync_Dev_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaDevice dev );
void MI_NDmaClearEx_Dev( u32 ndmaNo,
void* dest, u32 size,
MINDmaConfig *config,
MINDmaDevice dev );
void MI_NDmaClearEx_Dev_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaConfig *config,
MINDmaDevice dev );
void MI_NDmaClearExAsync_Dev( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaConfig *config,
MINDmaDevice dev );
void MI_NDmaClearExAsync_Dev_SetUp( u32 ndmaNo,
void* dest, u32 size,
MINDmaCallback callback, void* arg,
MINDmaConfig *config,
MINDmaDevice dev );
| ndmaNo | DMA channel to use (0-3 within the new DMA) |
| dest | Transfer destination address |
| size | Transfer size |
| callback | Callback when DMA ends |
| arg | Callback argument when DMA ends |
| config | DMA configuration |
| dev | Device (if starting a device) |
None.
Uses the new DMA to fill with zeroes (clear).
(The *_SetUp functions configure the DMA settings but do not transfer data.)
The MI_NDmaClear* functions use the TWL's new DMA to fill data in word (4-byte) units. The transfer destination address (dest) must be 4-byte aligned. The transfer size (size) needs to be a multiple of 4.
The MI_NDmaClear* functions are the same as as the corresponding MI_NDmaFill* functions except that the data argument is defined as 0. For details, see MI_NDmaFill*.
Uses the new I/O DMA registers.
MI_NDmaFill*
MI_NDmaCopy*
MI_DmaClear*
MI_CpuClear*
MI_NDmaRestart
New NDMA: Overview
2008/11/19 Added the link for MINDmaDevice.
2007/10/31 Added _SetUp.
2007/09/06 Initial version.
CONFIDENTIAL