/* * @file hv_drv_Dma.h * @brief Header file of misc module. * * @verbatim * ============================================================================== * ##### How to use ##### * ============================================================================== * (+) Use () * * @endverbatim * @author HiView SoC Software Team * @version 1.0.0 * @date 2023-05-11 */ #ifndef _HV_DRV_DMA_H #define _HV_DRV_DMA_H #include "hv_cal_Dma.h" /** @defgroup dma dma * dma mem functions * @{ */ /** @brief dma初始化,选择通道和设置回调函数。type类型0:1个src对应1个dst,size可能超过block_ts,函数内部生成linklist,对应调用Hv_Drv_Dma_MemMove。 * type类型1:多个src对应1个dst,size可能超过block_ts,函数内部生成linklist,对应调用Hv_Drv_Dma_MemMoveArray。 * @self channelparam no. * @param uiType 1:multy src or not。 */ void Hv_Drv_Dma_Init(DmaPortChannel enPortChannelNum,void* Hv_Dma_Callback); /** @brief dma move。 * @self channelparam no. * @param SrcAddr src address。 * @param DstAddr dst address。 * @param Size size to move。 */ void Hv_Drv_Dma_MemMove(DmaPortChannel enPortChannelNum, UINT32 uiSrcAddr, UINT32 uiDstAddr, UINT32 uiSize); /** @brief dma move with multy src。 * @self channelparam no. * @param SrcArray src1 address, src1 size, src2 address, src2 size...。 * @param ArraySize src number。 * @param DstAddr dst address。 */ void Hv_Drv_Dma_MemMoveArray(DmaPortChannel enPortChannelNum, UINT32 *puiSrcArray, UINT32 uiArraySize, UINT32 uiDstAddr); /** @} */ #endif