int dmacHw_initChannel(dmacHw_HANDLE_t handle ) { dmacHw_CBLK_t *pCblk = dmacHw_HANDLE_TO_CBLK(handle); int module = pCblk->module; int channel = pCblk->channel; memset((void *)pCblk, 0, sizeof(dmacHw_CBLK_t)); pCblk->module = module; pCblk->channel = channel; dmacHw_DMA_ENABLE(pCblk->module); dmacHw_RESET_CONTROL_LO(pCblk->module, pCblk->channel); dmacHw_RESET_CONTROL_HI(pCblk->module, pCblk->channel); dmacHw_RESET_CONFIG_LO(pCblk->module, pCblk->channel); dmacHw_RESET_CONFIG_HI(pCblk->module, pCblk->channel); dmacHw_TRAN_INT_CLEAR(pCblk->module, pCblk->channel); dmacHw_BLOCK_INT_CLEAR(pCblk->module, pCblk->channel); dmacHw_ERROR_INT_CLEAR(pCblk->module, pCblk->channel); dmacHw_TRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_BLOCK_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_STRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_DTRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_ERROR_INT_DISABLE(pCblk->module, pCblk->channel); return 0; }
int dmacHw_initChannel(dmacHw_HANDLE_t handle /* [ IN ] DMA Channel handle */ ) { dmacHw_CBLK_t *pCblk = dmacHw_HANDLE_TO_CBLK(handle); int module = pCblk->module; int channel = pCblk->channel; /* Reinitialize the control block */ memset((void *)pCblk, 0, sizeof(dmacHw_CBLK_t)); pCblk->module = module; pCblk->channel = channel; /* Enable DMA controller */ dmacHw_DMA_ENABLE(pCblk->module); /* Reset DMA channel */ dmacHw_RESET_CONTROL_LO(pCblk->module, pCblk->channel); dmacHw_RESET_CONTROL_HI(pCblk->module, pCblk->channel); dmacHw_RESET_CONFIG_LO(pCblk->module, pCblk->channel); dmacHw_RESET_CONFIG_HI(pCblk->module, pCblk->channel); /* Clear all raw interrupt status */ dmacHw_TRAN_INT_CLEAR(pCblk->module, pCblk->channel); dmacHw_BLOCK_INT_CLEAR(pCblk->module, pCblk->channel); dmacHw_ERROR_INT_CLEAR(pCblk->module, pCblk->channel); /* Mask event specific interrupts */ dmacHw_TRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_BLOCK_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_STRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_DTRAN_INT_DISABLE(pCblk->module, pCblk->channel); dmacHw_ERROR_INT_DISABLE(pCblk->module, pCblk->channel); return 0; }