33 #ifndef __SILICON_LABS_EM_LDMA_H__
34 #define __SILICON_LABS_EM_LDMA_H__
38 #if defined( LDMA_PRESENT ) && ( LDMA_COUNT == 1 )
172 #if defined( LDMA_CH_REQSEL_SIGSEL_ADC0SCAN )
175 #if defined( LDMA_CH_REQSEL_SIGSEL_ADC0SINGLE )
178 #if defined( LDMA_CH_REQSEL_SIGSEL_AGCRSSI )
179 ldmaPeripheralSignal_AGC_RSSI = LDMA_CH_REQSEL_SIGSEL_AGCRSSI | LDMA_CH_REQSEL_SOURCESEL_AGC,
181 #if defined( LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0RD )
184 #if defined( LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0WR )
187 #if defined( LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0XWR )
190 #if defined( LDMA_CH_REQSEL_SIGSEL_CRYPTODATA1RD )
193 #if defined( LDMA_CH_REQSEL_SIGSEL_CRYPTODATA1WR )
196 #if defined( LDMA_CH_REQSEL_SIGSEL_I2C0RXDATAV )
199 #if defined( LDMA_CH_REQSEL_SIGSEL_I2C0TXBL )
202 #if defined( LDMA_CH_REQSEL_SIGSEL_LEUART0RXDATAV )
205 #if defined( LDMA_CH_REQSEL_SIGSEL_LEUART0TXBL )
208 #if defined( LDMA_CH_REQSEL_SIGSEL_LEUART0TXEMPTY )
211 #if defined( LDMA_CH_REQSEL_SIGSEL_MODEMDEBUG )
212 ldmaPeripheralSignal_MODEM_DEBUG = LDMA_CH_REQSEL_SIGSEL_MODEMDEBUG | LDMA_CH_REQSEL_SOURCESEL_MODEM,
214 #if defined( LDMA_CH_REQSEL_SIGSEL_MSCWDATA )
217 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERBOF )
218 ldmaPeripheralSignal_PROTIMER_BOF = LDMA_CH_REQSEL_SIGSEL_PROTIMERBOF | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
220 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERCC0 )
221 ldmaPeripheralSignal_PROTIMER_CC0 = LDMA_CH_REQSEL_SIGSEL_PROTIMERCC0 | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
223 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERCC1 )
224 ldmaPeripheralSignal_PROTIMER_CC1 = LDMA_CH_REQSEL_SIGSEL_PROTIMERCC1 | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
226 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERCC2 )
227 ldmaPeripheralSignal_PROTIMER_CC2 = LDMA_CH_REQSEL_SIGSEL_PROTIMERCC2 | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
229 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERCC3 )
230 ldmaPeripheralSignal_PROTIMER_CC3 = LDMA_CH_REQSEL_SIGSEL_PROTIMERCC3 | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
232 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERCC4 )
233 ldmaPeripheralSignal_PROTIMER_CC4 = LDMA_CH_REQSEL_SIGSEL_PROTIMERCC4 | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
235 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERPOF )
236 ldmaPeripheralSignal_PROTIMER_POF = LDMA_CH_REQSEL_SIGSEL_PROTIMERPOF | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
238 #if defined( LDMA_CH_REQSEL_SIGSEL_PROTIMERWOF )
239 ldmaPeripheralSignal_PROTIMER_WOF = LDMA_CH_REQSEL_SIGSEL_PROTIMERWOF | LDMA_CH_REQSEL_SOURCESEL_PROTIMER,
241 #if defined( LDMA_CH_REQSEL_SIGSEL_PRSREQ0 )
244 #if defined( LDMA_CH_REQSEL_SIGSEL_PRSREQ1 )
247 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER0CC0 )
250 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER0CC1 )
253 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER0CC2 )
256 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER0UFOF )
259 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER1CC0 )
262 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER1CC1 )
265 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER1CC2 )
268 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER1CC3 )
271 #if defined( LDMA_CH_REQSEL_SIGSEL_TIMER1UFOF )
274 #if defined( LDMA_CH_REQSEL_SIGSEL_USART0RXDATAV )
277 #if defined( LDMA_CH_REQSEL_SIGSEL_USART0TXBL )
280 #if defined( LDMA_CH_REQSEL_SIGSEL_USART0TXEMPTY )
283 #if defined( LDMA_CH_REQSEL_SIGSEL_USART1RXDATAV )
286 #if defined( LDMA_CH_REQSEL_SIGSEL_USART1RXDATAVRIGHT )
289 #if defined( LDMA_CH_REQSEL_SIGSEL_USART1TXBL )
292 #if defined( LDMA_CH_REQSEL_SIGSEL_USART1TXBLRIGHT )
295 #if defined( LDMA_CH_REQSEL_SIGSEL_USART1TXEMPTY )
322 uint32_t structType : 2;
323 uint32_t reserved0 : 1;
324 uint32_t structReq : 1;
325 uint32_t xferCnt : 11;
326 uint32_t byteSwap : 1;
327 uint32_t blockSize : 4;
328 uint32_t doneIfs : 1;
329 uint32_t reqMode : 1;
330 uint32_t decLoopCnt : 1;
331 uint32_t ignoreSrec : 1;
335 uint32_t srcAddrMode: 1;
336 uint32_t dstAddrMode: 1;
341 uint32_t linkMode : 1;
343 int32_t linkAddr : 30;
351 uint32_t structType : 2;
352 uint32_t reserved0 : 1;
353 uint32_t structReq : 1;
354 uint32_t xferCnt : 11;
355 uint32_t byteSwap : 1;
356 uint32_t blockSize : 4;
357 uint32_t doneIfs : 1;
358 uint32_t reqMode : 1;
359 uint32_t decLoopCnt : 1;
360 uint32_t ignoreSrec : 1;
364 uint32_t srcAddrMode: 1;
365 uint32_t dstAddrMode: 1;
367 uint32_t syncSet : 8;
368 uint32_t syncClr : 8;
369 uint32_t reserved3 : 16;
370 uint32_t matchVal : 8;
371 uint32_t matchEn : 8;
372 uint32_t reserved4 : 16;
374 uint32_t linkMode : 1;
376 int32_t linkAddr : 30;
382 uint32_t structType : 2;
383 uint32_t reserved0 : 1;
384 uint32_t structReq : 1;
385 uint32_t xferCnt : 11;
386 uint32_t byteSwap : 1;
387 uint32_t blockSize : 4;
388 uint32_t doneIfs : 1;
389 uint32_t reqMode : 1;
390 uint32_t decLoopCnt : 1;
391 uint32_t ignoreSrec : 1;
395 uint32_t srcAddrMode: 1;
396 uint32_t dstAddrMode: 1;
401 uint32_t linkMode : 1;
403 int32_t linkAddr : 30;
444 #define LDMA_INIT_DEFAULT \
446 .ldmaInitCtrlNumFixed = _LDMA_CTRL_NUMFIXED_DEFAULT, \
447 .ldmaInitCtrlSyncPrsClrEn = 0, \
448 .ldmaInitCtrlSyncPrsSetEn = 0, \
449 .ldmaInitIrqPriority = 3 \
456 #define LDMA_TRANSFER_CFG_MEMORY() \
459 false, false, ldmaCfgArbSlotsAs1, \
460 ldmaCfgSrcIncSignPos, ldmaCfgDstIncSignPos, 0 \
467 #define LDMA_TRANSFER_CFG_MEMORY_LOOP( loopCnt) \
470 false, false, ldmaCfgArbSlotsAs1, \
471 ldmaCfgSrcIncSignPos, ldmaCfgDstIncSignPos, \
479 #define LDMA_TRANSFER_CFG_PERIPHERAL( signal ) \
481 signal, 0, 0, 0, 0, \
482 false, false, ldmaCfgArbSlotsAs1, \
483 ldmaCfgSrcIncSignPos, ldmaCfgDstIncSignPos, 0 \
490 #define LDMA_TRANSFER_CFG_PERIPHERAL_LOOP( signal, loopCnt ) \
492 signal, 0, 0, 0, 0, \
493 false, false, ldmaCfgArbSlotsAs1, \
494 ldmaCfgSrcIncSignPos, ldmaCfgDstIncSignPos, loopCnt \
504 #define LDMA_DESCRIPTOR_SINGLE_M2M_WORD( src, dest, count ) \
508 .structType = ldmaCtrlStructTypeXfer, \
510 .xferCnt = ( count ) - 1, \
512 .blockSize = ldmaCtrlBlockSizeUnit1, \
514 .reqMode = ldmaCtrlReqModeAll, \
517 .srcInc = ldmaCtrlSrcIncOne, \
518 .size = ldmaCtrlSizeWord, \
519 .dstInc = ldmaCtrlDstIncOne, \
520 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
521 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
522 .srcAddr = (uint32_t)(src), \
523 .dstAddr = (uint32_t)(dest), \
537 #define LDMA_DESCRIPTOR_SINGLE_M2M_HALF( src, dest, count ) \
541 .structType = ldmaCtrlStructTypeXfer, \
543 .xferCnt = ( count ) - 1, \
545 .blockSize = ldmaCtrlBlockSizeUnit1, \
547 .reqMode = ldmaCtrlReqModeAll, \
550 .srcInc = ldmaCtrlSrcIncOne, \
551 .size = ldmaCtrlSizeHalf, \
552 .dstInc = ldmaCtrlDstIncOne, \
553 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
554 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
555 .srcAddr = (uint32_t)(src), \
556 .dstAddr = (uint32_t)(dest), \
570 #define LDMA_DESCRIPTOR_SINGLE_M2M_BYTE( src, dest, count ) \
574 .structType = ldmaCtrlStructTypeXfer, \
576 .xferCnt = ( count ) - 1, \
578 .blockSize = ldmaCtrlBlockSizeUnit1, \
580 .reqMode = ldmaCtrlReqModeAll, \
583 .srcInc = ldmaCtrlSrcIncOne, \
584 .size = ldmaCtrlSizeByte, \
585 .dstInc = ldmaCtrlDstIncOne, \
586 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
587 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
588 .srcAddr = (uint32_t)(src), \
589 .dstAddr = (uint32_t)(dest), \
608 #define LDMA_DESCRIPTOR_LINKABS_M2M_WORD( src, dest, count ) \
612 .structType = ldmaCtrlStructTypeXfer, \
614 .xferCnt = ( count ) - 1, \
616 .blockSize = ldmaCtrlBlockSizeUnit1, \
618 .reqMode = ldmaCtrlReqModeAll, \
621 .srcInc = ldmaCtrlSrcIncOne, \
622 .size = ldmaCtrlSizeWord, \
623 .dstInc = ldmaCtrlDstIncOne, \
624 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
625 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
626 .srcAddr = (uint32_t)(src), \
627 .dstAddr = (uint32_t)(dest), \
628 .linkMode = ldmaLinkModeAbs, \
646 #define LDMA_DESCRIPTOR_LINKABS_M2M_HALF( src, dest, count ) \
650 .structType = ldmaCtrlStructTypeXfer, \
652 .xferCnt = ( count ) - 1, \
654 .blockSize = ldmaCtrlBlockSizeUnit1, \
656 .reqMode = ldmaCtrlReqModeAll, \
659 .srcInc = ldmaCtrlSrcIncOne, \
660 .size = ldmaCtrlSizeHalf, \
661 .dstInc = ldmaCtrlDstIncOne, \
662 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
663 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
664 .srcAddr = (uint32_t)(src), \
665 .dstAddr = (uint32_t)(dest), \
666 .linkMode = ldmaLinkModeAbs, \
684 #define LDMA_DESCRIPTOR_LINKABS_M2M_BYTE( src, dest, count ) \
688 .structType = ldmaCtrlStructTypeXfer, \
690 .xferCnt = ( count ) - 1, \
692 .blockSize = ldmaCtrlBlockSizeUnit1, \
694 .reqMode = ldmaCtrlReqModeAll, \
697 .srcInc = ldmaCtrlSrcIncOne, \
698 .size = ldmaCtrlSizeByte, \
699 .dstInc = ldmaCtrlDstIncOne, \
700 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
701 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
702 .srcAddr = (uint32_t)(src), \
703 .dstAddr = (uint32_t)(dest), \
704 .linkMode = ldmaLinkModeAbs, \
728 #define LDMA_DESCRIPTOR_LINKREL_M2M_WORD( src, dest, count, linkjmp ) \
732 .structType = ldmaCtrlStructTypeXfer, \
734 .xferCnt = ( count ) - 1, \
736 .blockSize = ldmaCtrlBlockSizeUnit1, \
738 .reqMode = ldmaCtrlReqModeAll, \
741 .srcInc = ldmaCtrlSrcIncOne, \
742 .size = ldmaCtrlSizeWord, \
743 .dstInc = ldmaCtrlDstIncOne, \
744 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
745 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
746 .srcAddr = (uint32_t)(src), \
747 .dstAddr = (uint32_t)(dest), \
748 .linkMode = ldmaLinkModeRel, \
750 .linkAddr = ( linkjmp ) * 4 \
772 #define LDMA_DESCRIPTOR_LINKREL_M2M_HALF( src, dest, count, linkjmp ) \
776 .structType = ldmaCtrlStructTypeXfer, \
778 .xferCnt = ( count ) - 1, \
780 .blockSize = ldmaCtrlBlockSizeUnit1, \
782 .reqMode = ldmaCtrlReqModeAll, \
785 .srcInc = ldmaCtrlSrcIncOne, \
786 .size = ldmaCtrlSizeHalf, \
787 .dstInc = ldmaCtrlDstIncOne, \
788 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
789 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
790 .srcAddr = (uint32_t)(src), \
791 .dstAddr = (uint32_t)(dest), \
792 .linkMode = ldmaLinkModeRel, \
794 .linkAddr = ( linkjmp ) * 4 \
816 #define LDMA_DESCRIPTOR_LINKREL_M2M_BYTE( src, dest, count, linkjmp ) \
820 .structType = ldmaCtrlStructTypeXfer, \
822 .xferCnt = ( count ) - 1, \
824 .blockSize = ldmaCtrlBlockSizeUnit1, \
826 .reqMode = ldmaCtrlReqModeAll, \
829 .srcInc = ldmaCtrlSrcIncOne, \
830 .size = ldmaCtrlSizeByte, \
831 .dstInc = ldmaCtrlDstIncOne, \
832 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
833 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
834 .srcAddr = (uint32_t)(src), \
835 .dstAddr = (uint32_t)(dest), \
836 .linkMode = ldmaLinkModeRel, \
838 .linkAddr = ( linkjmp ) * 4 \
849 #define LDMA_DESCRIPTOR_SINGLE_P2M_BYTE( src, dest, count ) \
853 .structType = ldmaCtrlStructTypeXfer, \
855 .xferCnt = ( count ) - 1, \
857 .blockSize = ldmaCtrlBlockSizeUnit1, \
859 .reqMode = ldmaCtrlReqModeBlock, \
862 .srcInc = ldmaCtrlSrcIncNone, \
863 .size = ldmaCtrlSizeByte, \
864 .dstInc = ldmaCtrlDstIncOne, \
865 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
866 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
867 .srcAddr = (uint32_t)(src), \
868 .dstAddr = (uint32_t)(dest), \
882 #define LDMA_DESCRIPTOR_SINGLE_M2P_BYTE( src, dest, count ) \
886 .structType = ldmaCtrlStructTypeXfer, \
888 .xferCnt = ( count ) - 1, \
890 .blockSize = ldmaCtrlBlockSizeUnit1, \
892 .reqMode = ldmaCtrlReqModeBlock, \
895 .srcInc = ldmaCtrlSrcIncOne, \
896 .size = ldmaCtrlSizeByte, \
897 .dstInc = ldmaCtrlDstIncNone, \
898 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
899 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
900 .srcAddr = (uint32_t)(src), \
901 .dstAddr = (uint32_t)(dest), \
920 #define LDMA_DESCRIPTOR_LINKREL_P2M_BYTE( src, dest, count, linkjmp ) \
924 .structType = ldmaCtrlStructTypeXfer, \
926 .xferCnt = ( count ) - 1, \
928 .blockSize = ldmaCtrlBlockSizeUnit1, \
930 .reqMode = ldmaCtrlReqModeBlock, \
933 .srcInc = ldmaCtrlSrcIncNone, \
934 .size = ldmaCtrlSizeByte, \
935 .dstInc = ldmaCtrlDstIncOne, \
936 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
937 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
938 .srcAddr = (uint32_t)(src), \
939 .dstAddr = (uint32_t)(dest), \
940 .linkMode = ldmaLinkModeRel, \
942 .linkAddr = ( linkjmp ) * 4 \
958 #define LDMA_DESCRIPTOR_LINKREL_M2P_BYTE( src, dest, count, linkjmp ) \
962 .structType = ldmaCtrlStructTypeXfer, \
964 .xferCnt = ( count ) - 1, \
966 .blockSize = ldmaCtrlBlockSizeUnit1, \
968 .reqMode = ldmaCtrlReqModeBlock, \
971 .srcInc = ldmaCtrlSrcIncOne, \
972 .size = ldmaCtrlSizeByte, \
973 .dstInc = ldmaCtrlDstIncNone, \
974 .srcAddrMode = ldmaCtrlSrcAddrModeAbs, \
975 .dstAddrMode = ldmaCtrlDstAddrModeAbs, \
976 .srcAddr = (uint32_t)(src), \
977 .dstAddr = (uint32_t)(dest), \
978 .linkMode = ldmaLinkModeRel, \
980 .linkAddr = ( linkjmp ) * 4 \
990 #define LDMA_DESCRIPTOR_SINGLE_WRITE( value, address ) \
994 .structType = ldmaCtrlStructTypeWrite, \
1008 .immVal = (value), \
1009 .dstAddr = (uint32_t)(address), \
1027 #define LDMA_DESCRIPTOR_LINKABS_WRITE( value, address ) \
1031 .structType = ldmaCtrlStructTypeWrite, \
1045 .immVal = (value), \
1046 .dstAddr = (uint32_t)(address), \
1047 .linkMode = ldmaLinkModeAbs, \
1064 #define LDMA_DESCRIPTOR_LINKREL_WRITE( value, address, linkjmp ) \
1068 .structType = ldmaCtrlStructTypeWrite, \
1082 .immVal = (value), \
1083 .dstAddr = (uint32_t)(address), \
1084 .linkMode = ldmaLinkModeRel, \
1086 .linkAddr = ( linkjmp ) * 4 \
1098 #define LDMA_DESCRIPTOR_SINGLE_SYNC( set, clr, matchValue, matchEnable ) \
1102 .structType = ldmaCtrlStructTypeSync, \
1118 .matchVal = (matchValue), \
1119 .matchEn = (matchEnable), \
1139 #define LDMA_DESCRIPTOR_LINKABS_SYNC( set, clr, matchValue, matchEnable ) \
1143 .structType = ldmaCtrlStructTypeSync, \
1159 .matchVal = (matchValue), \
1160 .matchEn = (matchEnable), \
1161 .linkMode = ldmaLinkModeAbs, \
1180 #define LDMA_DESCRIPTOR_LINKREL_SYNC( set, clr, matchValue, matchEnable, linkjmp ) \
1184 .structType = ldmaCtrlStructTypeSync, \
1200 .matchVal = (matchValue), \
1201 .matchEn = (matchEnable), \
1202 .linkMode = ldmaLinkModeRel, \
1204 .linkAddr = ( linkjmp ) * 4 \
1246 LDMA->IEN &= ~flags;
1305 return LDMA->IF & ien;
#define LDMA_CH_REQSEL_SIGSEL_USART1TXBLRIGHT
DMA transfer configuration structure.
#define _LDMA_CH_CTRL_STRUCTTYPE_SYNCHRONIZE
uint8_t ldmaCtrlSyncPrsSetOn
#define LDMA_CH_REQSEL_SIGSEL_TIMER0CC0
#define _LDMA_CH_CFG_ARBSLOTS_EIGHT
uint8_t ldmaInitCtrlSyncPrsSetEn
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT256
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT4
#define _LDMA_CH_CFG_ARBSLOTS_FOUR
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT16
#define LDMA_CH_REQSEL_SIGSEL_LEUART0TXBL
#define LDMA_CH_REQSEL_SOURCESEL_LEUART0
#define _LDMA_CH_CFG_SRCINCSIGN_POSITIVE
uint32_t LDMA_TransferRemainingCount(int ch)
Get number of items remaining in a transfer.
#define LDMA_CH_REQSEL_SIGSEL_TIMER0UFOF
#define LDMA_CH_REQSEL_SOURCESEL_MSC
#define _LDMA_CH_CFG_ARBSLOTS_TWO
__STATIC_INLINE uint32_t LDMA_IntGetEnabled(void)
Get enabled and pending LDMA interrupt flags. Useful for handling more interrupt sources in the same ...
#define _LDMA_CH_CTRL_BLOCKSIZE_ALL
#define LDMA_CH_REQSEL_SIGSEL_TIMER1CC2
#define _LDMA_CH_CFG_DSTINCSIGN_NEGATIVE
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT512
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT128
#define LDMA_CH_REQSEL_SIGSEL_TIMER0CC2
#define LDMA_CH_REQSEL_SOURCESEL_CRYPTO
#define _LDMA_CH_CTRL_DSTMODE_RELATIVE
#define LDMA_CH_REQSEL_SOURCESEL_PRS
#define _LDMA_CH_CTRL_SRCMODE_RELATIVE
uint8_t ldmaCtrlSyncPrsClrOn
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define _LDMA_CH_CTRL_DSTINC_FOUR
#define _LDMA_CH_LINK_LINKMODE_ABSOLUTE
#define LDMA_CH_REQSEL_SIGSEL_PRSREQ1
#define LDMA_CH_REQSEL_SIGSEL_LEUART0RXDATAV
#define LDMA_CH_REQSEL_SIGSEL_TIMER1CC3
#define LDMA_CH_REQSEL_SOURCESEL_ADC0
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT2
#define LDMA_CH_REQSEL_SIGSEL_USART1RXDATAV
uint8_t ldmaCfgDstIncSign
No peripheral selected for DMA triggering.
#define _LDMA_CH_CTRL_SRCMODE_ABSOLUTE
#define LDMA_CH_REQSEL_SOURCESEL_USART1
#define _LDMA_CH_CTRL_SIZE_WORD
#define _LDMA_CH_CTRL_DSTINC_TWO
void LDMA_StopTransfer(int ch)
Stop a DMA transfer.
#define LDMA_CH_REQSEL_SIGSEL_ADC0SINGLE
void LDMA_Init(LDMA_Init_t *init)
Initialize the LDMA controller.
#define _LDMA_CH_LINK_LINKMODE_RELATIVE
#define _LDMA_CH_CTRL_DSTMODE_ABSOLUTE
#define LDMA_CH_REQSEL_SIGSEL_USART0TXBL
#define LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0WR
#define LDMA_CH_REQSEL_SIGSEL_CRYPTODATA1RD
#define LDMA_CH_REQSEL_SIGSEL_CRYPTODATA1WR
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT6
void LDMA_DeInit(void)
De-initialize the LDMA controller.
#define LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0XWR
#define LDMA_CH_REQSEL_SIGSEL_TIMER1UFOF
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT64
#define LDMA_CH_REQSEL_SOURCESEL_TIMER1
#define _LDMA_CH_CTRL_SRCINC_TWO
#define _LDMA_CH_CFG_DSTINCSIGN_POSITIVE
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT8
#define LDMA_CH_REQSEL_SIGSEL_TIMER0CC1
uint8_t ldmaInitCtrlSyncPrsClrEn
#define LDMA_CH_REQSEL_SOURCESEL_I2C0
__STATIC_INLINE void LDMA_IntClear(uint32_t flags)
Clear one or more pending LDMA interrupts.
__STATIC_INLINE void LDMA_IntEnable(uint32_t flags)
Enable one or more LDMA interrupts.
#define LDMA_CH_REQSEL_SIGSEL_TIMER1CC1
#define LDMA_CH_REQSEL_SIGSEL_USART1TXBL
uint8_t ldmaCtrlSyncPrsClrOff
__STATIC_INLINE void LDMA_IntDisable(uint32_t flags)
Disable one or more LDMA interrupts.
#define LDMA_CH_REQSEL_SIGSEL_MSCWDATA
__STATIC_INLINE void LDMA_IntSet(uint32_t flags)
Set one or more pending LDMA interrupts.
#define LDMA_CH_REQSEL_SIGSEL_USART0TXEMPTY
#define _LDMA_CH_CTRL_SIZE_BYTE
bool LDMA_TransferDone(int ch)
Check if a DMA transfer has completed.
uint8_t ldmaCtrlSyncPrsSetOff
#define _LDMA_CH_CTRL_SRCINC_FOUR
#define LDMA_CH_REQSEL_SOURCESEL_NONE
#define _LDMA_CH_CTRL_STRUCTTYPE_WRITE
#define LDMA_CH_REQSEL_SOURCESEL_TIMER0
#define LDMA_CH_REQSEL_SIGSEL_PRSREQ0
#define LDMA_CH_REQSEL_SIGSEL_I2C0RXDATAV
#define LDMA_CH_REQSEL_SIGSEL_USART0RXDATAV
#define _LDMA_CH_CTRL_REQMODE_ALL
LDMA initialization configuration structure.
#define LDMA_CH_REQSEL_SOURCESEL_USART0
uint8_t ldmaInitCtrlNumFixed
#define _LDMA_CH_CTRL_SRCINC_ONE
__STATIC_INLINE uint32_t LDMA_IntGet(void)
Get pending LDMA interrupt flags.
uint8_t ldmaInitIrqPriority
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT1
#define _LDMA_CH_CTRL_REQMODE_BLOCK
#define LDMA_CH_REQSEL_SIGSEL_CRYPTODATA0RD
#define LDMA_CH_REQSEL_SIGSEL_LEUART0TXEMPTY
Trig on USART1_RXDATAVRIGHT.
#define _LDMA_CH_CTRL_SIZE_HALFWORD
#define LDMA_CH_REQSEL_SIGSEL_USART1TXEMPTY
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT3
void LDMA_StartTransfer(int ch, LDMA_TransferCfg_t *transfer, LDMA_Descriptor_t *descriptor)
Start a DMA transfer.
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT32
#define LDMA_CH_REQSEL_SIGSEL_I2C0TXBL
#define _LDMA_CH_CFG_SRCINCSIGN_NEGATIVE
Trig on USART1_TXBLRIGHT.
#define _LDMA_CH_CTRL_DSTINC_NONE
uint8_t ldmaCfgSrcIncSign
#define _LDMA_CH_CTRL_DSTINC_ONE
#define LDMA_CH_REQSEL_SIGSEL_USART1RXDATAVRIGHT
#define _LDMA_CH_CTRL_STRUCTTYPE_TRANSFER
#define LDMA_CH_REQSEL_SIGSEL_TIMER1CC0
#define LDMA_CH_REQSEL_SIGSEL_ADC0SCAN
#define _LDMA_CH_CFG_ARBSLOTS_ONE
#define _LDMA_CH_CTRL_SRCINC_NONE
#define _LDMA_CH_CTRL_BLOCKSIZE_UNIT1024