Lines Matching refs:tcd
91 void EDMA_AD_InstallTCD(DMA_AD_Type *base, uint32_t channel, edma_tcd_t *tcd) in EDMA_AD_InstallTCD() argument
94 assert(tcd != NULL); in EDMA_AD_InstallTCD()
95 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_InstallTCD()
98 base->CH[channel].TCD_SADDR = tcd->SADDR; in EDMA_AD_InstallTCD()
99 base->CH[channel].TCD_SOFF = tcd->SOFF; in EDMA_AD_InstallTCD()
100 base->CH[channel].TCD_ATTR = tcd->ATTR; in EDMA_AD_InstallTCD()
101 base->CH[channel].TCD_NBYTES_MLOFFNO = tcd->NBYTES; in EDMA_AD_InstallTCD()
102 base->CH[channel].TCD_SLAST_SDA = tcd->SLAST; in EDMA_AD_InstallTCD()
103 base->CH[channel].TCD_DADDR = tcd->DADDR; in EDMA_AD_InstallTCD()
104 base->CH[channel].TCD_DOFF = tcd->DOFF; in EDMA_AD_InstallTCD()
105 base->CH[channel].TCD_CITER_ELINKNO = tcd->CITER; in EDMA_AD_InstallTCD()
106 base->CH[channel].TCD_DLAST_SGA = tcd->DLAST_SGA; in EDMA_AD_InstallTCD()
109 base->CH[channel].TCD_CSR = tcd->CSR; in EDMA_AD_InstallTCD()
110 base->CH[channel].TCD_BITER_ELINKNO = tcd->BITER; in EDMA_AD_InstallTCD()
444 void EDMA_AD_TcdReset(edma_tcd_t *tcd) in EDMA_AD_TcdReset() argument
446 assert(tcd != NULL); in EDMA_AD_TcdReset()
447 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_TcdReset()
450 tcd->SADDR = 0U; in EDMA_AD_TcdReset()
451 tcd->SOFF = 0U; in EDMA_AD_TcdReset()
452 tcd->ATTR = 0U; in EDMA_AD_TcdReset()
453 tcd->NBYTES = 0U; in EDMA_AD_TcdReset()
454 tcd->SLAST = 0U; in EDMA_AD_TcdReset()
455 tcd->DADDR = 0U; in EDMA_AD_TcdReset()
456 tcd->DOFF = 0U; in EDMA_AD_TcdReset()
457 tcd->CITER = 0U; in EDMA_AD_TcdReset()
458 tcd->DLAST_SGA = 0U; in EDMA_AD_TcdReset()
460 tcd->CSR = DMA_TCD_CSR_DREQ(1U); in EDMA_AD_TcdReset()
461 tcd->BITER = 0U; in EDMA_AD_TcdReset()
494 void EDMA_AD_TcdSetTransferConfig(edma_tcd_t *tcd, const edma_transfer_config_t *config, edma_tcd_t… in EDMA_AD_TcdSetTransferConfig() argument
496 assert(tcd != NULL); in EDMA_AD_TcdSetTransferConfig()
497 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_TcdSetTransferConfig()
505 tcd->SADDR = MEMORY_ConvertMemoryMapAddress(config->srcAddr, kMEMORY_Local2DMA); in EDMA_AD_TcdSetTransferConfig()
507 tcd->DADDR = MEMORY_ConvertMemoryMapAddress(config->destAddr, kMEMORY_Local2DMA); in EDMA_AD_TcdSetTransferConfig()
509 tcd->SADDR = config->srcAddr; in EDMA_AD_TcdSetTransferConfig()
511 tcd->DADDR = config->destAddr; in EDMA_AD_TcdSetTransferConfig()
514 …tcd->ATTR = DMA_TCD_ATTR_SSIZE(config->srcTransferSize) | DMA_TCD_ATTR_DSIZE(config->destTransferS… in EDMA_AD_TcdSetTransferConfig()
516 tcd->SOFF = (uint16_t)config->srcOffset; in EDMA_AD_TcdSetTransferConfig()
518 tcd->DOFF = (uint16_t)config->destOffset; in EDMA_AD_TcdSetTransferConfig()
520 tcd->NBYTES = config->minorLoopBytes; in EDMA_AD_TcdSetTransferConfig()
522 tcd->CITER = (uint16_t)config->majorLoopCounts; in EDMA_AD_TcdSetTransferConfig()
524 tcd->BITER = (uint16_t)config->majorLoopCounts; in EDMA_AD_TcdSetTransferConfig()
529 tcd->DLAST_SGA = MEMORY_ConvertMemoryMapAddress((uint32_t)nextTcd, kMEMORY_Local2DMA); in EDMA_AD_TcdSetTransferConfig()
531 tcd->DLAST_SGA = (uint32_t)nextTcd; in EDMA_AD_TcdSetTransferConfig()
542 tcd->CSR = (tcd->CSR | (uint16_t)DMA_TCD_CSR_ESG_MASK) & ~(uint16_t)DMA_TCD_CSR_DREQ_MASK; in EDMA_AD_TcdSetTransferConfig()
556 void EDMA_AD_TcdSetMinorOffsetConfig(edma_tcd_t *tcd, const edma_minor_offset_config_t *config) in EDMA_AD_TcdSetMinorOffsetConfig() argument
558 assert(tcd != NULL); in EDMA_AD_TcdSetMinorOffsetConfig()
559 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_TcdSetMinorOffsetConfig()
563 tmpreg = tcd->NBYTES; in EDMA_AD_TcdSetMinorOffsetConfig()
569 tcd->NBYTES = tmpreg; in EDMA_AD_TcdSetMinorOffsetConfig()
590 void EDMA_AD_TcdSetChannelLink(edma_tcd_t *tcd, edma_channel_link_type_t type, uint32_t linkedChann… in EDMA_AD_TcdSetChannelLink() argument
592 assert(tcd != NULL); in EDMA_AD_TcdSetChannelLink()
593 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_TcdSetChannelLink()
601 tcd->CITER |= DMA_TCD_CITER_ELINKYES_ELINK_MASK; in EDMA_AD_TcdSetChannelLink()
602 tcd->BITER |= DMA_TCD_BITER_ELINKYES_ELINK_MASK; in EDMA_AD_TcdSetChannelLink()
604 tmpreg = tcd->CITER & (~(uint16_t)DMA_TCD_CITER_ELINKYES_LINKCH_MASK); in EDMA_AD_TcdSetChannelLink()
606 tcd->CITER = tmpreg; in EDMA_AD_TcdSetChannelLink()
607 tmpreg = tcd->BITER & (~(uint16_t)DMA_TCD_BITER_ELINKYES_LINKCH_MASK); in EDMA_AD_TcdSetChannelLink()
609 tcd->BITER = tmpreg; in EDMA_AD_TcdSetChannelLink()
616 tcd->CSR |= DMA_TCD_CSR_MAJORELINK_MASK; in EDMA_AD_TcdSetChannelLink()
618 tmpreg = tcd->CSR & (~(uint16_t)DMA_TCD_CSR_MAJORLINKCH_MASK); in EDMA_AD_TcdSetChannelLink()
619 tcd->CSR = tmpreg | DMA_TCD_CSR_MAJORLINKCH(linkedChannel); in EDMA_AD_TcdSetChannelLink()
623 tcd->CITER &= ~(uint16_t)DMA_TCD_CITER_ELINKYES_ELINK_MASK; in EDMA_AD_TcdSetChannelLink()
624 tcd->BITER &= ~(uint16_t)DMA_TCD_BITER_ELINKYES_ELINK_MASK; in EDMA_AD_TcdSetChannelLink()
625 tcd->CSR &= ~(uint16_t)DMA_TCD_CSR_MAJORELINK_MASK; in EDMA_AD_TcdSetChannelLink()
642 void EDMA_AD_TcdSetModulo(edma_tcd_t *tcd, edma_modulo_t srcModulo, edma_modulo_t destModulo) in EDMA_AD_TcdSetModulo() argument
644 assert(tcd != NULL); in EDMA_AD_TcdSetModulo()
645 assert(((uint32_t)tcd & 0x1FU) == 0U); in EDMA_AD_TcdSetModulo()
649 tmpreg = tcd->ATTR & (~(uint16_t)(DMA_TCD_ATTR_SMOD_MASK | DMA_TCD_ATTR_DMOD_MASK)); in EDMA_AD_TcdSetModulo()
650 tcd->ATTR = tmpreg | DMA_TCD_ATTR_DMOD(destModulo) | DMA_TCD_ATTR_SMOD(srcModulo); in EDMA_AD_TcdSetModulo()
660 void EDMA_AD_TcdEnableInterrupts(edma_tcd_t *tcd, uint32_t mask) in EDMA_AD_TcdEnableInterrupts() argument
662 assert(tcd != NULL); in EDMA_AD_TcdEnableInterrupts()
667 tcd->CSR |= DMA_TCD_CSR_INTMAJOR_MASK; in EDMA_AD_TcdEnableInterrupts()
673 tcd->CSR |= DMA_TCD_CSR_INTHALF_MASK; in EDMA_AD_TcdEnableInterrupts()
684 void EDMA_AD_TcdDisableInterrupts(edma_tcd_t *tcd, uint32_t mask) in EDMA_AD_TcdDisableInterrupts() argument
686 assert(tcd != NULL); in EDMA_AD_TcdDisableInterrupts()
691 tcd->CSR &= ~(uint16_t)DMA_TCD_CSR_INTMAJOR_MASK; in EDMA_AD_TcdDisableInterrupts()
697 tcd->CSR &= ~(uint16_t)DMA_TCD_CSR_INTHALF_MASK; in EDMA_AD_TcdDisableInterrupts()