Lines Matching refs:transfer
617 …nfigChannelSoftwareTCDExt(EDMA_Type *base, edma_tcd_t *tcd, const edma_transfer_config_t *transfer) in EDMA_ConfigChannelSoftwareTCDExt() argument
619 assert(transfer != NULL); in EDMA_ConfigChannelSoftwareTCDExt()
620 assert((transfer->minorLoopBytes % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
621 assert((transfer->minorLoopBytes % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
622 assert(((uint32_t)transfer->srcOffset % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
623 … assert(((uint32_t)transfer->destOffset % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
624 assert((transfer->srcAddr % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
625 assert((transfer->destAddr % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
626 assert((transfer->srcAddr % (1UL << ((uint32_t)transfer->srcAddrModulo))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
627 assert((transfer->destAddr % (1UL << ((uint32_t)transfer->dstAddrModulo))) == 0U); in EDMA_ConfigChannelSoftwareTCDExt()
631 EDMA_TCD_SADDR(tcd, EDMA_TCD_TYPE(base)) = CONVERT_TO_DMA_ADDRESS(transfer->srcAddr); in EDMA_ConfigChannelSoftwareTCDExt()
633 EDMA_TCD_DADDR(tcd, EDMA_TCD_TYPE(base)) = CONVERT_TO_DMA_ADDRESS(transfer->destAddr); in EDMA_ConfigChannelSoftwareTCDExt()
636 DMA_ATTR_SSIZE(transfer->srcTransferSize) | DMA_ATTR_DSIZE(transfer->destTransferSize); in EDMA_ConfigChannelSoftwareTCDExt()
639 EDMA_TCD_SOFF(tcd, EDMA_TCD_TYPE(base)) = (uint16_t)(transfer->srcOffset); in EDMA_ConfigChannelSoftwareTCDExt()
641 EDMA_TCD_DOFF(tcd, EDMA_TCD_TYPE(base)) = (uint16_t)(transfer->destOffset); in EDMA_ConfigChannelSoftwareTCDExt()
643 if (((transfer->enableSrcMinorLoopOffset) || (transfer->enableDstMinorLoopOffset))) in EDMA_ConfigChannelSoftwareTCDExt()
645 … EDMA_TCD_NBYTES(tcd, EDMA_TCD_TYPE(base)) = DMA_NBYTES_MLOFFYES_NBYTES(transfer->minorLoopBytes) | in EDMA_ConfigChannelSoftwareTCDExt()
646 … DMA_NBYTES_MLOFFYES_MLOFF(transfer->minorLoopOffset) | in EDMA_ConfigChannelSoftwareTCDExt()
647 … DMA_NBYTES_MLOFFYES_DMLOE(transfer->enableDstMinorLoopOffset) | in EDMA_ConfigChannelSoftwareTCDExt()
648 … DMA_NBYTES_MLOFFYES_SMLOE(transfer->enableSrcMinorLoopOffset); in EDMA_ConfigChannelSoftwareTCDExt()
652 … EDMA_TCD_NBYTES(tcd, EDMA_TCD_TYPE(base)) = DMA_NBYTES_MLOFFNO_NBYTES(transfer->minorLoopBytes); in EDMA_ConfigChannelSoftwareTCDExt()
656 EDMA_TCD_CITER(tcd, EDMA_TCD_TYPE(base)) = (uint16_t)(transfer->majorLoopCounts); in EDMA_ConfigChannelSoftwareTCDExt()
658 EDMA_TCD_BITER(tcd, EDMA_TCD_TYPE(base)) = (uint16_t)(transfer->majorLoopCounts); in EDMA_ConfigChannelSoftwareTCDExt()
662 if (transfer->linkTCD != NULL) in EDMA_ConfigChannelSoftwareTCDExt()
664 …T_SGA(tcd, EDMA_TCD_TYPE(base)) = CONVERT_TO_DMA_ADDRESS((uint32_t)((uint8_t *)transfer->linkTCD)); in EDMA_ConfigChannelSoftwareTCDExt()
671 EDMA_TCD_DLAST_SGA(tcd, EDMA_TCD_TYPE(base)) = (uint32_t)transfer->dstMajorLoopOffset; in EDMA_ConfigChannelSoftwareTCDExt()
675 …EDMA_TCD_CSR(tcd, EDMA_TCD_TYPE(base)) |= (transfer->enabledInterruptMask & (~(uint16_t)kEDMA_Erro… in EDMA_ConfigChannelSoftwareTCDExt()
678 if (transfer->enableChannelMinorLoopLink) in EDMA_ConfigChannelSoftwareTCDExt()
685 tmpreg |= DMA_CITER_ELINKYES_LINKCH(transfer->minorLoopLinkChannel); in EDMA_ConfigChannelSoftwareTCDExt()
688 tmpreg |= DMA_BITER_ELINKYES_LINKCH(transfer->minorLoopLinkChannel); in EDMA_ConfigChannelSoftwareTCDExt()
692 if (transfer->enableChannelMajorLoopLink) in EDMA_ConfigChannelSoftwareTCDExt()
698 …EDMA_TCD_CSR(tcd, EDMA_TCD_TYPE(base)) = tmpreg | DMA_CSR_MAJORLINKCH(transfer->majorLoopLinkChann… in EDMA_ConfigChannelSoftwareTCDExt()
702 if ((!transfer->enableChannelMajorLoopLink) && (!transfer->enableChannelMinorLoopLink)) in EDMA_ConfigChannelSoftwareTCDExt()
710 EDMA_TCD_SLAST(tcd, EDMA_TCD_TYPE(base)) = (uint32_t)transfer->srcMajorLoopOffset; in EDMA_ConfigChannelSoftwareTCDExt()
714 tmpreg | DMA_ATTR_DMOD(transfer->dstAddrModulo) | DMA_ATTR_SMOD(transfer->srcAddrModulo); in EDMA_ConfigChannelSoftwareTCDExt()
988 void EDMA_ConfigChannelSoftwareTCD(edma_tcd_t *tcd, const edma_transfer_config_t *transfer) in EDMA_ConfigChannelSoftwareTCD() argument
990 assert(transfer != NULL); in EDMA_ConfigChannelSoftwareTCD()
991 assert((transfer->minorLoopBytes % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
992 assert((transfer->minorLoopBytes % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
993 assert(((uint32_t)transfer->srcOffset % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
994 … assert(((uint32_t)transfer->destOffset % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
995 assert((transfer->srcAddr % (1UL << ((uint32_t)transfer->srcTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
996 assert((transfer->destAddr % (1UL << ((uint32_t)transfer->destTransferSize))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
997 assert((transfer->srcAddr % (1UL << ((uint32_t)transfer->srcAddrModulo))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
998 assert((transfer->destAddr % (1UL << ((uint32_t)transfer->dstAddrModulo))) == 0U); in EDMA_ConfigChannelSoftwareTCD()
1002 EDMA_TCD_SADDR(tcd, kEDMA_EDMA4Flag) = CONVERT_TO_DMA_ADDRESS(transfer->srcAddr); in EDMA_ConfigChannelSoftwareTCD()
1004 EDMA_TCD_DADDR(tcd, kEDMA_EDMA4Flag) = CONVERT_TO_DMA_ADDRESS(transfer->destAddr); in EDMA_ConfigChannelSoftwareTCD()
1007 DMA_ATTR_SSIZE(transfer->srcTransferSize) | DMA_ATTR_DSIZE(transfer->destTransferSize); in EDMA_ConfigChannelSoftwareTCD()
1010 EDMA_TCD_SOFF(tcd, kEDMA_EDMA4Flag) = (uint16_t)(transfer->srcOffset); in EDMA_ConfigChannelSoftwareTCD()
1012 EDMA_TCD_DOFF(tcd, kEDMA_EDMA4Flag) = (uint16_t)(transfer->destOffset); in EDMA_ConfigChannelSoftwareTCD()
1014 if (((transfer->enableSrcMinorLoopOffset) || (transfer->enableDstMinorLoopOffset))) in EDMA_ConfigChannelSoftwareTCD()
1016 … EDMA_TCD_NBYTES(tcd, kEDMA_EDMA4Flag) = DMA_NBYTES_MLOFFYES_NBYTES(transfer->minorLoopBytes) | in EDMA_ConfigChannelSoftwareTCD()
1017 … DMA_NBYTES_MLOFFYES_MLOFF(transfer->minorLoopOffset) | in EDMA_ConfigChannelSoftwareTCD()
1018 … DMA_NBYTES_MLOFFYES_DMLOE(transfer->enableDstMinorLoopOffset) | in EDMA_ConfigChannelSoftwareTCD()
1019 … DMA_NBYTES_MLOFFYES_SMLOE(transfer->enableSrcMinorLoopOffset); in EDMA_ConfigChannelSoftwareTCD()
1023 EDMA_TCD_NBYTES(tcd, kEDMA_EDMA4Flag) = DMA_NBYTES_MLOFFNO_NBYTES(transfer->minorLoopBytes); in EDMA_ConfigChannelSoftwareTCD()
1027 EDMA_TCD_CITER(tcd, kEDMA_EDMA4Flag) = (uint16_t)(transfer->majorLoopCounts); in EDMA_ConfigChannelSoftwareTCD()
1029 EDMA_TCD_BITER(tcd, kEDMA_EDMA4Flag) = (uint16_t)(transfer->majorLoopCounts); in EDMA_ConfigChannelSoftwareTCD()
1033 if (transfer->linkTCD != NULL) in EDMA_ConfigChannelSoftwareTCD()
1035 …DLAST_SGA(tcd, kEDMA_EDMA4Flag) = CONVERT_TO_DMA_ADDRESS((uint32_t)((uint8_t *)transfer->linkTCD)); in EDMA_ConfigChannelSoftwareTCD()
1042 EDMA_TCD_DLAST_SGA(tcd, kEDMA_EDMA4Flag) = (uint32_t)transfer->dstMajorLoopOffset; in EDMA_ConfigChannelSoftwareTCD()
1046 …EDMA_TCD_CSR(tcd, kEDMA_EDMA4Flag) |= (transfer->enabledInterruptMask & (~(uint16_t)kEDMA_ErrorInt… in EDMA_ConfigChannelSoftwareTCD()
1049 if (transfer->enableChannelMinorLoopLink) in EDMA_ConfigChannelSoftwareTCD()
1056 tmpreg |= DMA_CITER_ELINKYES_LINKCH(transfer->minorLoopLinkChannel); in EDMA_ConfigChannelSoftwareTCD()
1059 tmpreg |= DMA_BITER_ELINKYES_LINKCH(transfer->minorLoopLinkChannel); in EDMA_ConfigChannelSoftwareTCD()
1063 if (transfer->enableChannelMajorLoopLink) in EDMA_ConfigChannelSoftwareTCD()
1069 … EDMA_TCD_CSR(tcd, kEDMA_EDMA4Flag) = tmpreg | DMA_CSR_MAJORLINKCH(transfer->majorLoopLinkChannel); in EDMA_ConfigChannelSoftwareTCD()
1073 if ((!transfer->enableChannelMajorLoopLink) && (!transfer->enableChannelMinorLoopLink)) in EDMA_ConfigChannelSoftwareTCD()
1081 EDMA_TCD_SLAST(tcd, kEDMA_EDMA4Flag) = (uint32_t)transfer->srcMajorLoopOffset; in EDMA_ConfigChannelSoftwareTCD()
1085 tmpreg | DMA_ATTR_DMOD(transfer->dstAddrModulo) | DMA_ATTR_SMOD(transfer->srcAddrModulo); in EDMA_ConfigChannelSoftwareTCD()
2266 status_t EDMA_SubmitLoopTransfer(edma_handle_t *handle, edma_transfer_config_t *transfer, uint32_t … in EDMA_SubmitLoopTransfer() argument
2268 assert(transfer != NULL); in EDMA_SubmitLoopTransfer()
2305 transfer[i].linkTCD = &handle->tcdPool[i + 1UL]; in EDMA_SubmitLoopTransfer()
2306 EDMA_ConfigChannelSoftwareTCDExt(handle->base, &(handle->tcdPool[i]), &transfer[i]); in EDMA_SubmitLoopTransfer()
2316 transfer[i].linkTCD = &handle->tcdPool[0]; in EDMA_SubmitLoopTransfer()
2317 EDMA_ConfigChannelSoftwareTCDExt(handle->base, &(handle->tcdPool[i]), &transfer[i]); in EDMA_SubmitLoopTransfer()
2320 if (((transfer->enableSrcMinorLoopOffset) || (transfer->enableDstMinorLoopOffset))) in EDMA_SubmitLoopTransfer()
2330 … ((uint32_t)transfer->enabledInterruptMask & ~((uint32_t)kEDMA_ErrorInterruptEnable))); in EDMA_SubmitLoopTransfer()