Dma_Ip_Hw_Access.c.017i.build_ssa_passes 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764
  1. HwAccDmaCh_SetControl_EnScatterGatherProcessing (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, boolean LocValue)
  2. {
  3. <bb 2> :
  4. if (LocHwVers == 2)
  5. goto <bb 3>; [INV]
  6. else
  7. goto <bb 4>; [INV]
  8. <bb 3> :
  9. <L0>:
  10. hwv2AccInlineDmaCh_SetAuxiliary_EnScatterGatherProcessing (pxLocTcd, LocValue);
  11. goto <bb 5>; [INV]
  12. <bb 4> :
  13. <L1>:
  14. <bb 5> :
  15. return;
  16. }
  17. HwAccDmaCh_SetControl_ScatterGatherAddress (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, uint32 LocValue)
  18. {
  19. <bb 2> :
  20. if (LocHwVers == 2)
  21. goto <bb 3>; [INV]
  22. else
  23. goto <bb 4>; [INV]
  24. <bb 3> :
  25. <L0>:
  26. hwv2AccInlineDmaCh_SetControl_ScatterGatherAddress (pxLocTcd, LocValue);
  27. goto <bb 5>; [INV]
  28. <bb 4> :
  29. <L1>:
  30. <bb 5> :
  31. return;
  32. }
  33. HwAccDmaCh_LoadSoftwareTcdIntoHardwareTcd (const struct Dma_Ip_LogicChannelIdType * const pxLocLogicCh, const struct Dma_Ip_ScatterGatherConfigType * const pxLocScatterGather)
  34. {
  35. uint32 LocHwCh;
  36. uint32 LocHwInst;
  37. uint32 LocHwVers;
  38. <bb 2> :
  39. _1 = pxLocLogicCh->HwVersId;
  40. LocHwVers = (uint32) _1;
  41. _2 = pxLocLogicCh->HwInstId;
  42. LocHwInst = (uint32) _2;
  43. _3 = pxLocLogicCh->HwChId;
  44. LocHwCh = (uint32) _3;
  45. if (LocHwVers == 2)
  46. goto <bb 3>; [INV]
  47. else
  48. goto <bb 4>; [INV]
  49. <bb 3> :
  50. _4 = 1073774592B;
  51. hwv2AccInlineDmaCh_CmdClearDone (_4, LocHwCh);
  52. _5 = pxLocScatterGather->Stcd;
  53. _6 = 1073778688B;
  54. _7 = _5->reg_SADDR;
  55. _6->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_SADDR = _7;
  56. _8 = pxLocScatterGather->Stcd;
  57. _9 = 1073778688B;
  58. _10 = _8->reg_SOFF;
  59. _9->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_SOFF = _10;
  60. _11 = pxLocScatterGather->Stcd;
  61. _12 = 1073778688B;
  62. _13 = _11->reg_ATTR;
  63. _12->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_ATTR = _13;
  64. _14 = pxLocScatterGather->Stcd;
  65. _15 = 1073778688B;
  66. _16 = _14->reg_NBYTES.reg_MLOFFYES;
  67. _15->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_NBYTES.reg_MLOFFYES = _16;
  68. _17 = pxLocScatterGather->Stcd;
  69. _18 = 1073778688B;
  70. _19 = _17->reg_SLAST;
  71. _18->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_SLAST = _19;
  72. _20 = pxLocScatterGather->Stcd;
  73. _21 = 1073778688B;
  74. _22 = _20->reg_DADDR;
  75. _21->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_DADDR = _22;
  76. _23 = pxLocScatterGather->Stcd;
  77. _24 = 1073778688B;
  78. _25 = _23->reg_DOFF;
  79. _24->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_DOFF = _25;
  80. _26 = pxLocScatterGather->Stcd;
  81. _27 = 1073778688B;
  82. _28 = _26->reg_CITER.reg_ELINKYES;
  83. _27->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_CITER.reg_ELINKYES = _28;
  84. _29 = pxLocScatterGather->Stcd;
  85. _30 = 1073778688B;
  86. _31 = _29->reg_DLAST_SGA;
  87. _30->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_DLAST_SGA = _31;
  88. _32 = pxLocScatterGather->Stcd;
  89. _33 = 1073778688B;
  90. _34 = _32->reg_BITER.reg_ELINKYES;
  91. _33->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_BITER.reg_ELINKYES = _34;
  92. _35 = pxLocScatterGather->Stcd;
  93. _36 = 1073778688B;
  94. _37 = _35->reg_CSR;
  95. _36->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg.reg_CSR = _37;
  96. <bb 4> :
  97. return;
  98. }
  99. HwAccDmaCh_LoadConfigIntoSoftwareTcd (uint32 HwVersId, const struct Dma_Ip_ScatterGatherConfigType * const pxLocScatterGather, const uint32 ElementId, const boolean NotLastElement)
  100. {
  101. uint32 hwLinkCh;
  102. const uint32 iftmp.6;
  103. const uint32 iftmp.5;
  104. <bb 2> :
  105. if (HwVersId == 2)
  106. goto <bb 3>; [INV]
  107. else
  108. goto <bb 17>; [INV]
  109. <bb 3> :
  110. if (NotLastElement != 0)
  111. goto <bb 4>; [INV]
  112. else
  113. goto <bb 5>; [INV]
  114. <bb 4> :
  115. _1 = pxLocScatterGather->Stcd;
  116. _2 = pxLocScatterGather->NextConfig;
  117. _3 = _2->Stcd;
  118. _4 = (long unsigned int) _3;
  119. hwv2AccInlineDmaCh_SetControl_ScatterGatherAddress (_1, _4);
  120. goto <bb 6>; [INV]
  121. <bb 5> :
  122. _5 = pxLocScatterGather->Stcd;
  123. hwv2AccInlineDmaCh_SetControl_ScatterGatherAddress (_5, 0);
  124. <bb 6> :
  125. _6 = pxLocScatterGather->Stcd;
  126. hwv2AccInlineDmaCh_SetAuxiliary_EnScatterGatherProcessing (_6, NotLastElement);
  127. _7 = pxLocScatterGather->TransferConfig;
  128. if (_7 != 0B)
  129. goto <bb 7>; [INV]
  130. else
  131. goto <bb 17>; [INV]
  132. <bb 7> :
  133. _8 = pxLocScatterGather->Stcd;
  134. hwv2AccInlineDmaCh_SetControlAndStatus (_8, pxLocScatterGather);
  135. _9 = pxLocScatterGather->Stcd;
  136. _10 = pxLocScatterGather->TransferConfig;
  137. _11 = _10->Source.Addr;
  138. hwv2AccInlineDmaCh_SetSource_Address (_9, _11);
  139. _12 = pxLocScatterGather->Stcd;
  140. _13 = pxLocScatterGather->TransferConfig;
  141. _14 = _13->Source.SignedOffset;
  142. _15 = (long unsigned int) _14;
  143. hwv2AccInlineDmaCh_SetSource_SignedOffset (_12, _15);
  144. _16 = pxLocScatterGather->Stcd;
  145. _17 = pxLocScatterGather->TransferConfig;
  146. _18 = _17->Destination.Addr;
  147. hwv2AccInlineDmaCh_SetDestination_Address (_16, _18);
  148. _19 = pxLocScatterGather->Stcd;
  149. _20 = pxLocScatterGather->TransferConfig;
  150. _21 = _20->Destination.SignedOffset;
  151. _22 = (long unsigned int) _21;
  152. hwv2AccInlineDmaCh_SetDestination_SignedOffset (_19, _22);
  153. _23 = pxLocScatterGather->Stcd;
  154. hwv2AccInlineDmaCh_SetTransferAttributes (_23, pxLocScatterGather);
  155. _24 = pxLocScatterGather->Stcd;
  156. hwv2AccInlineDmaCh_SetSignedMinorLoopOffset (_24, pxLocScatterGather);
  157. _25 = pxLocScatterGather->Stcd;
  158. _26 = pxLocScatterGather->TransferConfig;
  159. _27 = _26->MinorLoop.EnLink;
  160. if (_27 != 0)
  161. goto <bb 8>; [INV]
  162. else
  163. goto <bb 9>; [INV]
  164. <bb 8> :
  165. iftmp.5 = 1;
  166. goto <bb 10>; [INV]
  167. <bb 9> :
  168. iftmp.5 = 0;
  169. <bb 10> :
  170. hwv2AccInlineDmaCh_SetMinorLoop_EnLink (_25, iftmp.5);
  171. _28 = pxLocScatterGather->TransferConfig;
  172. _29 = _28->MinorLoop.LogicLinkCh;
  173. _30 = (long unsigned int) _29;
  174. hwLinkCh = Dma_Ip_ConvertLogicChToHwCh (_30);
  175. _31 = pxLocScatterGather->Stcd;
  176. hwv2AccInlineDmaCh_SetMinorLoop_LinkCh (_31, hwLinkCh);
  177. _32 = pxLocScatterGather->Stcd;
  178. _33 = pxLocScatterGather->TransferConfig;
  179. _34 = _33->MinorLoop.Size;
  180. hwv2AccInlineDmaCh_SetMinorLoop_Size (_32, _34);
  181. _35 = pxLocScatterGather->Stcd;
  182. _36 = pxLocScatterGather->TransferConfig;
  183. _37 = _36->MajorLoop.EnLink;
  184. if (_37 != 0)
  185. goto <bb 11>; [INV]
  186. else
  187. goto <bb 12>; [INV]
  188. <bb 11> :
  189. iftmp.6 = 1;
  190. goto <bb 13>; [INV]
  191. <bb 12> :
  192. iftmp.6 = 0;
  193. <bb 13> :
  194. hwv2AccInlineDmaCh_SetMajorLoop_EnLink (_35, iftmp.6);
  195. _38 = pxLocScatterGather->TransferConfig;
  196. _39 = _38->MajorLoop.EnLink;
  197. if (_39 != 0)
  198. goto <bb 14>; [INV]
  199. else
  200. goto <bb 15>; [INV]
  201. <bb 14> :
  202. _40 = pxLocScatterGather->TransferConfig;
  203. _41 = _40->MajorLoop.LogicLinkCh;
  204. _42 = (long unsigned int) _41;
  205. hwLinkCh = Dma_Ip_ConvertLogicChToHwCh (_42);
  206. _43 = pxLocScatterGather->Stcd;
  207. hwv2AccInlineDmaCh_SetMajorLoop_LinkCh (_43, hwLinkCh);
  208. goto <bb 16>; [INV]
  209. <bb 15> :
  210. _44 = pxLocScatterGather->Stcd;
  211. hwv2AccInlineDmaCh_SetMajorLoop_LinkCh (_44, ElementId);
  212. <bb 16> :
  213. _45 = pxLocScatterGather->Stcd;
  214. _46 = pxLocScatterGather->TransferConfig;
  215. _47 = _46->MajorLoop.Count;
  216. hwv2AccInlineDmaCh_SetMajorLoop_Count (_45, _47);
  217. _48 = pxLocScatterGather->Stcd;
  218. _49 = pxLocScatterGather->TransferConfig;
  219. _50 = _49->Source.LastAddrAdj;
  220. _51 = (long unsigned int) _50;
  221. hwv2AccInlineDmaCh_SetSource_SignedLastAddrAdj (_48, _51);
  222. <bb 17> :
  223. return;
  224. }
  225. HwAccDmaCh_GetParam (const uint32 Parameter, const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  226. {
  227. static void (*<T647>) (const uint32, const uint32, const uint32, uint32 * const) fpHwAcc_DmaCh_GetParam[9] = {HwAccDmaCh_GetSourceAddress, HwAccDmaCh_GetDestinationAddress, HwAccDmaCh_GetBeginIterCount, HwAccDmaCh_GetCurrentIterCount, HwAccDmaCh_GetParamDummyFunction, HwAccDmaCh_GetParamDummyFunction, HwAccDmaCh_GetIntMajor, HwAccDmaCh_GetIntHalfMajor, HwAccDmaCh_GetParamDummyFunction};
  228. <bb 2> :
  229. _1 = fpHwAcc_DmaCh_GetParam[Parameter];
  230. _1 (LocHwVers, LocHwInst, LocHwCh, retValue);
  231. return;
  232. }
  233. HwAccDmaCh_GetIntHalfMajor (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  234. {
  235. <bb 2> :
  236. if (LocHwVers == 2)
  237. goto <bb 3>; [INV]
  238. else
  239. goto <bb 4>; [INV]
  240. <bb 3> :
  241. <L0>:
  242. _1 = 1073778688B;
  243. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  244. hwv2AccInlineDmaCh_GetIntHalfMajor (_2, retValue);
  245. goto <bb 5>; [INV]
  246. <bb 4> :
  247. <L1>:
  248. <bb 5> :
  249. return;
  250. }
  251. HwAccDmaCh_GetIntMajor (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  252. {
  253. <bb 2> :
  254. if (LocHwVers == 2)
  255. goto <bb 3>; [INV]
  256. else
  257. goto <bb 4>; [INV]
  258. <bb 3> :
  259. <L0>:
  260. _1 = 1073778688B;
  261. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  262. hwv2AccInlineDmaCh_GetIntMajor (_2, retValue);
  263. goto <bb 5>; [INV]
  264. <bb 4> :
  265. <L1>:
  266. <bb 5> :
  267. return;
  268. }
  269. HwAccDmaCh_GetCurrentIterCount (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  270. {
  271. <bb 2> :
  272. if (LocHwVers == 2)
  273. goto <bb 3>; [INV]
  274. else
  275. goto <bb 4>; [INV]
  276. <bb 3> :
  277. <L0>:
  278. _1 = 1073778688B;
  279. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  280. hwv2AccInlineDmaCh_GetCurrentIterCount (_2, retValue);
  281. goto <bb 5>; [INV]
  282. <bb 4> :
  283. <L1>:
  284. <bb 5> :
  285. return;
  286. }
  287. HwAccDmaCh_GetBeginIterCount (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  288. {
  289. <bb 2> :
  290. if (LocHwVers == 2)
  291. goto <bb 3>; [INV]
  292. else
  293. goto <bb 4>; [INV]
  294. <bb 3> :
  295. <L0>:
  296. _1 = 1073778688B;
  297. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  298. hwv2AccInlineDmaCh_GetBeginIterCount (_2, retValue);
  299. goto <bb 5>; [INV]
  300. <bb 4> :
  301. <L1>:
  302. <bb 5> :
  303. return;
  304. }
  305. HwAccDmaCh_GetDestinationAddress (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  306. {
  307. uint32 LocPhysicalAddress;
  308. <bb 2> :
  309. if (LocHwVers == 2)
  310. goto <bb 3>; [INV]
  311. else
  312. goto <bb 4>; [INV]
  313. <bb 3> :
  314. <L0>:
  315. _1 = 1073778688B;
  316. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  317. hwv2AccInlineDmaCh_GetDestinationAddress (_2, &LocPhysicalAddress);
  318. LocPhysicalAddress.4_3 = LocPhysicalAddress;
  319. *retValue = LocPhysicalAddress.4_3;
  320. goto <bb 5>; [INV]
  321. <bb 4> :
  322. <L1>:
  323. <bb 5> :
  324. LocPhysicalAddress = {CLOBBER};
  325. return;
  326. }
  327. HwAccDmaCh_GetSourceAddress (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  328. {
  329. uint32 LocPhysicalAddress;
  330. <bb 2> :
  331. if (LocHwVers == 2)
  332. goto <bb 3>; [INV]
  333. else
  334. goto <bb 4>; [INV]
  335. <bb 3> :
  336. <L0>:
  337. _1 = 1073778688B;
  338. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  339. hwv2AccInlineDmaCh_GetSourceAddress (_2, &LocPhysicalAddress);
  340. LocPhysicalAddress.3_3 = LocPhysicalAddress;
  341. *retValue = LocPhysicalAddress.3_3;
  342. goto <bb 5>; [INV]
  343. <bb 4> :
  344. <L1>:
  345. <bb 5> :
  346. LocPhysicalAddress = {CLOBBER};
  347. return;
  348. }
  349. HwAccDmaCh_SetTransferParam (const uint32 Parameter, const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  350. {
  351. static void (*<T638>) (const uint32, struct Dma_Ip_TcdRegType *, const uint32) fpHwAcc_DmaCh_SetTransferParam[26] = {HwAccDmaCh_SetSource_Address, HwAccDmaCh_SetSource_SignedOffset, HwAccDmaCh_SetSource_LastAddrAdj, HwAccDmaCh_SetSource_TransferSize, HwAccDmaCh_SetSource_Modulo, HwAccDmaCh_SetDestination_Address, HwAccDmaCh_SetDestination_SignedOffset, HwAccDmaCh_SetDestination_LastAddrAdj, HwAccDmaCh_SetDestination_TransferSize, HwAccDmaCh_SetDestination_Modulo, HwAccDmaCh_SetMinorLoop_enSrcOffset, HwAccDmaCh_SetMinorLoop_enDstOffset, HwAccDmaCh_SetMinorLoop_Offset, HwAccDmaCh_SetMinorLoop_EnLink, HwAccDmaCh_SetMinorLoop_LogicLinkCh, HwAccDmaCh_SetMinorLoop_Size, HwAccDmaCh_SetMajorLoop_EnLink, HwAccDmaCh_SetMajorLoop_LogicLinkCh, HwAccDmaCh_SetMajorLoop_Count, HwAccDmaCh_SetTransferDummyFunction, HwAccDmaCh_SetControl_EnStart, HwAccDmaCh_SetControl_EnMajor, HwAccDmaCh_SetControl_EnHalfMajor, HwAccDmaCh_SetControl_DisAutoHwRequest, HwAccDmaCh_SetTransferDummyFunction, HwAccDmaCh_SetControl_BandwidthControl};
  352. <bb 2> :
  353. _1 = fpHwAcc_DmaCh_SetTransferParam[Parameter];
  354. _1 (LocHwVers, pxLocTcd, LocValue);
  355. return;
  356. }
  357. HwAccDmaCh_SetControl_BandwidthControl (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  358. {
  359. <bb 2> :
  360. if (LocHwVers == 2)
  361. goto <bb 3>; [INV]
  362. else
  363. goto <bb 4>; [INV]
  364. <bb 3> :
  365. <L0>:
  366. hwv2AccInlineDmaCh_SetControl_BandwidthControl (pxLocTcd, LocValue);
  367. goto <bb 5>; [INV]
  368. <bb 4> :
  369. <L1>:
  370. <bb 5> :
  371. return;
  372. }
  373. HwAccDmaCh_SetControl_DisAutoHwRequest (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  374. {
  375. <bb 2> :
  376. if (LocHwVers == 2)
  377. goto <bb 3>; [INV]
  378. else
  379. goto <bb 4>; [INV]
  380. <bb 3> :
  381. <L0>:
  382. hwv2AccInlineDmaCh_SetControl_DisAutoHwRequest (pxLocTcd, LocValue);
  383. goto <bb 5>; [INV]
  384. <bb 4> :
  385. <L1>:
  386. <bb 5> :
  387. return;
  388. }
  389. HwAccDmaCh_SetControl_EnHalfMajor (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  390. {
  391. <bb 2> :
  392. if (LocHwVers == 2)
  393. goto <bb 3>; [INV]
  394. else
  395. goto <bb 4>; [INV]
  396. <bb 3> :
  397. <L0>:
  398. hwv2AccInlineDmaCh_SetControl_EnHalfMajor (pxLocTcd, LocValue);
  399. goto <bb 5>; [INV]
  400. <bb 4> :
  401. <L1>:
  402. <bb 5> :
  403. return;
  404. }
  405. HwAccDmaCh_SetControl_EnMajor (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  406. {
  407. <bb 2> :
  408. if (LocHwVers == 2)
  409. goto <bb 3>; [INV]
  410. else
  411. goto <bb 4>; [INV]
  412. <bb 3> :
  413. <L0>:
  414. hwv2AccInlineDmaCh_SetControl_EnMajor (pxLocTcd, LocValue);
  415. goto <bb 5>; [INV]
  416. <bb 4> :
  417. <L1>:
  418. <bb 5> :
  419. return;
  420. }
  421. HwAccDmaCh_SetControl_EnStart (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  422. {
  423. <bb 2> :
  424. if (LocHwVers == 2)
  425. goto <bb 3>; [INV]
  426. else
  427. goto <bb 4>; [INV]
  428. <bb 3> :
  429. <L0>:
  430. _1 = LocValue != 0;
  431. hwv2AccInlineDmaCh_SetControl_EnStart (pxLocTcd, _1);
  432. goto <bb 5>; [INV]
  433. <bb 4> :
  434. <L1>:
  435. <bb 5> :
  436. return;
  437. }
  438. HwAccDmaCh_SetMajorLoop_Count (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  439. {
  440. <bb 2> :
  441. if (LocHwVers == 2)
  442. goto <bb 3>; [INV]
  443. else
  444. goto <bb 4>; [INV]
  445. <bb 3> :
  446. <L0>:
  447. hwv2AccInlineDmaCh_SetMajorLoop_Count (pxLocTcd, LocValue);
  448. goto <bb 5>; [INV]
  449. <bb 4> :
  450. <L1>:
  451. <bb 5> :
  452. return;
  453. }
  454. HwAccDmaCh_SetMajorLoop_LogicLinkCh (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  455. {
  456. uint32 hwLinkCh;
  457. <bb 2> :
  458. hwLinkCh = Dma_Ip_ConvertLogicChToHwCh (LocValue);
  459. if (LocHwVers == 2)
  460. goto <bb 3>; [INV]
  461. else
  462. goto <bb 4>; [INV]
  463. <bb 3> :
  464. <L0>:
  465. hwv2AccInlineDmaCh_SetMajorLoop_LinkCh (pxLocTcd, hwLinkCh);
  466. goto <bb 5>; [INV]
  467. <bb 4> :
  468. <L1>:
  469. <bb 5> :
  470. return;
  471. }
  472. HwAccDmaCh_SetMajorLoop_EnLink (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  473. {
  474. <bb 2> :
  475. if (LocHwVers == 2)
  476. goto <bb 3>; [INV]
  477. else
  478. goto <bb 4>; [INV]
  479. <bb 3> :
  480. <L0>:
  481. hwv2AccInlineDmaCh_SetMajorLoop_EnLink (pxLocTcd, LocValue);
  482. goto <bb 5>; [INV]
  483. <bb 4> :
  484. <L1>:
  485. <bb 5> :
  486. return;
  487. }
  488. HwAccDmaCh_SetMinorLoop_Size (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  489. {
  490. <bb 2> :
  491. if (LocHwVers == 2)
  492. goto <bb 3>; [INV]
  493. else
  494. goto <bb 4>; [INV]
  495. <bb 3> :
  496. <L0>:
  497. hwv2AccInlineDmaCh_SetMinorLoop_Size (pxLocTcd, LocValue);
  498. goto <bb 5>; [INV]
  499. <bb 4> :
  500. <L1>:
  501. <bb 5> :
  502. return;
  503. }
  504. HwAccDmaCh_SetMinorLoop_LogicLinkCh (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  505. {
  506. uint32 hwLinkCh;
  507. <bb 2> :
  508. hwLinkCh = Dma_Ip_ConvertLogicChToHwCh (LocValue);
  509. if (LocHwVers == 2)
  510. goto <bb 3>; [INV]
  511. else
  512. goto <bb 4>; [INV]
  513. <bb 3> :
  514. <L0>:
  515. hwv2AccInlineDmaCh_SetMinorLoop_LinkCh (pxLocTcd, hwLinkCh);
  516. goto <bb 5>; [INV]
  517. <bb 4> :
  518. <L1>:
  519. <bb 5> :
  520. return;
  521. }
  522. HwAccDmaCh_SetMinorLoop_EnLink (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  523. {
  524. <bb 2> :
  525. if (LocHwVers == 2)
  526. goto <bb 3>; [INV]
  527. else
  528. goto <bb 4>; [INV]
  529. <bb 3> :
  530. <L0>:
  531. hwv2AccInlineDmaCh_SetMinorLoop_EnLink (pxLocTcd, LocValue);
  532. goto <bb 5>; [INV]
  533. <bb 4> :
  534. <L1>:
  535. <bb 5> :
  536. return;
  537. }
  538. HwAccDmaCh_SetMinorLoop_Offset (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  539. {
  540. <bb 2> :
  541. if (LocHwVers == 2)
  542. goto <bb 3>; [INV]
  543. else
  544. goto <bb 4>; [INV]
  545. <bb 3> :
  546. <L0>:
  547. hwv2AccInlineDmaCh_SetMinorLoop_SignedOffset (pxLocTcd, LocValue);
  548. goto <bb 5>; [INV]
  549. <bb 4> :
  550. <L1>:
  551. <bb 5> :
  552. return;
  553. }
  554. HwAccDmaCh_SetMinorLoop_enDstOffset (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  555. {
  556. <bb 2> :
  557. if (LocHwVers == 2)
  558. goto <bb 3>; [INV]
  559. else
  560. goto <bb 4>; [INV]
  561. <bb 3> :
  562. <L0>:
  563. hwv2AccInlineDmaCh_SetMinorLoop_enDstOffset (pxLocTcd, LocValue);
  564. goto <bb 5>; [INV]
  565. <bb 4> :
  566. <L1>:
  567. <bb 5> :
  568. return;
  569. }
  570. HwAccDmaCh_SetMinorLoop_enSrcOffset (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  571. {
  572. <bb 2> :
  573. if (LocHwVers == 2)
  574. goto <bb 3>; [INV]
  575. else
  576. goto <bb 4>; [INV]
  577. <bb 3> :
  578. <L0>:
  579. hwv2AccInlineDmaCh_SetMinorLoop_enSrcOffset (pxLocTcd, LocValue);
  580. goto <bb 5>; [INV]
  581. <bb 4> :
  582. <L1>:
  583. <bb 5> :
  584. return;
  585. }
  586. HwAccDmaCh_SetDestination_Modulo (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  587. {
  588. <bb 2> :
  589. if (LocHwVers == 2)
  590. goto <bb 3>; [INV]
  591. else
  592. goto <bb 4>; [INV]
  593. <bb 3> :
  594. <L0>:
  595. hwv2AccInlineDmaCh_SetDestination_Modulo (pxLocTcd, LocValue);
  596. goto <bb 5>; [INV]
  597. <bb 4> :
  598. <L1>:
  599. <bb 5> :
  600. return;
  601. }
  602. HwAccDmaCh_SetDestination_TransferSize (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  603. {
  604. <bb 2> :
  605. if (LocHwVers == 2)
  606. goto <bb 3>; [INV]
  607. else
  608. goto <bb 4>; [INV]
  609. <bb 3> :
  610. <L0>:
  611. hwv2AccInlineDmaCh_SetDestination_TransferSize (pxLocTcd, LocValue);
  612. goto <bb 5>; [INV]
  613. <bb 4> :
  614. <L1>:
  615. <bb 5> :
  616. return;
  617. }
  618. HwAccDmaCh_SetDestination_LastAddrAdj (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  619. {
  620. <bb 2> :
  621. if (LocHwVers == 2)
  622. goto <bb 3>; [INV]
  623. else
  624. goto <bb 4>; [INV]
  625. <bb 3> :
  626. <L0>:
  627. hwv2AccInlineDmaCh_SetDestination_LastAddrAdj (pxLocTcd, LocValue);
  628. goto <bb 5>; [INV]
  629. <bb 4> :
  630. <L1>:
  631. <bb 5> :
  632. return;
  633. }
  634. HwAccDmaCh_SetDestination_SignedOffset (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  635. {
  636. <bb 2> :
  637. if (LocHwVers == 2)
  638. goto <bb 3>; [INV]
  639. else
  640. goto <bb 4>; [INV]
  641. <bb 3> :
  642. <L0>:
  643. hwv2AccInlineDmaCh_SetDestination_SignedOffset (pxLocTcd, LocValue);
  644. goto <bb 5>; [INV]
  645. <bb 4> :
  646. <L1>:
  647. <bb 5> :
  648. return;
  649. }
  650. HwAccDmaCh_SetDestination_Address (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  651. {
  652. <bb 2> :
  653. if (LocHwVers == 2)
  654. goto <bb 3>; [INV]
  655. else
  656. goto <bb 4>; [INV]
  657. <bb 3> :
  658. <L0>:
  659. hwv2AccInlineDmaCh_SetDestination_Address (pxLocTcd, LocValue);
  660. goto <bb 5>; [INV]
  661. <bb 4> :
  662. <L1>:
  663. <bb 5> :
  664. return;
  665. }
  666. HwAccDmaCh_SetSource_Modulo (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  667. {
  668. <bb 2> :
  669. if (LocHwVers == 2)
  670. goto <bb 3>; [INV]
  671. else
  672. goto <bb 4>; [INV]
  673. <bb 3> :
  674. <L0>:
  675. hwv2AccInlineDmaCh_SetSource_Modulo (pxLocTcd, LocValue);
  676. goto <bb 5>; [INV]
  677. <bb 4> :
  678. <L1>:
  679. <bb 5> :
  680. return;
  681. }
  682. HwAccDmaCh_SetSource_TransferSize (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  683. {
  684. <bb 2> :
  685. if (LocHwVers == 2)
  686. goto <bb 3>; [INV]
  687. else
  688. goto <bb 4>; [INV]
  689. <bb 3> :
  690. <L0>:
  691. hwv2AccInlineDmaCh_SetSource_TransferSize (pxLocTcd, LocValue);
  692. goto <bb 5>; [INV]
  693. <bb 4> :
  694. <L1>:
  695. <bb 5> :
  696. return;
  697. }
  698. HwAccDmaCh_SetSource_LastAddrAdj (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  699. {
  700. <bb 2> :
  701. if (LocHwVers == 2)
  702. goto <bb 3>; [INV]
  703. else
  704. goto <bb 4>; [INV]
  705. <bb 3> :
  706. <L0>:
  707. hwv2AccInlineDmaCh_SetSource_SignedLastAddrAdj (pxLocTcd, LocValue);
  708. goto <bb 5>; [INV]
  709. <bb 4> :
  710. <L1>:
  711. <bb 5> :
  712. return;
  713. }
  714. HwAccDmaCh_SetSource_SignedOffset (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  715. {
  716. <bb 2> :
  717. if (LocHwVers == 2)
  718. goto <bb 3>; [INV]
  719. else
  720. goto <bb 4>; [INV]
  721. <bb 3> :
  722. <L0>:
  723. hwv2AccInlineDmaCh_SetSource_SignedOffset (pxLocTcd, LocValue);
  724. goto <bb 5>; [INV]
  725. <bb 4> :
  726. <L1>:
  727. <bb 5> :
  728. return;
  729. }
  730. HwAccDmaCh_SetSource_Address (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  731. {
  732. <bb 2> :
  733. if (LocHwVers == 2)
  734. goto <bb 3>; [INV]
  735. else
  736. goto <bb 4>; [INV]
  737. <bb 3> :
  738. <L0>:
  739. hwv2AccInlineDmaCh_SetSource_Address (pxLocTcd, LocValue);
  740. goto <bb 5>; [INV]
  741. <bb 4> :
  742. <L1>:
  743. <bb 5> :
  744. return;
  745. }
  746. HwAccDmaCh_SetGlobalParam (const uint32 Parameter, const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  747. {
  748. static void (*<T626>) (const uint32, const uint32, const uint32, const uint32) fpHwAcc_DmaCh_SetGlobalParam[11] = {HwAccDmaCh_SetGlobalDummyFunction, HwAccDmaCh_SetGlobalDummyFunction, HwAccDmaCh_SetRequest_EnMuxSource, HwAccDmaCh_SetRequest_MuxSource, HwAccDmaCh_SetRequest_EnMuxTrigger, HwAccDmaCh_SetRequest_EnRequest, HwAccDmaCh_SetInterrupt_EnError, HwAccDmaCh_SetGlobalDummyFunction, HwAccDmaCh_SetPriority_Level, HwAccDmaCh_SetPriority_EnPreemption, HwAccDmaCh_SetPriority_DisPreempt};
  749. <bb 2> :
  750. _1 = fpHwAcc_DmaCh_SetGlobalParam[Parameter];
  751. _1 (LocHwVers, LocHwInst, LocHwCh, LocValue);
  752. return;
  753. }
  754. HwAccDmaCh_SetPriority_DisPreempt (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  755. {
  756. <bb 2> :
  757. if (LocHwVers == 2)
  758. goto <bb 3>; [INV]
  759. else
  760. goto <bb 4>; [INV]
  761. <bb 3> :
  762. <L0>:
  763. _1 = 1073774592B;
  764. _2 = LocHwCh ^ 3;
  765. hwv2AccInlineDmaCh_SetPriority_DisPreempt (_1, _2, LocValue);
  766. goto <bb 5>; [INV]
  767. <bb 4> :
  768. <L1>:
  769. <bb 5> :
  770. return;
  771. }
  772. HwAccDmaCh_SetPriority_EnPreemption (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  773. {
  774. <bb 2> :
  775. if (LocHwVers == 2)
  776. goto <bb 3>; [INV]
  777. else
  778. goto <bb 4>; [INV]
  779. <bb 3> :
  780. <L0>:
  781. _1 = 1073774592B;
  782. _2 = LocHwCh ^ 3;
  783. hwv2AccInlineDmaCh_SetPriority_EnPreemption (_1, _2, LocValue);
  784. goto <bb 5>; [INV]
  785. <bb 4> :
  786. <L1>:
  787. <bb 5> :
  788. return;
  789. }
  790. HwAccDmaCh_SetPriority_Level (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  791. {
  792. <bb 2> :
  793. if (LocHwVers == 2)
  794. goto <bb 3>; [INV]
  795. else
  796. goto <bb 4>; [INV]
  797. <bb 3> :
  798. <L0>:
  799. _1 = 1073774592B;
  800. _2 = LocHwCh ^ 3;
  801. hwv2AccInlineDmaCh_SetPriority_Level (_1, _2, LocValue);
  802. goto <bb 5>; [INV]
  803. <bb 4> :
  804. <L1>:
  805. <bb 5> :
  806. return;
  807. }
  808. HwAccDmaCh_SetInterrupt_EnError (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  809. {
  810. <bb 2> :
  811. if (LocHwVers == 2)
  812. goto <bb 3>; [INV]
  813. else
  814. goto <bb 4>; [INV]
  815. <bb 3> :
  816. <L0>:
  817. _1 = 1073774592B;
  818. hwv2AccInlineDmaCh_SetInterrupt_EnError (_1, LocHwCh, LocValue);
  819. goto <bb 5>; [INV]
  820. <bb 4> :
  821. <L1>:
  822. <bb 5> :
  823. return;
  824. }
  825. HwAccDmaCh_SetRequest_EnRequest (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  826. {
  827. <bb 2> :
  828. if (LocHwVers == 2)
  829. goto <bb 3>; [INV]
  830. else
  831. goto <bb 4>; [INV]
  832. <bb 3> :
  833. <L0>:
  834. _1 = 1073774592B;
  835. hwv2AccInlineDmaCh_SetRequest_EnHwRequest (_1, LocHwCh, LocValue);
  836. goto <bb 5>; [INV]
  837. <bb 4> :
  838. <L1>:
  839. <bb 5> :
  840. return;
  841. }
  842. HwAccDmaCh_SetRequest_EnMuxTrigger (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  843. {
  844. uint32 LocDmaMuxCh;
  845. uint32 LocDmaMuxInst;
  846. uint32 LocDmaCh;
  847. <bb 2> :
  848. LocDmaCh = 0;
  849. LocDmaMuxInst = 0;
  850. LocDmaMuxCh = 0;
  851. if (LocHwVers == 2)
  852. goto <bb 3>; [INV]
  853. else
  854. goto <bb 4>; [INV]
  855. <bb 3> :
  856. <L0>:
  857. _1 = LocHwInst * 16;
  858. LocDmaCh = LocHwCh + _1;
  859. LocDmaMuxInst = LocDmaCh / 16;
  860. LocDmaMuxCh = LocDmaCh & 15;
  861. _2 = 1073876992B;
  862. _3 = &_2->CHCFG[LocDmaMuxCh];
  863. hwv2AccInlineDmaCh_SetRequest_EnTriggerMux (_3, LocValue);
  864. goto <bb 5>; [INV]
  865. <bb 4> :
  866. <L1>:
  867. <bb 5> :
  868. return;
  869. }
  870. HwAccDmaCh_SetRequest_MuxSource (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  871. {
  872. uint32 LocDmaMuxCh;
  873. uint32 LocDmaMuxInst;
  874. uint32 LocDmaCh;
  875. <bb 2> :
  876. LocDmaCh = 0;
  877. LocDmaMuxInst = 0;
  878. LocDmaMuxCh = 0;
  879. if (LocHwVers == 2)
  880. goto <bb 3>; [INV]
  881. else
  882. goto <bb 4>; [INV]
  883. <bb 3> :
  884. <L0>:
  885. _1 = LocHwInst * 16;
  886. LocDmaCh = LocHwCh + _1;
  887. LocDmaMuxInst = LocDmaCh / 16;
  888. LocDmaMuxCh = LocDmaCh & 15;
  889. _2 = 1073876992B;
  890. _3 = &_2->CHCFG[LocDmaMuxCh];
  891. hwv2AccInlineDmaCh_SetRequest_SourceMux (_3, LocValue);
  892. goto <bb 5>; [INV]
  893. <bb 4> :
  894. <L1>:
  895. <bb 5> :
  896. return;
  897. }
  898. HwAccDmaCh_SetRequest_EnMuxSource (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  899. {
  900. uint32 LocDmaMuxCh;
  901. uint32 LocDmaMuxInst;
  902. uint32 LocDmaCh;
  903. <bb 2> :
  904. LocDmaCh = 0;
  905. LocDmaMuxInst = 0;
  906. LocDmaMuxCh = 0;
  907. if (LocHwVers == 2)
  908. goto <bb 3>; [INV]
  909. else
  910. goto <bb 4>; [INV]
  911. <bb 3> :
  912. <L0>:
  913. _1 = LocHwInst * 16;
  914. LocDmaCh = LocHwCh + _1;
  915. LocDmaMuxInst = LocDmaCh / 16;
  916. LocDmaMuxCh = LocDmaCh & 15;
  917. _2 = 1073876992B;
  918. _3 = &_2->CHCFG[LocDmaMuxCh];
  919. hwv2AccInlineDmaCh_SetRequest_EnHwRequestMux (_3, LocValue);
  920. goto <bb 5>; [INV]
  921. <bb 4> :
  922. <L1>:
  923. <bb 5> :
  924. return;
  925. }
  926. HwAccDmaCh_GetStatus_Error (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const pLocError)
  927. {
  928. <bb 2> :
  929. if (LocHwVers == 2)
  930. goto <bb 3>; [INV]
  931. else
  932. goto <bb 4>; [INV]
  933. <bb 3> :
  934. <L0>:
  935. _1 = 1073774592B;
  936. hwv2AccInlineDmaCh_GetErrorStatus (LocHwCh, _1, pLocError);
  937. goto <bb 5>; [INV]
  938. <bb 4> :
  939. <L1>:
  940. <bb 5> :
  941. return;
  942. }
  943. HwAccDmaCh_GetStatus (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, struct Dma_Ip_LogicChannelStatusType * const pChStatus)
  944. {
  945. <bb 2> :
  946. if (LocHwVers == 2)
  947. goto <bb 3>; [INV]
  948. else
  949. goto <bb 4>; [INV]
  950. <bb 3> :
  951. <L0>:
  952. _1 = 1073778688B;
  953. _2 = &_1->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  954. _3 = &pChStatus->Active;
  955. hwv2AccInlineDmaCh_GetActiveStatus (_2, _3);
  956. _4 = 1073778688B;
  957. _5 = &_4->TCD_RSV[LocHwCh].tChTcdReg.tTcdReg;
  958. _6 = &pChStatus->Done;
  959. hwv2AccInlineDmaCh_GetDoneStatus (_5, _6);
  960. goto <bb 5>; [INV]
  961. <bb 4> :
  962. <L1>:
  963. <bb 5> :
  964. return;
  965. }
  966. HwAccDmaCh_SetCommand (const uint32 Command, const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  967. {
  968. static void (*<T60e>) (const uint32, const uint32, const uint32) fpHwAcc_DmaCh_Command[5] = {HwAccDmaCh_CmdSetHwRequest, HwAccDmaCh_CmdClearHwRequest, HwAccDmaCh_CmdSetSwRequest, HwAccDmaCh_CmdClearDone, HwAccDmaCh_CmdClearError};
  969. <bb 2> :
  970. _1 = fpHwAcc_DmaCh_Command[Command];
  971. _1 (LocHwVers, LocHwInst, LocHwCh);
  972. return;
  973. }
  974. HwAccDmaCh_CmdClearError (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  975. {
  976. <bb 2> :
  977. if (LocHwVers == 2)
  978. goto <bb 3>; [INV]
  979. else
  980. goto <bb 4>; [INV]
  981. <bb 3> :
  982. <L0>:
  983. _1 = 1073774592B;
  984. hwv2AccInlineDmaCh_CmdClearError (_1, LocHwCh);
  985. goto <bb 5>; [INV]
  986. <bb 4> :
  987. <L1>:
  988. <bb 5> :
  989. return;
  990. }
  991. HwAccDmaCh_CmdClearDone (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  992. {
  993. <bb 2> :
  994. if (LocHwVers == 2)
  995. goto <bb 3>; [INV]
  996. else
  997. goto <bb 4>; [INV]
  998. <bb 3> :
  999. <L0>:
  1000. _1 = 1073774592B;
  1001. hwv2AccInlineDmaCh_CmdClearDone (_1, LocHwCh);
  1002. goto <bb 5>; [INV]
  1003. <bb 4> :
  1004. <L1>:
  1005. <bb 5> :
  1006. return;
  1007. }
  1008. HwAccDmaCh_CmdSetSwRequest (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  1009. {
  1010. <bb 2> :
  1011. if (LocHwVers == 2)
  1012. goto <bb 3>; [INV]
  1013. else
  1014. goto <bb 4>; [INV]
  1015. <bb 3> :
  1016. <L0>:
  1017. _1 = 1073774592B;
  1018. hwv2AccInlineDmaCh_CmdSwReqStart (_1, LocHwCh);
  1019. goto <bb 5>; [INV]
  1020. <bb 4> :
  1021. <L1>:
  1022. <bb 5> :
  1023. return;
  1024. }
  1025. HwAccDmaCh_CmdClearHwRequest (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  1026. {
  1027. <bb 2> :
  1028. if (LocHwVers == 2)
  1029. goto <bb 3>; [INV]
  1030. else
  1031. goto <bb 4>; [INV]
  1032. <bb 3> :
  1033. <L0>:
  1034. _1 = 1073774592B;
  1035. hwv2AccInlineDmaCh_CmdClearRequest (_1, LocHwCh);
  1036. goto <bb 5>; [INV]
  1037. <bb 4> :
  1038. <L1>:
  1039. <bb 5> :
  1040. return;
  1041. }
  1042. HwAccDmaCh_CmdSetHwRequest (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh)
  1043. {
  1044. <bb 2> :
  1045. if (LocHwVers == 2)
  1046. goto <bb 3>; [INV]
  1047. else
  1048. goto <bb 4>; [INV]
  1049. <bb 3> :
  1050. <L0>:
  1051. _1 = 1073774592B;
  1052. hwv2AccInlineDmaCh_CmdSetRequest (_1, LocHwCh);
  1053. goto <bb 5>; [INV]
  1054. <bb 4> :
  1055. <L1>:
  1056. <bb 5> :
  1057. return;
  1058. }
  1059. HwAccDmaInst_GetStatus (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst, struct Dma_Ip_LogicInstanceStatusType * const Status)
  1060. {
  1061. uint32 LocHwInst;
  1062. uint32 LocHwVers;
  1063. <bb 2> :
  1064. _1 = pxLocLogicInst->HwVersId;
  1065. LocHwVers = (uint32) _1;
  1066. _2 = pxLocLogicInst->HwInstId;
  1067. LocHwInst = (uint32) _2;
  1068. if (LocHwVers == 2)
  1069. goto <bb 3>; [INV]
  1070. else
  1071. goto <bb 4>; [INV]
  1072. <bb 3> :
  1073. <L0>:
  1074. _3 = 1073774592B;
  1075. _4 = &Status->Errors;
  1076. hwv2AccInlineDmaInst_GetErrorStatus (_3, _4);
  1077. _5 = 1073774592B;
  1078. _6 = &Status->ActiveId;
  1079. hwv2AccInlineDmaInst_GetActiveIdStatus (_5, _6);
  1080. _7 = 1073774592B;
  1081. _8 = &Status->Active;
  1082. hwv2AccInlineDmaInst_GetActiveStatus (_7, _8);
  1083. goto <bb 5>; [INV]
  1084. <bb 4> :
  1085. <L1>:
  1086. <bb 5> :
  1087. return;
  1088. }
  1089. HwAccDmaInst_SetCommand (const uint32 Command, const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst)
  1090. {
  1091. static void (*<T5fa>) (const struct Dma_Ip_LogicInstanceIdType * const) fpHwAcc_DmaInst_Command[4] = {hwAccDmaInst_CmdCancelTransfer, hwAccDmaInst_CmdCancelTransferWithError, hwAccDmaInst_CmdHalt, hwAccDmaInst_CmdResume};
  1092. <bb 2> :
  1093. _1 = fpHwAcc_DmaInst_Command[Command];
  1094. _1 (pxLocLogicInst);
  1095. return;
  1096. }
  1097. hwAccDmaInst_CmdResume (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst)
  1098. {
  1099. uint32 LocHwInst;
  1100. uint32 LocHwVers;
  1101. <bb 2> :
  1102. _1 = pxLocLogicInst->HwVersId;
  1103. LocHwVers = (uint32) _1;
  1104. _2 = pxLocLogicInst->HwInstId;
  1105. LocHwInst = (uint32) _2;
  1106. if (LocHwVers == 2)
  1107. goto <bb 3>; [INV]
  1108. else
  1109. goto <bb 4>; [INV]
  1110. <bb 3> :
  1111. <L0>:
  1112. _3 = 1073774592B;
  1113. hwv2AccInlineDmaInst_CmdResume (_3);
  1114. goto <bb 5>; [INV]
  1115. <bb 4> :
  1116. <L1>:
  1117. <bb 5> :
  1118. return;
  1119. }
  1120. hwAccDmaInst_CmdHalt (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst)
  1121. {
  1122. uint32 LocHwInst;
  1123. uint32 LocHwVers;
  1124. <bb 2> :
  1125. _1 = pxLocLogicInst->HwVersId;
  1126. LocHwVers = (uint32) _1;
  1127. _2 = pxLocLogicInst->HwInstId;
  1128. LocHwInst = (uint32) _2;
  1129. if (LocHwVers == 2)
  1130. goto <bb 3>; [INV]
  1131. else
  1132. goto <bb 4>; [INV]
  1133. <bb 3> :
  1134. <L0>:
  1135. _3 = 1073774592B;
  1136. hwv2AccInlineDmaInst_CmdHalt (_3);
  1137. goto <bb 5>; [INV]
  1138. <bb 4> :
  1139. <L1>:
  1140. <bb 5> :
  1141. return;
  1142. }
  1143. hwAccDmaInst_CmdCancelTransferWithError (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst)
  1144. {
  1145. uint32 LocHwInst;
  1146. uint32 LocHwVers;
  1147. <bb 2> :
  1148. _1 = pxLocLogicInst->HwVersId;
  1149. LocHwVers = (uint32) _1;
  1150. _2 = pxLocLogicInst->HwInstId;
  1151. LocHwInst = (uint32) _2;
  1152. if (LocHwVers == 2)
  1153. goto <bb 3>; [INV]
  1154. else
  1155. goto <bb 4>; [INV]
  1156. <bb 3> :
  1157. <L0>:
  1158. _3 = 1073774592B;
  1159. hwv2AccInlineDmaInst_CmdCancelTransferWithError (_3);
  1160. goto <bb 5>; [INV]
  1161. <bb 4> :
  1162. <L1>:
  1163. <bb 5> :
  1164. return;
  1165. }
  1166. hwAccDmaInst_CmdCancelTransfer (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst)
  1167. {
  1168. uint32 LocHwInst;
  1169. uint32 LocHwVers;
  1170. <bb 2> :
  1171. _1 = pxLocLogicInst->HwVersId;
  1172. LocHwVers = (uint32) _1;
  1173. _2 = pxLocLogicInst->HwInstId;
  1174. LocHwInst = (uint32) _2;
  1175. if (LocHwVers == 2)
  1176. goto <bb 3>; [INV]
  1177. else
  1178. goto <bb 4>; [INV]
  1179. <bb 3> :
  1180. <L0>:
  1181. _3 = 1073774592B;
  1182. hwv2AccInlineDmaInst_CmdCancelTransfer (_3);
  1183. goto <bb 5>; [INV]
  1184. <bb 4> :
  1185. <L1>:
  1186. <bb 5> :
  1187. return;
  1188. }
  1189. HwAccDmaInst_SetConfig (const struct Dma_Ip_LogicInstanceIdType * const pxLocLogicInst, const struct Dma_Ip_LogicInstanceConfigType * const pxLocInstConfig)
  1190. {
  1191. uint32 LocHwInst;
  1192. uint32 LocHwVers;
  1193. <bb 2> :
  1194. _1 = pxLocLogicInst->HwVersId;
  1195. LocHwVers = (uint32) _1;
  1196. _2 = pxLocLogicInst->HwInstId;
  1197. LocHwInst = (uint32) _2;
  1198. if (LocHwVers == 2)
  1199. goto <bb 3>; [INV]
  1200. else
  1201. goto <bb 4>; [INV]
  1202. <bb 3> :
  1203. <L0>:
  1204. _3 = 1073774592B;
  1205. hwv2AccInlineDmaInst_SetConfig (_3, pxLocInstConfig);
  1206. goto <bb 5>; [INV]
  1207. <bb 4> :
  1208. <L1>:
  1209. <bb 5> :
  1210. return;
  1211. }
  1212. HwAccDmaCh_GetParamDummyFunction (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, uint32 * const retValue)
  1213. {
  1214. <bb 2> :
  1215. return;
  1216. }
  1217. HwAccDmaCh_SetTransferDummyFunction (const uint32 LocHwVers, struct Dma_Ip_TcdRegType * pxLocTcd, const uint32 LocValue)
  1218. {
  1219. <bb 2> :
  1220. return;
  1221. }
  1222. HwAccDmaCh_SetGlobalDummyFunction (const uint32 LocHwVers, const uint32 LocHwInst, const uint32 LocHwCh, const uint32 LocValue)
  1223. {
  1224. <bb 2> :
  1225. return;
  1226. }
  1227. hwv2AccInlineDmaCh_SetSignedMinorLoopOffset (struct Dma_Ip_TcdRegType * ptTcd, const struct Dma_Ip_ScatterGatherConfigType * const pxLocScatterGather)
  1228. {
  1229. uint32 reg;
  1230. long unsigned int iftmp.12;
  1231. long unsigned int iftmp.11;
  1232. <bb 2> :
  1233. reg = ptTcd->reg_NBYTES.reg_MLOFFYES;
  1234. _1 = reg & 2147483647;
  1235. _2 = pxLocScatterGather->TransferConfig;
  1236. _3 = _2->MinorLoop.EnSrcOffset;
  1237. if (_3 != 0)
  1238. goto <bb 3>; [INV]
  1239. else
  1240. goto <bb 4>; [INV]
  1241. <bb 3> :
  1242. iftmp.11 = 2147483648;
  1243. goto <bb 5>; [INV]
  1244. <bb 4> :
  1245. iftmp.11 = 0;
  1246. <bb 5> :
  1247. reg = iftmp.11 | _1;
  1248. _4 = reg & 3221225471;
  1249. _5 = pxLocScatterGather->TransferConfig;
  1250. _6 = _5->MinorLoop.EnDstOffset;
  1251. if (_6 != 0)
  1252. goto <bb 6>; [INV]
  1253. else
  1254. goto <bb 7>; [INV]
  1255. <bb 6> :
  1256. iftmp.12 = 1073741824;
  1257. goto <bb 8>; [INV]
  1258. <bb 7> :
  1259. iftmp.12 = 0;
  1260. <bb 8> :
  1261. reg = iftmp.12 | _4;
  1262. _7 = reg & 3221226495;
  1263. _8 = pxLocScatterGather->TransferConfig;
  1264. _9 = _8->MinorLoop.Offset;
  1265. _10 = (long unsigned int) _9;
  1266. _11 = _10 << 10;
  1267. _12 = _11 & 1073740800;
  1268. reg = _7 | _12;
  1269. ptTcd->reg_NBYTES.reg_MLOFFYES = reg;
  1270. return;
  1271. }
  1272. hwv2AccInlineDmaCh_SetTransferAttributes (struct Dma_Ip_TcdRegType * ptTcd, const struct Dma_Ip_ScatterGatherConfigType * const pxLocScatterGather)
  1273. {
  1274. uint16 reg;
  1275. <bb 2> :
  1276. reg = ptTcd->reg_ATTR;
  1277. _1 = reg & 63743;
  1278. _2 = pxLocScatterGather->TransferConfig;
  1279. _3 = _2->Source.TransferSize;
  1280. _4 = (short unsigned int) _3;
  1281. _5 = _4 << 8;
  1282. _6 = _5 & 1792;
  1283. reg = _1 | _6;
  1284. _7 = reg & 2047;
  1285. _8 = pxLocScatterGather->TransferConfig;
  1286. _9 = _8->Source.Modulo;
  1287. _10 = (short unsigned int) _9;
  1288. _11 = _10 << 11;
  1289. reg = _7 | _11;
  1290. _12 = reg & 65528;
  1291. _13 = pxLocScatterGather->TransferConfig;
  1292. _14 = _13->Destination.TransferSize;
  1293. _15 = (short unsigned int) _14;
  1294. _16 = _15 & 7;
  1295. reg = _12 | _16;
  1296. _17 = reg & 65287;
  1297. _18 = pxLocScatterGather->TransferConfig;
  1298. _19 = _18->Destination.Modulo;
  1299. _20 = (short unsigned int) _19;
  1300. _21 = _20 << 3;
  1301. _22 = _21 & 255;
  1302. reg = _17 | _22;
  1303. ptTcd->reg_ATTR = reg;
  1304. return;
  1305. }
  1306. hwv2AccInlineDmaCh_SetControlAndStatus (struct Dma_Ip_TcdRegType * ptTcd, const struct Dma_Ip_ScatterGatherConfigType * const pxLocScatterGather)
  1307. {
  1308. uint16 reg;
  1309. uint16 iftmp.10;
  1310. uint16 iftmp.9;
  1311. uint16 iftmp.8;
  1312. <bb 2> :
  1313. reg = ptTcd->reg_CSR;
  1314. _1 = reg & 65534;
  1315. _2 = pxLocScatterGather->TransferConfig;
  1316. _3 = _2->Control.EnStart;
  1317. _4 = _3;
  1318. _5 = (short unsigned int) _4;
  1319. reg = _1 | _5;
  1320. _6 = reg & 16383;
  1321. _7 = pxLocScatterGather->TransferConfig;
  1322. _8 = _7->Control.BandwidthControl;
  1323. _9 = (short unsigned int) _8;
  1324. _10 = _9 << 14;
  1325. reg = _6 | _10;
  1326. _11 = reg & 65533;
  1327. _12 = pxLocScatterGather->TransferConfig;
  1328. _13 = _12->Control.EnMajorInt;
  1329. if (_13 != 0)
  1330. goto <bb 3>; [INV]
  1331. else
  1332. goto <bb 4>; [INV]
  1333. <bb 3> :
  1334. iftmp.8 = 2;
  1335. goto <bb 5>; [INV]
  1336. <bb 4> :
  1337. iftmp.8 = 0;
  1338. <bb 5> :
  1339. reg = iftmp.8 | _11;
  1340. _14 = reg & 65531;
  1341. _15 = pxLocScatterGather->TransferConfig;
  1342. _16 = _15->Control.EnHalfMajorInt;
  1343. if (_16 != 0)
  1344. goto <bb 6>; [INV]
  1345. else
  1346. goto <bb 7>; [INV]
  1347. <bb 6> :
  1348. iftmp.9 = 4;
  1349. goto <bb 8>; [INV]
  1350. <bb 7> :
  1351. iftmp.9 = 0;
  1352. <bb 8> :
  1353. reg = iftmp.9 | _14;
  1354. _17 = reg & 65527;
  1355. _18 = pxLocScatterGather->TransferConfig;
  1356. _19 = _18->Control.DisAutoHwRequest;
  1357. if (_19 != 0)
  1358. goto <bb 9>; [INV]
  1359. else
  1360. goto <bb 10>; [INV]
  1361. <bb 9> :
  1362. iftmp.10 = 8;
  1363. goto <bb 11>; [INV]
  1364. <bb 10> :
  1365. iftmp.10 = 0;
  1366. <bb 11> :
  1367. reg = iftmp.10 | _17;
  1368. ptTcd->reg_CSR = reg;
  1369. return;
  1370. }
  1371. hwv2AccInlineDmaCh_SetAuxiliary_EnScatterGatherProcessing (struct Dma_Ip_TcdRegType * ptTcd, boolean Value)
  1372. {
  1373. uint16 reg;
  1374. uint16 iftmp.7;
  1375. <bb 2> :
  1376. reg = ptTcd->reg_CSR;
  1377. _1 = reg & 65519;
  1378. if (Value != 0)
  1379. goto <bb 3>; [INV]
  1380. else
  1381. goto <bb 4>; [INV]
  1382. <bb 3> :
  1383. iftmp.7 = 16;
  1384. goto <bb 5>; [INV]
  1385. <bb 4> :
  1386. iftmp.7 = 0;
  1387. <bb 5> :
  1388. _2 = iftmp.7 | _1;
  1389. ptTcd->reg_CSR = _2;
  1390. return;
  1391. }
  1392. hwv2AccInlineDmaCh_GetIntHalfMajor (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1393. {
  1394. <bb 2> :
  1395. _1 = ptTcd->reg_CSR;
  1396. _2 = (long unsigned int) _1;
  1397. _3 = _2 >> 2;
  1398. _4 = _3 & 1;
  1399. *retValue = _4;
  1400. return;
  1401. }
  1402. hwv2AccInlineDmaCh_GetIntMajor (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1403. {
  1404. <bb 2> :
  1405. _1 = ptTcd->reg_CSR;
  1406. _2 = (long unsigned int) _1;
  1407. _3 = _2 >> 1;
  1408. _4 = _3 & 1;
  1409. *retValue = _4;
  1410. return;
  1411. }
  1412. hwv2AccInlineDmaCh_GetCurrentIterCount (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1413. {
  1414. uint16 reg;
  1415. <bb 2> :
  1416. _1 = ptTcd->reg_CITER.reg_ELINKYES;
  1417. reg = _1 & 32768;
  1418. if (reg != 0)
  1419. goto <bb 3>; [INV]
  1420. else
  1421. goto <bb 4>; [INV]
  1422. <bb 3> :
  1423. _2 = ptTcd->reg_CITER.reg_ELINKYES;
  1424. _3 = (long unsigned int) _2;
  1425. _4 = _3 & 511;
  1426. *retValue = _4;
  1427. goto <bb 5>; [INV]
  1428. <bb 4> :
  1429. _5 = ptTcd->reg_CITER.reg_ELINKNO;
  1430. _6 = (long unsigned int) _5;
  1431. _7 = _6 & 32767;
  1432. *retValue = _7;
  1433. <bb 5> :
  1434. return;
  1435. }
  1436. hwv2AccInlineDmaCh_GetBeginIterCount (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1437. {
  1438. uint16 reg;
  1439. <bb 2> :
  1440. _1 = ptTcd->reg_BITER.reg_ELINKYES;
  1441. reg = _1 & 32768;
  1442. if (reg != 0)
  1443. goto <bb 3>; [INV]
  1444. else
  1445. goto <bb 4>; [INV]
  1446. <bb 3> :
  1447. _2 = ptTcd->reg_BITER.reg_ELINKYES;
  1448. _3 = (long unsigned int) _2;
  1449. _4 = _3 & 511;
  1450. *retValue = _4;
  1451. goto <bb 5>; [INV]
  1452. <bb 4> :
  1453. _5 = ptTcd->reg_BITER.reg_ELINKYES;
  1454. _6 = (long unsigned int) _5;
  1455. _7 = _6 & 32767;
  1456. *retValue = _7;
  1457. <bb 5> :
  1458. return;
  1459. }
  1460. hwv2AccInlineDmaCh_GetDestinationAddress (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1461. {
  1462. <bb 2> :
  1463. _1 = ptTcd->reg_DADDR;
  1464. *retValue = _1;
  1465. return;
  1466. }
  1467. hwv2AccInlineDmaCh_GetSourceAddress (const struct Dma_Ip_TcdRegType * ptTcd, uint32 * const retValue)
  1468. {
  1469. <bb 2> :
  1470. _1 = ptTcd->reg_SADDR;
  1471. *retValue = _1;
  1472. return;
  1473. }
  1474. hwv2AccInlineDmaCh_SetControl_BandwidthControl (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1475. {
  1476. uint16 reg;
  1477. <bb 2> :
  1478. reg = ptTcd->reg_CSR;
  1479. _1 = reg & 16383;
  1480. _2 = (short unsigned int) Value;
  1481. _3 = _2 << 14;
  1482. _4 = _1 | _3;
  1483. ptTcd->reg_CSR = _4;
  1484. return;
  1485. }
  1486. hwv2AccInlineDmaCh_SetControl_DisAutoHwRequest (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1487. {
  1488. uint16 reg;
  1489. <bb 2> :
  1490. reg = ptTcd->reg_CSR;
  1491. _1 = reg & 65527;
  1492. _2 = (short unsigned int) Value;
  1493. _3 = _2 << 3;
  1494. _4 = _3 & 8;
  1495. _5 = _1 | _4;
  1496. ptTcd->reg_CSR = _5;
  1497. return;
  1498. }
  1499. hwv2AccInlineDmaCh_SetControl_EnHalfMajor (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1500. {
  1501. uint16 reg;
  1502. <bb 2> :
  1503. reg = ptTcd->reg_CSR;
  1504. _1 = reg & 65531;
  1505. _2 = (short unsigned int) Value;
  1506. _3 = _2 << 2;
  1507. _4 = _3 & 4;
  1508. _5 = _1 | _4;
  1509. ptTcd->reg_CSR = _5;
  1510. return;
  1511. }
  1512. hwv2AccInlineDmaCh_SetControl_EnMajor (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1513. {
  1514. uint16 reg;
  1515. <bb 2> :
  1516. reg = ptTcd->reg_CSR;
  1517. _1 = reg & 65533;
  1518. _2 = (short unsigned int) Value;
  1519. _3 = _2 << 1;
  1520. _4 = _3 & 2;
  1521. _5 = _1 | _4;
  1522. ptTcd->reg_CSR = _5;
  1523. return;
  1524. }
  1525. hwv2AccInlineDmaCh_SetControl_EnStart (struct Dma_Ip_TcdRegType * ptTcd, const boolean Value)
  1526. {
  1527. uint16 reg;
  1528. <bb 2> :
  1529. reg = ptTcd->reg_CSR;
  1530. _1 = reg & 65534;
  1531. _2 = Value;
  1532. _3 = (short unsigned int) _2;
  1533. _4 = _1 | _3;
  1534. ptTcd->reg_CSR = _4;
  1535. return;
  1536. }
  1537. hwv2AccInlineDmaCh_SetControl_ScatterGatherAddress (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1538. {
  1539. uint32 reg;
  1540. <bb 2> :
  1541. reg = ptTcd->reg_DLAST_SGA;
  1542. ptTcd->reg_DLAST_SGA = Value;
  1543. return;
  1544. }
  1545. hwv2AccInlineDmaCh_SetMajorLoop_Count (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1546. {
  1547. uint16 reg;
  1548. <bb 2> :
  1549. _1 = ptTcd->reg_BITER.reg_ELINKYES;
  1550. _2 = ptTcd->reg_CITER.reg_ELINKYES;
  1551. _3 = _1 | _2;
  1552. reg = _3 & 32768;
  1553. if (reg != 0)
  1554. goto <bb 3>; [INV]
  1555. else
  1556. goto <bb 4>; [INV]
  1557. <bb 3> :
  1558. reg = ptTcd->reg_BITER.reg_ELINKYES;
  1559. _4 = reg & 65024;
  1560. _5 = (short unsigned int) Value;
  1561. _6 = _5 & 511;
  1562. _7 = _4 | _6;
  1563. ptTcd->reg_BITER.reg_ELINKYES = _7;
  1564. reg = ptTcd->reg_CITER.reg_ELINKYES;
  1565. _8 = reg & 65024;
  1566. _9 = (short unsigned int) Value;
  1567. _10 = _9 & 511;
  1568. _11 = _8 | _10;
  1569. ptTcd->reg_CITER.reg_ELINKYES = _11;
  1570. goto <bb 5>; [INV]
  1571. <bb 4> :
  1572. reg = ptTcd->reg_BITER.reg_ELINKNO;
  1573. _12 = reg & 32768;
  1574. _13 = (short unsigned int) Value;
  1575. _14 = _13 & 32767;
  1576. _15 = _12 | _14;
  1577. ptTcd->reg_BITER.reg_ELINKNO = _15;
  1578. reg = ptTcd->reg_CITER.reg_ELINKNO;
  1579. _16 = reg & 32768;
  1580. _17 = (short unsigned int) Value;
  1581. _18 = _17 & 32767;
  1582. _19 = _16 | _18;
  1583. ptTcd->reg_CITER.reg_ELINKNO = _19;
  1584. <bb 5> :
  1585. return;
  1586. }
  1587. hwv2AccInlineDmaCh_SetMajorLoop_LinkCh (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1588. {
  1589. uint16 reg;
  1590. <bb 2> :
  1591. reg = ptTcd->reg_CSR;
  1592. _1 = reg & 61695;
  1593. _2 = (short unsigned int) Value;
  1594. _3 = _2 << 8;
  1595. _4 = _3 & 3840;
  1596. _5 = _1 | _4;
  1597. ptTcd->reg_CSR = _5;
  1598. return;
  1599. }
  1600. hwv2AccInlineDmaCh_SetMajorLoop_EnLink (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1601. {
  1602. uint16 reg;
  1603. <bb 2> :
  1604. reg = ptTcd->reg_CSR;
  1605. _1 = reg & 65503;
  1606. _2 = (short unsigned int) Value;
  1607. _3 = _2 << 5;
  1608. _4 = _3 & 32;
  1609. _5 = _1 | _4;
  1610. ptTcd->reg_CSR = _5;
  1611. return;
  1612. }
  1613. hwv2AccInlineDmaCh_SetMinorLoop_Size (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1614. {
  1615. uint32 reg;
  1616. <bb 2> :
  1617. reg = ptTcd->reg_NBYTES.reg_MLOFFNO;
  1618. _1 = reg & 3221225472;
  1619. if (_1 != 0)
  1620. goto <bb 3>; [INV]
  1621. else
  1622. goto <bb 4>; [INV]
  1623. <bb 3> :
  1624. _2 = reg & 4294966272;
  1625. _3 = Value & 1023;
  1626. _4 = _2 | _3;
  1627. ptTcd->reg_NBYTES.reg_MLOFFNO = _4;
  1628. goto <bb 5>; [INV]
  1629. <bb 4> :
  1630. _5 = reg & 3221225472;
  1631. _6 = Value & 1073741823;
  1632. _7 = _5 | _6;
  1633. ptTcd->reg_NBYTES.reg_MLOFFNO = _7;
  1634. <bb 5> :
  1635. return;
  1636. }
  1637. hwv2AccInlineDmaCh_SetMinorLoop_LinkCh (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1638. {
  1639. uint16 reg;
  1640. <bb 2> :
  1641. reg = ptTcd->reg_BITER.reg_ELINKYES;
  1642. _1 = reg & 57855;
  1643. _2 = (short unsigned int) Value;
  1644. _3 = _2 << 9;
  1645. _4 = _3 & 7680;
  1646. _5 = _1 | _4;
  1647. ptTcd->reg_BITER.reg_ELINKYES = _5;
  1648. reg = ptTcd->reg_CITER.reg_ELINKYES;
  1649. _6 = reg & 57855;
  1650. _7 = (short unsigned int) Value;
  1651. _8 = _7 << 9;
  1652. _9 = _8 & 7680;
  1653. _10 = _6 | _9;
  1654. ptTcd->reg_CITER.reg_ELINKYES = _10;
  1655. return;
  1656. }
  1657. hwv2AccInlineDmaCh_SetMinorLoop_EnLink (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1658. {
  1659. uint16 reg;
  1660. <bb 2> :
  1661. reg = ptTcd->reg_BITER.reg_ELINKYES;
  1662. _1 = reg & 32767;
  1663. _2 = (short unsigned int) Value;
  1664. _3 = _2 << 15;
  1665. _4 = _1 | _3;
  1666. ptTcd->reg_BITER.reg_ELINKYES = _4;
  1667. reg = ptTcd->reg_CITER.reg_ELINKYES;
  1668. _5 = reg & 32767;
  1669. _6 = (short unsigned int) Value;
  1670. _7 = _6 << 15;
  1671. _8 = _5 | _7;
  1672. ptTcd->reg_CITER.reg_ELINKYES = _8;
  1673. return;
  1674. }
  1675. hwv2AccInlineDmaCh_SetMinorLoop_SignedOffset (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1676. {
  1677. uint32 reg;
  1678. <bb 2> :
  1679. reg = ptTcd->reg_NBYTES.reg_MLOFFYES;
  1680. _1 = reg & 3221226495;
  1681. _2 = Value << 10;
  1682. _3 = _2 & 1073740800;
  1683. _4 = _1 | _3;
  1684. ptTcd->reg_NBYTES.reg_MLOFFYES = _4;
  1685. return;
  1686. }
  1687. hwv2AccInlineDmaCh_SetMinorLoop_enDstOffset (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1688. {
  1689. uint32 reg;
  1690. <bb 2> :
  1691. reg = ptTcd->reg_NBYTES.reg_MLOFFYES;
  1692. _1 = reg & 3221225471;
  1693. _2 = Value << 30;
  1694. _3 = _2 & 1073741824;
  1695. _4 = _1 | _3;
  1696. ptTcd->reg_NBYTES.reg_MLOFFYES = _4;
  1697. return;
  1698. }
  1699. hwv2AccInlineDmaCh_SetMinorLoop_enSrcOffset (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1700. {
  1701. uint32 reg;
  1702. <bb 2> :
  1703. reg = ptTcd->reg_NBYTES.reg_MLOFFYES;
  1704. _1 = reg & 2147483647;
  1705. _2 = Value << 31;
  1706. _3 = _1 | _2;
  1707. ptTcd->reg_NBYTES.reg_MLOFFYES = _3;
  1708. return;
  1709. }
  1710. hwv2AccInlineDmaCh_SetDestination_Modulo (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1711. {
  1712. uint16 reg;
  1713. <bb 2> :
  1714. reg = ptTcd->reg_ATTR;
  1715. _1 = reg & 65287;
  1716. _2 = (short unsigned int) Value;
  1717. _3 = _2 << 3;
  1718. _4 = _3 & 255;
  1719. _5 = _1 | _4;
  1720. ptTcd->reg_ATTR = _5;
  1721. return;
  1722. }
  1723. hwv2AccInlineDmaCh_SetDestination_TransferSize (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1724. {
  1725. uint16 reg;
  1726. <bb 2> :
  1727. reg = ptTcd->reg_ATTR;
  1728. _1 = reg & 65528;
  1729. _2 = (short unsigned int) Value;
  1730. _3 = _2 & 7;
  1731. _4 = _1 | _3;
  1732. ptTcd->reg_ATTR = _4;
  1733. return;
  1734. }
  1735. hwv2AccInlineDmaCh_SetDestination_LastAddrAdj (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1736. {
  1737. uint32 reg;
  1738. <bb 2> :
  1739. reg = ptTcd->reg_DLAST_SGA;
  1740. ptTcd->reg_DLAST_SGA = Value;
  1741. return;
  1742. }
  1743. hwv2AccInlineDmaCh_SetDestination_SignedOffset (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1744. {
  1745. uint16 reg;
  1746. <bb 2> :
  1747. reg = ptTcd->reg_DOFF;
  1748. _1 = (short unsigned int) Value;
  1749. ptTcd->reg_DOFF = _1;
  1750. return;
  1751. }
  1752. hwv2AccInlineDmaCh_SetDestination_Address (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1753. {
  1754. uint32 reg;
  1755. <bb 2> :
  1756. reg = ptTcd->reg_DADDR;
  1757. ptTcd->reg_DADDR = Value;
  1758. return;
  1759. }
  1760. hwv2AccInlineDmaCh_SetSource_Modulo (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1761. {
  1762. uint32 reg;
  1763. <bb 2> :
  1764. _1 = ptTcd->reg_ATTR;
  1765. reg = (uint32) _1;
  1766. _2 = (short unsigned int) reg;
  1767. _3 = _2 & 2047;
  1768. _4 = (short unsigned int) Value;
  1769. _5 = _4 << 11;
  1770. _6 = _3 | _5;
  1771. ptTcd->reg_ATTR = _6;
  1772. return;
  1773. }
  1774. hwv2AccInlineDmaCh_SetSource_TransferSize (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1775. {
  1776. uint32 reg;
  1777. <bb 2> :
  1778. _1 = ptTcd->reg_ATTR;
  1779. reg = (uint32) _1;
  1780. _2 = (short unsigned int) reg;
  1781. _3 = _2 & 63743;
  1782. _4 = (short unsigned int) Value;
  1783. _5 = _4 << 8;
  1784. _6 = _5 & 1792;
  1785. _7 = _3 | _6;
  1786. ptTcd->reg_ATTR = _7;
  1787. return;
  1788. }
  1789. hwv2AccInlineDmaCh_SetSource_SignedLastAddrAdj (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1790. {
  1791. uint32 reg;
  1792. <bb 2> :
  1793. reg = ptTcd->reg_SLAST;
  1794. ptTcd->reg_SLAST = Value;
  1795. return;
  1796. }
  1797. hwv2AccInlineDmaCh_SetSource_SignedOffset (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1798. {
  1799. uint32 reg;
  1800. <bb 2> :
  1801. _1 = ptTcd->reg_SOFF;
  1802. reg = (uint32) _1;
  1803. _2 = (short unsigned int) Value;
  1804. ptTcd->reg_SOFF = _2;
  1805. return;
  1806. }
  1807. hwv2AccInlineDmaCh_SetSource_Address (struct Dma_Ip_TcdRegType * ptTcd, const uint32 Value)
  1808. {
  1809. uint32 reg;
  1810. <bb 2> :
  1811. reg = ptTcd->reg_SADDR;
  1812. ptTcd->reg_SADDR = Value;
  1813. return;
  1814. }
  1815. hwv2AccInlineDmaCh_SetPriority_DisPreempt (struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 Channel, uint32 Value)
  1816. {
  1817. uint8 reg;
  1818. <bb 2> :
  1819. reg = ptCh->reg_DCHPRI[Channel];
  1820. _1 = reg & 191;
  1821. _2 = (unsigned char) Value;
  1822. _3 = _2 << 6;
  1823. _4 = _3 & 64;
  1824. _5 = _1 | _4;
  1825. ptCh->reg_DCHPRI[Channel] = _5;
  1826. return;
  1827. }
  1828. hwv2AccInlineDmaCh_SetPriority_EnPreemption (struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 Channel, uint32 Value)
  1829. {
  1830. uint8 reg;
  1831. <bb 2> :
  1832. reg = ptCh->reg_DCHPRI[Channel];
  1833. _1 = reg & 127;
  1834. _2 = (unsigned char) Value;
  1835. _3 = _2 << 7;
  1836. _4 = _1 | _3;
  1837. ptCh->reg_DCHPRI[Channel] = _4;
  1838. return;
  1839. }
  1840. hwv2AccInlineDmaCh_SetPriority_Level (struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 Channel, uint32 Value)
  1841. {
  1842. uint8 reg;
  1843. <bb 2> :
  1844. reg = ptCh->reg_DCHPRI[Channel];
  1845. _1 = reg & 240;
  1846. _2 = (unsigned char) Value;
  1847. _3 = _2 & 15;
  1848. _4 = _1 | _3;
  1849. ptCh->reg_DCHPRI[Channel] = _4;
  1850. return;
  1851. }
  1852. hwv2AccInlineDmaCh_SetInterrupt_EnError (struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 Channel, uint32 Value)
  1853. {
  1854. uint32 reg;
  1855. <bb 2> :
  1856. reg = ptCh->reg_EEI;
  1857. _1 = 1 << Channel;
  1858. _2 = ~_1;
  1859. _3 = reg & _2;
  1860. _4 = Value << Channel;
  1861. _5 = _3 | _4;
  1862. ptCh->reg_EEI = _5;
  1863. return;
  1864. }
  1865. hwv2AccInlineDmaCh_SetRequest_EnHwRequest (struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 Channel, uint32 Value)
  1866. {
  1867. uint32 reg;
  1868. <bb 2> :
  1869. reg = ptCh->reg_ERQ;
  1870. _1 = 1 << Channel;
  1871. _2 = ~_1;
  1872. _3 = reg & _2;
  1873. _4 = Value << Channel;
  1874. _5 = _3 | _4;
  1875. ptCh->reg_ERQ = _5;
  1876. return;
  1877. }
  1878. hwv2AccInlineDmaCh_SetRequest_EnHwRequestMux (volatile Dma_Ip_MuxRegType * pMuxChCfg, const uint32 Value)
  1879. {
  1880. Dma_Ip_MuxRegType reg;
  1881. <bb 2> :
  1882. reg = *pMuxChCfg;
  1883. _1 = reg & 127;
  1884. _2 = (unsigned char) Value;
  1885. _3 = _2 << 7;
  1886. _4 = _1 | _3;
  1887. *pMuxChCfg = _4;
  1888. return;
  1889. }
  1890. hwv2AccInlineDmaCh_SetRequest_EnTriggerMux (volatile Dma_Ip_MuxRegType * pMuxChCfg, uint32 Value)
  1891. {
  1892. Dma_Ip_MuxRegType reg;
  1893. <bb 2> :
  1894. reg = *pMuxChCfg;
  1895. _1 = reg & 191;
  1896. _2 = (unsigned char) Value;
  1897. _3 = _2 << 6;
  1898. _4 = _3 & 64;
  1899. _5 = _1 | _4;
  1900. *pMuxChCfg = _5;
  1901. return;
  1902. }
  1903. hwv2AccInlineDmaCh_SetRequest_SourceMux (volatile Dma_Ip_MuxRegType * pMuxChCfg, const uint32 Value)
  1904. {
  1905. Dma_Ip_MuxRegType reg;
  1906. <bb 2> :
  1907. reg = *pMuxChCfg;
  1908. _1 = reg & 192;
  1909. _2 = (unsigned char) Value;
  1910. _3 = _2 & 63;
  1911. _4 = _1 | _3;
  1912. *pMuxChCfg = _4;
  1913. return;
  1914. }
  1915. hwv2AccInlineDmaCh_GetDoneStatus (const struct Dma_Ip_TcdRegType * ptTcd, boolean * const pBool)
  1916. {
  1917. <bb 2> :
  1918. _1 = ptTcd->reg_CSR;
  1919. _2 = (unsigned int) _1;
  1920. _3 = _2 >> 7;
  1921. _4 = (int) _3;
  1922. _5 = _4 & 1;
  1923. _6 = _5 != 0;
  1924. *pBool = _6;
  1925. return;
  1926. }
  1927. hwv2AccInlineDmaCh_GetActiveStatus (const struct Dma_Ip_TcdRegType * ptTcd, boolean * const pBool)
  1928. {
  1929. <bb 2> :
  1930. _1 = ptTcd->reg_CSR;
  1931. _2 = (unsigned int) _1;
  1932. _3 = _2 >> 6;
  1933. _4 = (int) _3;
  1934. _5 = _4 & 1;
  1935. _6 = _5 != 0;
  1936. *pBool = _6;
  1937. return;
  1938. }
  1939. hwv2AccInlineDmaCh_GetErrorStatus (uint32 LocHwCh, const struct Dma_Ip_Hwv2InstRegType * ptCh, uint32 * const pValue)
  1940. {
  1941. <bb 2> :
  1942. _1 = ptCh->reg_ERR;
  1943. _2 = _1 >> LocHwCh;
  1944. if (_2 != 0)
  1945. goto <bb 3>; [INV]
  1946. else
  1947. goto <bb 4>; [INV]
  1948. <bb 3> :
  1949. _3 = ptCh->reg_ES;
  1950. *pValue = _3;
  1951. goto <bb 5>; [INV]
  1952. <bb 4> :
  1953. *pValue = 0;
  1954. <bb 5> :
  1955. return;
  1956. }
  1957. hwv2AccInlineDmaCh_CmdClearError (struct Dma_Ip_Hwv2InstRegType * ptCh, const uint32 Channel)
  1958. {
  1959. uint8 reg;
  1960. <bb 2> :
  1961. _1 = (unsigned char) Channel;
  1962. reg = _1 & 15;
  1963. ptCh->reg_CERR = reg;
  1964. return;
  1965. }
  1966. hwv2AccInlineDmaCh_CmdClearDone (struct Dma_Ip_Hwv2InstRegType * ptCh, const uint32 Channel)
  1967. {
  1968. uint8 reg;
  1969. <bb 2> :
  1970. _1 = (unsigned char) Channel;
  1971. reg = _1 & 15;
  1972. ptCh->reg_CDNE = reg;
  1973. return;
  1974. }
  1975. hwv2AccInlineDmaCh_CmdSwReqStart (struct Dma_Ip_Hwv2InstRegType * ptCh, const uint32 Channel)
  1976. {
  1977. uint8 reg;
  1978. <bb 2> :
  1979. _1 = (unsigned char) Channel;
  1980. reg = _1 & 15;
  1981. ptCh->reg_SSRT = reg;
  1982. return;
  1983. }
  1984. hwv2AccInlineDmaCh_CmdClearRequest (struct Dma_Ip_Hwv2InstRegType * ptCh, const uint32 Channel)
  1985. {
  1986. uint8 reg;
  1987. <bb 2> :
  1988. _1 = (unsigned char) Channel;
  1989. reg = _1 & 15;
  1990. ptCh->reg_CERQ = reg;
  1991. return;
  1992. }
  1993. hwv2AccInlineDmaCh_CmdSetRequest (struct Dma_Ip_Hwv2InstRegType * ptCh, const uint32 Channel)
  1994. {
  1995. uint8 reg;
  1996. <bb 2> :
  1997. _1 = (unsigned char) Channel;
  1998. reg = _1 & 15;
  1999. ptCh->reg_SERQ = reg;
  2000. return;
  2001. }
  2002. hwv2AccInlineDmaInst_GetActiveStatus (const struct Dma_Ip_Hwv2InstRegType * const ptInst, boolean * const pBool)
  2003. {
  2004. <bb 2> :
  2005. _1 = ptInst->reg_CR;
  2006. _2 = (signed int) _1;
  2007. _3 = _2 < 0;
  2008. *pBool = _3;
  2009. return;
  2010. }
  2011. hwv2AccInlineDmaInst_GetActiveIdStatus (const struct Dma_Ip_Hwv2InstRegType * const ptInst, uint8 * const pValue)
  2012. {
  2013. <bb 2> :
  2014. *pValue = 255;
  2015. return;
  2016. }
  2017. hwv2AccInlineDmaInst_GetErrorStatus (const struct Dma_Ip_Hwv2InstRegType * const ptInst, uint32 * const pValue)
  2018. {
  2019. <bb 2> :
  2020. _1 = ptInst->reg_ES;
  2021. *pValue = _1;
  2022. return;
  2023. }
  2024. hwv2AccInlineDmaInst_CmdResume (struct Dma_Ip_Hwv2InstRegType * const ptInst)
  2025. {
  2026. uint32 reg;
  2027. <bb 2> :
  2028. reg = ptInst->reg_CR;
  2029. reg = reg & 4294967263;
  2030. ptInst->reg_CR = reg;
  2031. return;
  2032. }
  2033. hwv2AccInlineDmaInst_CmdHalt (struct Dma_Ip_Hwv2InstRegType * const ptInst)
  2034. {
  2035. uint32 reg;
  2036. <bb 2> :
  2037. reg = ptInst->reg_CR;
  2038. reg = reg | 32;
  2039. ptInst->reg_CR = reg;
  2040. return;
  2041. }
  2042. hwv2AccInlineDmaInst_CmdCancelTransferWithError (struct Dma_Ip_Hwv2InstRegType * const ptInst)
  2043. {
  2044. uint32 reg;
  2045. <bb 2> :
  2046. reg = ptInst->reg_CR;
  2047. reg = reg | 65536;
  2048. ptInst->reg_CR = reg;
  2049. return;
  2050. }
  2051. hwv2AccInlineDmaInst_CmdCancelTransfer (struct Dma_Ip_Hwv2InstRegType * const ptInst)
  2052. {
  2053. uint32 reg;
  2054. <bb 2> :
  2055. reg = ptInst->reg_CR;
  2056. reg = reg | 131072;
  2057. ptInst->reg_CR = reg;
  2058. return;
  2059. }
  2060. hwv2AccInlineDmaInst_SetConfig (struct Dma_Ip_Hwv2InstRegType * const ptInst, const struct Dma_Ip_LogicInstanceConfigType * const pxConfig)
  2061. {
  2062. uint32 reg;
  2063. long unsigned int iftmp.2;
  2064. long unsigned int iftmp.1;
  2065. long unsigned int iftmp.0;
  2066. <bb 2> :
  2067. reg = ptInst->reg_CR;
  2068. _1 = reg & 4294967293;
  2069. _2 = pxConfig->EnDebug;
  2070. if (_2 != 0)
  2071. goto <bb 3>; [INV]
  2072. else
  2073. goto <bb 4>; [INV]
  2074. <bb 3> :
  2075. iftmp.0 = 2;
  2076. goto <bb 5>; [INV]
  2077. <bb 4> :
  2078. iftmp.0 = 0;
  2079. <bb 5> :
  2080. reg = iftmp.0 | _1;
  2081. _3 = reg & 4294967291;
  2082. _4 = pxConfig->EnRoundRobin;
  2083. if (_4 != 0)
  2084. goto <bb 6>; [INV]
  2085. else
  2086. goto <bb 7>; [INV]
  2087. <bb 6> :
  2088. iftmp.1 = 4;
  2089. goto <bb 8>; [INV]
  2090. <bb 7> :
  2091. iftmp.1 = 0;
  2092. <bb 8> :
  2093. reg = iftmp.1 | _3;
  2094. _5 = reg & 4294967279;
  2095. _6 = pxConfig->EnHaltAfterError;
  2096. if (_6 != 0)
  2097. goto <bb 9>; [INV]
  2098. else
  2099. goto <bb 10>; [INV]
  2100. <bb 9> :
  2101. iftmp.2 = 16;
  2102. goto <bb 11>; [INV]
  2103. <bb 10> :
  2104. iftmp.2 = 0;
  2105. <bb 11> :
  2106. reg = iftmp.2 | _5;
  2107. reg = reg | 128;
  2108. reg = reg & 4294967231;
  2109. ptInst->reg_CR = reg;
  2110. return;
  2111. }