50 #include "IfxDma_bf.h"
52 #include "IfxDma_reg.h"
1148 dma->TSR[channelId].B.HLTCLR = 1;
1154 dma->CH[channelId].CHCSR.B.CICH = 1;
1160 dma->TSR[channelId].B.CTL = 1;
1166 dma->BLK0.CLRE.U = mask;
1172 dma->CH[channelId].ADICR.B.INTCT &= ~(1 << 1);
1178 dma->TSR[channelId].B.DCH = 1;
1184 dma->CH[channelId].ADICR.B.ETRL = 0;
1190 dma->BLK0.EER.B.EDER = 0;
1196 dma->BLK0.EER.B.ESER = 0;
1202 dma->CH[channelId].ADICR.B.INTCT |= (1 << 1);
1208 dma->TSR[channelId].B.ECH = 1;
1214 dma->CH[channelId].ADICR.B.ETRL = 1;
1220 dma->BLK0.EER.B.EDER = 1;
1226 dma->BLK0.EER.B.ESER = 1;
1234 result = dma->CH[channelId].CHCSR.B.ICH != 0;
1238 dma->CH[channelId].CHCSR.B.CICH =
TRUE;
1249 result = dma->CH[channelId].CHCSR.B.IPM != 0;
1253 dma->CH[channelId].CHCSR.B.CICH =
TRUE;
1264 result = dma->CH[channelId].CHCSR.B.WRPD != 0;
1268 dma->CH[channelId].CHCSR.B.CWRP =
TRUE;
1279 result = dma->CH[channelId].CHCSR.B.WRPS != 0;
1283 dma->CH[channelId].CHCSR.B.CWRP =
TRUE;
1292 return dma->CH[channelId].DADR.U;
1298 return dma->TSR[channelId].B.HLTACK != 0;
1306 result = dma->CH[channelId].CHCSR.B.ICH;
1314 return dma->CH[channelId].CHCSR.B.LXO != 0;
1320 return dma->CH[channelId].SADR.U;
1326 return dma->TSR[channelId].B.TRL != 0;
1332 return dma->CH[channelId].CHCSR.B.TCOUNT;
1346 result = dma->CH[channelId].CHCSR.B.FROZEN != 0;
1350 dma->CH[channelId].CHCSR.B.FROZEN =
FALSE;
1359 return dma->CH[channelId].CHCSR.B.BUFFER != 0;
1365 return dma->BLK0.ERRSR.U;
1372 return &MODULE_SRC.DMA.DMA[0].CH[channelId];
1384 return dma->TSR[channelId].B.RST != 0;
1390 return dma->TSR[channelId].B.HTRE != 0;
1396 return dma->TSR[channelId].B.CH != 0;
1402 dma->CH[channelId].CHCSR.U = 0U << IFX_DMA_CH_CHCSR_FROZEN_OFF;
1408 dma->TSR[channelId].B.RST = 1;
1414 dma->CH[channelId].CHCFGR.B.BLKM = blockMode;
1420 dma->CH[channelId].CHCFGR.B.CHMODE = 1;
1426 dma->CH[channelId].DADR.U = (
uint32)address;
1432 Ifx_DMA_BLK_ME_ADICR adicr;
1433 adicr.U = dma->CH[channelId].ADICR.U;
1434 adicr.B.DMF = incStep;
1435 adicr.B.INCD = direction;
1436 adicr.B.CBLD = size;
1437 dma->CH[channelId].ADICR.U = adicr.U;
1443 dma->TSR[channelId].B.HLTREQ = 1;
1449 dma->CH[channelId].CHCSR.B.SIT = 1;
1455 dma->CH[channelId].CHCFGR.B.CHDW = moveSize;
1461 dma->CH[channelId].ADICR.B.SHCT = shadow;
1467 dma->CH[channelId].CHCFGR.B.CHMODE = 0;
1473 dma->CH[channelId].CHCFGR.B.RROAT = 1;
1479 dma->CH[channelId].CHCFGR.B.RROAT = 0;
1485 dma->CH[channelId].SADR.U = (
uint32)address;
1491 Ifx_DMA_BLK_ME_ADICR adicr;
1492 adicr.U = dma->CH[channelId].ADICR.U;
1493 adicr.B.SMF = incStep;
1494 adicr.B.INCS = direction;
1495 adicr.B.CBLS = size;
1496 dma->CH[channelId].ADICR.U = adicr.U;
1502 dma->CH[channelId].CHCFGR.B.TREL = transferCount;
1510 dma->CLC.B.EDIS = mode;
1517 dma->CH[channelId].CHCSR.B.SCH = 1;
1523 dma->CH[channelId].CHCSR.B.SWB = 1;
1529 dma->CH[channelId].ADICR.B.SHCT &= ~(3 << 2);
1535 dma->CH[channelId].ADICR.B.SHCT |= (1 << 2);
1536 dma->CH[channelId].ADICR.B.SHCT &= ~(1 << 3);