Clock_Ip_IntOsc.c.022i.opt_local_passes 19 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012
  1. DisableFirc (Clock_Ip_NameType name)
  2. {
  3. <bb 2> :
  4. DisableFirc_TrustedCall (name_2(D));
  5. return;
  6. }
  7. DisableFirc_TrustedCall (Clock_Ip_NameType name)
  8. {
  9. struct SCG_Type * _1;
  10. long unsigned int _2;
  11. struct SCG_Type * _3;
  12. long unsigned int _4;
  13. <bb 2> :
  14. _1 = 1074151424B;
  15. _2 ={v} _1->FIRCCSR;
  16. _3 = 1074151424B;
  17. _4 = _2 & 4294967294;
  18. _3->FIRCCSR ={v} _4;
  19. return;
  20. }
  21. EnableFirc (const struct Clock_Ip_IrcoscConfigType * config)
  22. {
  23. <bb 2> :
  24. EnableFirc_TrustedCall (config_2(D));
  25. return;
  26. }
  27. EnableFirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  28. {
  29. uint32 IrcoscStatus;
  30. uint32 TimeoutTicks;
  31. uint32 ElapsedTime;
  32. uint32 StartTime;
  33. boolean TimeoutOccurred;
  34. short unsigned int _1;
  35. struct SCG_Type * _2;
  36. long unsigned int _3;
  37. struct SCG_Type * _4;
  38. long unsigned int _5;
  39. struct SCG_Type * _6;
  40. long unsigned int _7;
  41. long unsigned int _8;
  42. long unsigned int TimeoutTicks.6_9;
  43. _Bool _10;
  44. <unnamed type> _11;
  45. <bb 2> :
  46. TimeoutOccurred_14 = 0;
  47. _1 = config_16(D)->enable;
  48. if (_1 == 1)
  49. goto <bb 3>; [INV]
  50. else
  51. goto <bb 8>; [INV]
  52. <bb 3> :
  53. _2 = 1074151424B;
  54. _3 ={v} _2->FIRCCSR;
  55. _4 = 1074151424B;
  56. _5 = _3 | 1;
  57. _4->FIRCCSR ={v} _5;
  58. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  59. <bb 4> :
  60. _6 = 1074151424B;
  61. _7 ={v} _6->FIRCCSR;
  62. _8 = _7 >> 24;
  63. IrcoscStatus_19 = _8 & 1;
  64. TimeoutTicks.6_9 = TimeoutTicks;
  65. TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.6_9);
  66. if (IrcoscStatus_19 == 0)
  67. goto <bb 5>; [INV]
  68. else
  69. goto <bb 6>; [INV]
  70. <bb 5> :
  71. _10 = ~TimeoutOccurred_21;
  72. if (_10 != 0)
  73. goto <bb 4>; [INV]
  74. else
  75. goto <bb 6>; [INV]
  76. <bb 6> :
  77. if (TimeoutOccurred_21 != 0)
  78. goto <bb 7>; [INV]
  79. else
  80. goto <bb 8>; [INV]
  81. <bb 7> :
  82. _11 = config_16(D)->name;
  83. ReportClockErrors (1, _11);
  84. <bb 8> :
  85. StartTime ={v} {CLOBBER};
  86. ElapsedTime ={v} {CLOBBER};
  87. TimeoutTicks ={v} {CLOBBER};
  88. return;
  89. }
  90. SetFirc (const struct Clock_Ip_IrcoscConfigType * config)
  91. {
  92. <bb 2> :
  93. SetFirc_TrustedCall (config_2(D));
  94. return;
  95. }
  96. SetFirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  97. {
  98. uint32 IrcoscStatus;
  99. uint32 TimeoutTicks;
  100. uint32 ElapsedTime;
  101. uint32 StartTime;
  102. boolean SircWasDisabled;
  103. boolean TimeoutOccurred;
  104. uint32 instance;
  105. <unnamed type> _1;
  106. unsigned char _2;
  107. struct SCG_Type * _3;
  108. long unsigned int _4;
  109. struct SCG_Type * _5;
  110. long unsigned int _6;
  111. struct SCG_Type * _7;
  112. long unsigned int _8;
  113. long unsigned int _9;
  114. unsigned char _10;
  115. long unsigned int _11;
  116. struct SCG_Type * _12;
  117. long unsigned int _13;
  118. long unsigned int _14;
  119. unsigned char _15;
  120. long unsigned int _16;
  121. struct SCG_Type * _17;
  122. long unsigned int _18;
  123. long unsigned int _19;
  124. long unsigned int _20;
  125. struct SCG_Type * _21;
  126. long unsigned int _22;
  127. long unsigned int _23;
  128. struct SCG_Type * _24;
  129. long unsigned int _25;
  130. struct SCG_Type * _26;
  131. long unsigned int _27;
  132. short unsigned int _28;
  133. unsigned char _29;
  134. long unsigned int _30;
  135. struct SCG_Type * _31;
  136. long unsigned int _32;
  137. struct SCG_Type * _33;
  138. long unsigned int _34;
  139. unsigned char _35;
  140. long unsigned int _36;
  141. long unsigned int _37;
  142. long unsigned int _38;
  143. long unsigned int _39;
  144. struct SCG_Type * _40;
  145. long unsigned int _41;
  146. struct SCG_Type * _42;
  147. long unsigned int _43;
  148. long unsigned int _44;
  149. long unsigned int TimeoutTicks.4_45;
  150. _Bool _46;
  151. <unnamed type> _47;
  152. struct SCG_Type * _48;
  153. long unsigned int _49;
  154. struct SCG_Type * _50;
  155. long unsigned int _51;
  156. short unsigned int _52;
  157. unsigned char _53;
  158. long unsigned int _54;
  159. struct SCG_Type * _55;
  160. long unsigned int _56;
  161. struct SCG_Type * _57;
  162. long unsigned int _58;
  163. unsigned char _59;
  164. long unsigned int _60;
  165. long unsigned int _61;
  166. long unsigned int _62;
  167. long unsigned int _63;
  168. struct SCG_Type * _64;
  169. long unsigned int _65;
  170. struct SCG_Type * _66;
  171. long unsigned int _67;
  172. long unsigned int _68;
  173. long unsigned int TimeoutTicks.5_69;
  174. _Bool _70;
  175. <unnamed type> _71;
  176. <bb 2> :
  177. _1 = config_79(D)->name;
  178. _2 = clockFeatures[_1][0];
  179. instance_80 = (uint32) _2;
  180. TimeoutOccurred_81 = 0;
  181. SircWasDisabled_82 = 0;
  182. _3 = 1074151424B;
  183. _4 ={v} _3->FIRCCSR;
  184. _5 = 1074151424B;
  185. _6 = _4 & 4286578687;
  186. _5->FIRCCSR ={v} _6;
  187. _7 = 1074151424B;
  188. _8 ={v} _7->FIRCCSR;
  189. _9 = _8 & 33554432;
  190. if (_9 != 0)
  191. goto <bb 3>; [INV]
  192. else
  193. goto <bb 15>; [INV]
  194. <bb 3> :
  195. _10 = config_79(D)->range;
  196. _11 = (long unsigned int) _10;
  197. _12 = 1074151424B;
  198. _13 ={v} _12->FIRCCFG;
  199. _14 = _13 & 3;
  200. if (_11 != _14)
  201. goto <bb 5>; [INV]
  202. else
  203. goto <bb 4>; [INV]
  204. <bb 4> :
  205. _15 = config_79(D)->regulator;
  206. _16 = (long unsigned int) _15;
  207. _17 = 1074151424B;
  208. _18 ={v} _17->FIRCCSR;
  209. _19 = _18 >> 3;
  210. _20 = _19 & 1;
  211. if (_16 != _20)
  212. goto <bb 5>; [INV]
  213. else
  214. goto <bb 21>; [INV]
  215. <bb 5> :
  216. _21 = 1074151424B;
  217. _22 ={v} _21->SIRCCSR;
  218. _23 = _22 & 1;
  219. if (_23 == 0)
  220. goto <bb 6>; [INV]
  221. else
  222. goto <bb 7>; [INV]
  223. <bb 6> :
  224. SircWasDisabled_92 = 1;
  225. SetSirc (0B);
  226. <bb 7> :
  227. # SircWasDisabled_72 = PHI <SircWasDisabled_82(5), SircWasDisabled_92(6)>
  228. SetInputSouceSytemClock (2);
  229. _24 = 1074151424B;
  230. _25 ={v} _24->FIRCCSR;
  231. _26 = 1074151424B;
  232. _27 = _25 & 4294967294;
  233. _26->FIRCCSR ={v} _27;
  234. _28 = config_79(D)->enable;
  235. if (_28 == 1)
  236. goto <bb 8>; [INV]
  237. else
  238. goto <bb 21>; [INV]
  239. <bb 8> :
  240. _29 = config_79(D)->range;
  241. _30 = (long unsigned int) _29;
  242. _31 = 1074151424B;
  243. _32 = _30 & 3;
  244. _31->FIRCCFG ={v} _32;
  245. _33 = 1074151424B;
  246. _34 ={v} _33->FIRCCSR;
  247. _35 = config_79(D)->regulator;
  248. _36 = (long unsigned int) _35;
  249. _37 = _36 << 3;
  250. _38 = _37 & 8;
  251. _39 = _34 | _38;
  252. _40 = 1074151424B;
  253. _41 = _39 | 1;
  254. _40->FIRCCSR ={v} _41;
  255. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  256. <bb 9> :
  257. _42 = 1074151424B;
  258. _43 ={v} _42->FIRCCSR;
  259. _44 = _43 >> 24;
  260. IrcoscStatus_99 = _44 & 1;
  261. TimeoutTicks.4_45 = TimeoutTicks;
  262. TimeoutOccurred_101 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_45);
  263. if (IrcoscStatus_99 == 0)
  264. goto <bb 10>; [INV]
  265. else
  266. goto <bb 11>; [INV]
  267. <bb 10> :
  268. _46 = ~TimeoutOccurred_101;
  269. if (_46 != 0)
  270. goto <bb 9>; [INV]
  271. else
  272. goto <bb 11>; [INV]
  273. <bb 11> :
  274. if (TimeoutOccurred_101 != 0)
  275. goto <bb 12>; [INV]
  276. else
  277. goto <bb 13>; [INV]
  278. <bb 12> :
  279. _47 = config_79(D)->name;
  280. ReportClockErrors (1, _47);
  281. <bb 13> :
  282. SetInputSouceSytemClock (3);
  283. if (SircWasDisabled_72 != 0)
  284. goto <bb 14>; [INV]
  285. else
  286. goto <bb 21>; [INV]
  287. <bb 14> :
  288. DisableSirc (2);
  289. goto <bb 21>; [INV]
  290. <bb 15> :
  291. _48 = 1074151424B;
  292. _49 ={v} _48->FIRCCSR;
  293. _50 = 1074151424B;
  294. _51 = _49 & 4294967294;
  295. _50->FIRCCSR ={v} _51;
  296. _52 = config_79(D)->enable;
  297. if (_52 == 1)
  298. goto <bb 16>; [INV]
  299. else
  300. goto <bb 21>; [INV]
  301. <bb 16> :
  302. _53 = config_79(D)->range;
  303. _54 = (long unsigned int) _53;
  304. _55 = 1074151424B;
  305. _56 = _54 & 3;
  306. _55->FIRCCFG ={v} _56;
  307. _57 = 1074151424B;
  308. _58 ={v} _57->FIRCCSR;
  309. _59 = config_79(D)->regulator;
  310. _60 = (long unsigned int) _59;
  311. _61 = _60 << 3;
  312. _62 = _61 & 8;
  313. _63 = _58 | _62;
  314. _64 = 1074151424B;
  315. _65 = _63 | 1;
  316. _64->FIRCCSR ={v} _65;
  317. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  318. <bb 17> :
  319. _66 = 1074151424B;
  320. _67 ={v} _66->FIRCCSR;
  321. _68 = _67 >> 24;
  322. IrcoscStatus_88 = _68 & 1;
  323. TimeoutTicks.5_69 = TimeoutTicks;
  324. TimeoutOccurred_90 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.5_69);
  325. if (IrcoscStatus_88 == 0)
  326. goto <bb 18>; [INV]
  327. else
  328. goto <bb 19>; [INV]
  329. <bb 18> :
  330. _70 = ~TimeoutOccurred_90;
  331. if (_70 != 0)
  332. goto <bb 17>; [INV]
  333. else
  334. goto <bb 19>; [INV]
  335. <bb 19> :
  336. if (TimeoutOccurred_90 != 0)
  337. goto <bb 20>; [INV]
  338. else
  339. goto <bb 21>; [INV]
  340. <bb 20> :
  341. _71 = config_79(D)->name;
  342. ReportClockErrors (1, _71);
  343. <bb 21> :
  344. StartTime ={v} {CLOBBER};
  345. ElapsedTime ={v} {CLOBBER};
  346. TimeoutTicks ={v} {CLOBBER};
  347. return;
  348. }
  349. SetInputSouceSytemClock (uint32 sourceClock)
  350. {
  351. uint32 ScsStatus;
  352. uint32 TimeoutTicks;
  353. uint32 ElapsedTime;
  354. uint32 StartTime;
  355. boolean TimeoutOccurred;
  356. uint32 regValue;
  357. uint32 iftmp.2;
  358. struct SCG_Type * _1;
  359. long unsigned int _2;
  360. struct SCG_Type * _3;
  361. struct SCG_Type * _4;
  362. long unsigned int _5;
  363. long unsigned int _6;
  364. long unsigned int _7;
  365. long unsigned int TimeoutTicks.3_8;
  366. _Bool _9;
  367. uint32 iftmp.2_10;
  368. uint32 iftmp.2_21;
  369. uint32 iftmp.2_22;
  370. <bb 2> :
  371. TimeoutOccurred_13 = 0;
  372. _1 = 1074151424B;
  373. regValue_15 ={v} _1->RCCR;
  374. regValue_16 = regValue_15 & 4043309055;
  375. _2 = sourceClock_17(D) << 24;
  376. regValue_18 = regValue_16 | _2;
  377. _3 = 1074151424B;
  378. _3->RCCR ={v} regValue_18;
  379. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  380. <bb 3> :
  381. _4 = 1074151424B;
  382. _5 ={v} _4->CSR;
  383. _6 = _5 >> 24;
  384. _7 = _6 & 15;
  385. if (sourceClock_17(D) != _7)
  386. goto <bb 4>; [INV]
  387. else
  388. goto <bb 5>; [INV]
  389. <bb 4> :
  390. iftmp.2_22 = 1;
  391. goto <bb 6>; [INV]
  392. <bb 5> :
  393. iftmp.2_21 = 0;
  394. <bb 6> :
  395. # iftmp.2_10 = PHI <iftmp.2_22(4), iftmp.2_21(5)>
  396. ScsStatus_23 = iftmp.2_10;
  397. TimeoutTicks.3_8 = TimeoutTicks;
  398. TimeoutOccurred_25 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.3_8);
  399. if (ScsStatus_23 == 0)
  400. goto <bb 7>; [INV]
  401. else
  402. goto <bb 8>; [INV]
  403. <bb 7> :
  404. _9 = ~TimeoutOccurred_25;
  405. if (_9 != 0)
  406. goto <bb 3>; [INV]
  407. else
  408. goto <bb 8>; [INV]
  409. <bb 8> :
  410. if (TimeoutOccurred_25 != 0)
  411. goto <bb 9>; [INV]
  412. else
  413. goto <bb 10>; [INV]
  414. <bb 9> :
  415. ReportClockErrors (1, 5);
  416. <bb 10> :
  417. StartTime ={v} {CLOBBER};
  418. ElapsedTime ={v} {CLOBBER};
  419. TimeoutTicks ={v} {CLOBBER};
  420. return;
  421. }
  422. DisableSircStop (Clock_Ip_NameType name)
  423. {
  424. <bb 2> :
  425. DisableSircStop_TrustedCall (name_2(D));
  426. return;
  427. }
  428. DisableSircStop_TrustedCall (Clock_Ip_NameType name)
  429. {
  430. struct SCG_Type * _1;
  431. long unsigned int _2;
  432. struct SCG_Type * _3;
  433. long unsigned int _4;
  434. <bb 2> :
  435. _1 = 1074151424B;
  436. _2 ={v} _1->SIRCCSR;
  437. _3 = 1074151424B;
  438. _4 = _2 & 4294967293;
  439. _3->SIRCCSR ={v} _4;
  440. return;
  441. }
  442. EnableSircStop (const struct Clock_Ip_IrcoscConfigType * config)
  443. {
  444. <bb 2> :
  445. EnableSircStop_TrustedCall (config_2(D));
  446. return;
  447. }
  448. EnableSircStop_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  449. {
  450. short unsigned int _1;
  451. struct SCG_Type * _2;
  452. long unsigned int _3;
  453. struct SCG_Type * _4;
  454. long unsigned int _5;
  455. <bb 2> :
  456. _1 = config_8(D)->enable;
  457. if (_1 == 1)
  458. goto <bb 3>; [INV]
  459. else
  460. goto <bb 4>; [INV]
  461. <bb 3> :
  462. _2 = 1074151424B;
  463. _3 ={v} _2->SIRCCSR;
  464. _4 = 1074151424B;
  465. _5 = _3 | 2;
  466. _4->SIRCCSR ={v} _5;
  467. <bb 4> :
  468. return;
  469. }
  470. SetSircStop (const struct Clock_Ip_IrcoscConfigType * config)
  471. {
  472. <bb 2> :
  473. SetSircStop_TrustedCall (config_2(D));
  474. return;
  475. }
  476. SetSircStop_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  477. {
  478. struct SCG_Type * _1;
  479. long unsigned int _2;
  480. struct SCG_Type * _3;
  481. long unsigned int _4;
  482. struct SCG_Type * _5;
  483. long unsigned int _6;
  484. struct SCG_Type * _7;
  485. long unsigned int _8;
  486. struct SCG_Type * _9;
  487. long unsigned int _10;
  488. unsigned char _11;
  489. long unsigned int _12;
  490. long unsigned int _13;
  491. long unsigned int _14;
  492. struct SCG_Type * _15;
  493. long unsigned int _16;
  494. <bb 2> :
  495. _1 = 1074151424B;
  496. _2 ={v} _1->SIRCCSR;
  497. _3 = 1074151424B;
  498. _4 = _2 & 4286578687;
  499. _3->SIRCCSR ={v} _4;
  500. _5 = 1074151424B;
  501. _6 ={v} _5->SIRCCSR;
  502. _7 = 1074151424B;
  503. _8 = _6 & 4294967293;
  504. _7->SIRCCSR ={v} _8;
  505. _9 = 1074151424B;
  506. _10 ={v} _9->SIRCCSR;
  507. _11 = config_20(D)->stopModeEnable;
  508. _12 = (long unsigned int) _11;
  509. _13 = _12 << 1;
  510. _14 = _13 & 2;
  511. _15 = 1074151424B;
  512. _16 = _10 | _14;
  513. _15->SIRCCSR ={v} _16;
  514. return;
  515. }
  516. DisableSircVlp (Clock_Ip_NameType name)
  517. {
  518. <bb 2> :
  519. DisableSircVlp_TrustedCall (name_2(D));
  520. return;
  521. }
  522. DisableSircVlp_TrustedCall (Clock_Ip_NameType name)
  523. {
  524. struct SCG_Type * _1;
  525. long unsigned int _2;
  526. struct SCG_Type * _3;
  527. long unsigned int _4;
  528. <bb 2> :
  529. _1 = 1074151424B;
  530. _2 ={v} _1->SIRCCSR;
  531. _3 = 1074151424B;
  532. _4 = _2 & 4294967291;
  533. _3->SIRCCSR ={v} _4;
  534. return;
  535. }
  536. EnableSircVlp (const struct Clock_Ip_IrcoscConfigType * config)
  537. {
  538. <bb 2> :
  539. EnableSircVlp_TrustedCall (config_2(D));
  540. return;
  541. }
  542. EnableSircVlp_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  543. {
  544. short unsigned int _1;
  545. struct SCG_Type * _2;
  546. long unsigned int _3;
  547. struct SCG_Type * _4;
  548. long unsigned int _5;
  549. <bb 2> :
  550. _1 = config_8(D)->enable;
  551. if (_1 == 1)
  552. goto <bb 3>; [INV]
  553. else
  554. goto <bb 4>; [INV]
  555. <bb 3> :
  556. _2 = 1074151424B;
  557. _3 ={v} _2->SIRCCSR;
  558. _4 = 1074151424B;
  559. _5 = _3 | 4;
  560. _4->SIRCCSR ={v} _5;
  561. <bb 4> :
  562. return;
  563. }
  564. SetSircVlp (const struct Clock_Ip_IrcoscConfigType * config)
  565. {
  566. <bb 2> :
  567. SetSircVlp_TrustedCall (config_2(D));
  568. return;
  569. }
  570. SetSircVlp_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  571. {
  572. struct SCG_Type * _1;
  573. long unsigned int _2;
  574. struct SCG_Type * _3;
  575. long unsigned int _4;
  576. struct SCG_Type * _5;
  577. long unsigned int _6;
  578. struct SCG_Type * _7;
  579. long unsigned int _8;
  580. struct SCG_Type * _9;
  581. long unsigned int _10;
  582. unsigned char _11;
  583. long unsigned int _12;
  584. long unsigned int _13;
  585. long unsigned int _14;
  586. struct SCG_Type * _15;
  587. long unsigned int _16;
  588. <bb 2> :
  589. _1 = 1074151424B;
  590. _2 ={v} _1->SIRCCSR;
  591. _3 = 1074151424B;
  592. _4 = _2 & 4286578687;
  593. _3->SIRCCSR ={v} _4;
  594. _5 = 1074151424B;
  595. _6 ={v} _5->SIRCCSR;
  596. _7 = 1074151424B;
  597. _8 = _6 & 4294967291;
  598. _7->SIRCCSR ={v} _8;
  599. _9 = 1074151424B;
  600. _10 ={v} _9->SIRCCSR;
  601. _11 = config_20(D)->lowPowerModeEnable;
  602. _12 = (long unsigned int) _11;
  603. _13 = _12 << 2;
  604. _14 = _13 & 4;
  605. _15 = 1074151424B;
  606. _16 = _10 | _14;
  607. _15->SIRCCSR ={v} _16;
  608. return;
  609. }
  610. DisableSirc (Clock_Ip_NameType name)
  611. {
  612. <bb 2> :
  613. DisableSirc_TrustedCall (name_2(D));
  614. return;
  615. }
  616. DisableSirc_TrustedCall (Clock_Ip_NameType name)
  617. {
  618. struct SCG_Type * _1;
  619. long unsigned int _2;
  620. struct SCG_Type * _3;
  621. long unsigned int _4;
  622. struct SCG_Type * _5;
  623. long unsigned int _6;
  624. struct SCG_Type * _7;
  625. long unsigned int _8;
  626. <bb 2> :
  627. _1 = 1074151424B;
  628. _2 ={v} _1->SIRCCSR;
  629. _3 = 1074151424B;
  630. _4 = _2 & 4294967294;
  631. _3->SIRCCSR ={v} _4;
  632. _5 = 1074151424B;
  633. _6 ={v} _5->SIRCCSR;
  634. _7 = 1074151424B;
  635. _8 = _6 & 4294967291;
  636. _7->SIRCCSR ={v} _8;
  637. return;
  638. }
  639. EnableSirc (const struct Clock_Ip_IrcoscConfigType * config)
  640. {
  641. <bb 2> :
  642. EnableSirc_TrustedCall (config_2(D));
  643. return;
  644. }
  645. EnableSirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  646. {
  647. uint32 IrcoscStatus;
  648. uint32 TimeoutTicks;
  649. uint32 ElapsedTime;
  650. uint32 StartTime;
  651. boolean TimeoutOccurred;
  652. struct SCG_Type * _1;
  653. long unsigned int _2;
  654. struct SCG_Type * _3;
  655. long unsigned int _4;
  656. struct SCG_Type * _5;
  657. long unsigned int _6;
  658. struct SCG_Type * _7;
  659. long unsigned int _8;
  660. struct SCG_Type * _9;
  661. long unsigned int _10;
  662. long unsigned int _11;
  663. long unsigned int TimeoutTicks.1_12;
  664. _Bool _13;
  665. <unnamed type> _14;
  666. <bb 2> :
  667. TimeoutOccurred_17 = 0;
  668. _1 = 1074151424B;
  669. _2 ={v} _1->SIRCCSR;
  670. _3 = 1074151424B;
  671. _4 = _2 | 1;
  672. _3->SIRCCSR ={v} _4;
  673. _5 = 1074151424B;
  674. _6 ={v} _5->SIRCCSR;
  675. _7 = 1074151424B;
  676. _8 = _6 | 4;
  677. _7->SIRCCSR ={v} _8;
  678. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  679. <bb 3> :
  680. _9 = 1074151424B;
  681. _10 ={v} _9->SIRCCSR;
  682. _11 = _10 >> 24;
  683. IrcoscStatus_22 = _11 & 1;
  684. TimeoutTicks.1_12 = TimeoutTicks;
  685. TimeoutOccurred_24 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.1_12);
  686. if (IrcoscStatus_22 == 0)
  687. goto <bb 4>; [INV]
  688. else
  689. goto <bb 5>; [INV]
  690. <bb 4> :
  691. _13 = ~TimeoutOccurred_24;
  692. if (_13 != 0)
  693. goto <bb 3>; [INV]
  694. else
  695. goto <bb 5>; [INV]
  696. <bb 5> :
  697. if (TimeoutOccurred_24 != 0)
  698. goto <bb 6>; [INV]
  699. else
  700. goto <bb 7>; [INV]
  701. <bb 6> :
  702. _14 = config_25(D)->name;
  703. ReportClockErrors (1, _14);
  704. <bb 7> :
  705. StartTime ={v} {CLOBBER};
  706. ElapsedTime ={v} {CLOBBER};
  707. TimeoutTicks ={v} {CLOBBER};
  708. return;
  709. }
  710. SetSirc (const struct Clock_Ip_IrcoscConfigType * config)
  711. {
  712. <bb 2> :
  713. SetSirc_TrustedCall (config_2(D));
  714. return;
  715. }
  716. SetSirc_TrustedCall (const struct Clock_Ip_IrcoscConfigType * config)
  717. {
  718. struct Clock_Ip_IrcoscConfigType sircConfig;
  719. uint32 IrcoscStatus;
  720. uint32 TimeoutTicks;
  721. uint32 ElapsedTime;
  722. uint32 StartTime;
  723. boolean TimeoutOccurred;
  724. <unnamed type> _1;
  725. unsigned char _2;
  726. short unsigned int _3;
  727. unsigned char _4;
  728. struct SCG_Type * _5;
  729. long unsigned int _6;
  730. struct SCG_Type * _7;
  731. long unsigned int _8;
  732. struct SCG_Type * _9;
  733. long unsigned int _10;
  734. struct SCG_Type * _11;
  735. long unsigned int _12;
  736. struct SCG_Type * _13;
  737. long unsigned int _14;
  738. struct SCG_Type * _15;
  739. long unsigned int _16;
  740. short unsigned int _17;
  741. unsigned char _18;
  742. long unsigned int _19;
  743. struct SCG_Type * _20;
  744. long unsigned int _21;
  745. struct SCG_Type * _22;
  746. long unsigned int _23;
  747. struct SCG_Type * _24;
  748. long unsigned int _25;
  749. struct SCG_Type * _26;
  750. long unsigned int _27;
  751. unsigned char _28;
  752. long unsigned int _29;
  753. long unsigned int _30;
  754. long unsigned int _31;
  755. struct SCG_Type * _32;
  756. long unsigned int _33;
  757. struct SCG_Type * _34;
  758. long unsigned int _35;
  759. long unsigned int _36;
  760. long unsigned int TimeoutTicks.0_37;
  761. _Bool _38;
  762. <unnamed type> _39;
  763. <bb 2> :
  764. TimeoutOccurred_43 = 0;
  765. if (config_44(D) == 0B)
  766. goto <bb 3>; [INV]
  767. else
  768. goto <bb 4>; [INV]
  769. <bb 3> :
  770. sircConfig.name = 5;
  771. sircConfig.range = 1;
  772. sircConfig.enable = 1;
  773. sircConfig.lowPowerModeEnable = 1;
  774. goto <bb 5>; [INV]
  775. <bb 4> :
  776. _1 = config_44(D)->name;
  777. sircConfig.name = _1;
  778. _2 = config_44(D)->range;
  779. sircConfig.range = _2;
  780. _3 = config_44(D)->enable;
  781. sircConfig.enable = _3;
  782. _4 = config_44(D)->lowPowerModeEnable;
  783. sircConfig.lowPowerModeEnable = _4;
  784. <bb 5> :
  785. _5 = 1074151424B;
  786. _6 ={v} _5->SIRCCSR;
  787. _7 = 1074151424B;
  788. _8 = _6 & 4286578687;
  789. _7->SIRCCSR ={v} _8;
  790. _9 = 1074151424B;
  791. _10 ={v} _9->SIRCCSR;
  792. _11 = 1074151424B;
  793. _12 = _10 & 4294967294;
  794. _11->SIRCCSR ={v} _12;
  795. _13 = 1074151424B;
  796. _14 ={v} _13->SIRCCSR;
  797. _15 = 1074151424B;
  798. _16 = _14 & 4294967291;
  799. _15->SIRCCSR ={v} _16;
  800. _17 = sircConfig.enable;
  801. if (_17 == 1)
  802. goto <bb 6>; [INV]
  803. else
  804. goto <bb 11>; [INV]
  805. <bb 6> :
  806. _18 = sircConfig.range;
  807. _19 = (long unsigned int) _18;
  808. _20 = 1074151424B;
  809. _21 = _19 & 1;
  810. _20->SIRCCFG ={v} _21;
  811. _22 = 1074151424B;
  812. _23 ={v} _22->SIRCCSR;
  813. _24 = 1074151424B;
  814. _25 = _23 | 1;
  815. _24->SIRCCSR ={v} _25;
  816. _26 = 1074151424B;
  817. _27 ={v} _26->SIRCCSR;
  818. _28 = sircConfig.lowPowerModeEnable;
  819. _29 = (long unsigned int) _28;
  820. _30 = _29 << 2;
  821. _31 = _30 & 4;
  822. _32 = 1074151424B;
  823. _33 = _27 | _31;
  824. _32->SIRCCSR ={v} _33;
  825. ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);
  826. <bb 7> :
  827. _34 = 1074151424B;
  828. _35 ={v} _34->SIRCCSR;
  829. _36 = _35 >> 24;
  830. IrcoscStatus_61 = _36 & 1;
  831. TimeoutTicks.0_37 = TimeoutTicks;
  832. TimeoutOccurred_63 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_37);
  833. if (IrcoscStatus_61 == 0)
  834. goto <bb 8>; [INV]
  835. else
  836. goto <bb 9>; [INV]
  837. <bb 8> :
  838. _38 = ~TimeoutOccurred_63;
  839. if (_38 != 0)
  840. goto <bb 7>; [INV]
  841. else
  842. goto <bb 9>; [INV]
  843. <bb 9> :
  844. if (TimeoutOccurred_63 != 0)
  845. goto <bb 10>; [INV]
  846. else
  847. goto <bb 11>; [INV]
  848. <bb 10> :
  849. _39 = sircConfig.name;
  850. ReportClockErrors (1, _39);
  851. <bb 11> :
  852. StartTime ={v} {CLOBBER};
  853. ElapsedTime ={v} {CLOBBER};
  854. TimeoutTicks ={v} {CLOBBER};
  855. sircConfig ={v} {CLOBBER};
  856. return;
  857. }
  858. InternalOscillatorEmpty_Disable (Clock_Ip_NameType name)
  859. {
  860. <bb 2> :
  861. return;
  862. }
  863. InternalOscillatorEmpty (const struct Clock_Ip_IrcoscConfigType * config)
  864. {
  865. <bb 2> :
  866. return;
  867. }