50 #include "IfxDma_bf.h"
52 #include "IfxDma_reg.h"
1149 dma->TSR[channelId].B.HLTCLR = 1;
1155 dma->CH[channelId].CHCSR.B.CICH = 1;
1161 dma->TSR[channelId].B.CTL = 1;
1169 dma->BLK1.CLRE.U = mask;
1173 dma->BLK0.CLRE.U = mask;
1180 dma->CH[channelId].ADICR.B.INTCT &= ~(1 << 1);
1186 dma->TSR[channelId].B.DCH = 1;
1192 dma->CH[channelId].ADICR.B.ETRL = 0;
1200 dma->BLK1.EER.B.EDER = 0;
1204 dma->BLK0.EER.B.EDER = 0;
1213 dma->BLK1.EER.B.ESER = 0;
1217 dma->BLK0.EER.B.ESER = 0;
1224 dma->CH[channelId].ADICR.B.INTCT |= (1 << 1);
1230 dma->TSR[channelId].B.ECH = 1;
1236 dma->CH[channelId].ADICR.B.ETRL = 1;
1244 dma->BLK1.EER.B.EDER = 1;
1248 dma->BLK0.EER.B.EDER = 1;
1257 dma->BLK1.EER.B.ESER = 1;
1261 dma->BLK0.EER.B.ESER = 1;
1270 result = dma->CH[channelId].CHCSR.B.ICH != 0;
1274 dma->CH[channelId].CHCSR.B.CICH =
TRUE;
1285 result = dma->CH[channelId].CHCSR.B.IPM != 0;
1289 dma->CH[channelId].CHCSR.B.CICH =
TRUE;
1300 result = dma->CH[channelId].CHCSR.B.WRPD != 0;
1304 dma->CH[channelId].CHCSR.B.CWRP =
TRUE;
1315 result = dma->CH[channelId].CHCSR.B.WRPS != 0;
1319 dma->CH[channelId].CHCSR.B.CWRP =
TRUE;
1328 return dma->CH[channelId].DADR.U;
1334 return dma->TSR[channelId].B.HLTACK != 0;
1342 result = dma->CH[channelId].CHCSR.B.ICH;
1350 return dma->CH[channelId].CHCSR.B.LXO != 0;
1356 return dma->CH[channelId].SADR.U;
1362 return dma->TSR[channelId].B.TRL != 0;
1368 return dma->CH[channelId].CHCSR.B.TCOUNT;
1382 result = dma->CH[channelId].CHCSR.B.FROZEN != 0;
1386 dma->CH[channelId].CHCSR.B.FROZEN =
FALSE;
1395 return dma->CH[channelId].CHCSR.B.BUFFER != 0;
1403 return dma->BLK1.ERRSR.U;
1407 return dma->BLK0.ERRSR.U;
1415 return &MODULE_SRC.DMA.DMA[0].CH[channelId];
1427 return dma->TSR[channelId].B.RST != 0;
1433 return dma->TSR[channelId].B.HTRE != 0;
1439 return dma->TSR[channelId].B.CH != 0;
1445 dma->CH[channelId].CHCSR.U = 0U << IFX_DMA_CH_CHCSR_FROZEN_OFF;
1451 dma->TSR[channelId].B.RST = 1;
1457 dma->CH[channelId].CHCFGR.B.BLKM = blockMode;
1463 dma->CH[channelId].CHCFGR.B.CHMODE = 1;
1469 dma->CH[channelId].DADR.U = (
uint32)address;
1475 Ifx_DMA_CH_ADICR adicr;
1476 adicr.U = dma->CH[channelId].ADICR.U;
1477 adicr.B.DMF = incStep;
1478 adicr.B.INCD = direction;
1479 adicr.B.CBLD = size;
1480 dma->CH[channelId].ADICR.U = adicr.U;
1486 dma->TSR[channelId].B.HLTREQ = 1;
1492 dma->CH[channelId].CHCSR.B.SIT = 1;
1498 dma->CH[channelId].CHCFGR.B.CHDW = moveSize;
1504 dma->CH[channelId].ADICR.B.SHCT = shadow;
1510 dma->CH[channelId].CHCFGR.B.CHMODE = 0;
1516 dma->CH[channelId].CHCFGR.B.RROAT = 1;
1522 dma->CH[channelId].CHCFGR.B.RROAT = 0;
1528 dma->CH[channelId].SADR.U = (
uint32)address;
1534 Ifx_DMA_CH_ADICR adicr;
1535 adicr.U = dma->CH[channelId].ADICR.U;
1536 adicr.B.SMF = incStep;
1537 adicr.B.INCS = direction;
1538 adicr.B.CBLS = size;
1539 dma->CH[channelId].ADICR.U = adicr.U;
1545 dma->CH[channelId].CHCFGR.B.TREL = transferCount;
1553 dma->CLC.B.EDIS = mode;
1560 dma->CH[channelId].CHCSR.B.SCH = 1;
1566 dma->CH[channelId].CHCSR.B.SWB = 1;
1572 dma->CH[channelId].ADICR.B.SHCT &= ~(3 << 2);
1578 dma->CH[channelId].ADICR.B.SHCT |= (1 << 2);
1579 dma->CH[channelId].ADICR.B.SHCT &= ~(1 << 3);