ClockPowerModeChangeNotification (power_modes_t powerMode, power_notification_t notification) { const struct selectorCallback * scsRunClockSelector.33_1; void (*) (const struct Clock_Ip_SelectorConfigType *) _2; const struct Clock_Ip_SelectorConfigType * scsConfig_Vlpr_Mode.34_3; const struct dividerCallback * coreRunClockDivider.35_4; void (*) (const struct Clock_Ip_DividerConfigType *) _5; const struct Clock_Ip_DividerConfigType * coreConfig_Vlpr_Mode.36_6; const struct dividerCallback * busRunClockDivider.37_7; void (*) (const struct Clock_Ip_DividerConfigType *) _8; const struct Clock_Ip_DividerConfigType * busConfig_Vlpr_Mode.38_9; const struct dividerCallback * slowRunClockDivider.39_10; void (*) (const struct Clock_Ip_DividerConfigType *) _11; const struct Clock_Ip_DividerConfigType * slowConfig_Vlpr_Mode.40_12; const struct pllCallback * spllClock.41_13; void (*) (Clock_Ip_NameType) _14; const struct Clock_Ip_PllConfigType * spllConfig.42_15; _16; const struct extOscCallback * soscClock.43_17; void (*) (Clock_Ip_NameType) _18; const struct Clock_Ip_XoscConfigType * soscConfig.44_19; _20; const struct intOscCallback * fircClock.45_21; void (*) (Clock_Ip_NameType) _22; const struct Clock_Ip_IrcoscConfigType * fircConfig.46_23; _24; const struct intOscCallback * fircClock.47_25; void (*) (const struct Clock_Ip_IrcoscConfigType *) _26; const struct Clock_Ip_IrcoscConfigType * fircConfig.48_27; const struct extOscCallback * soscClock.49_28; void (*) (const struct Clock_Ip_XoscConfigType *) _29; const struct Clock_Ip_XoscConfigType * soscConfig.50_30; const struct extOscCallback * soscClock.51_31; void (*) (const struct Clock_Ip_XoscConfigType *) _32; const struct Clock_Ip_XoscConfigType * soscConfig.52_33; const struct pllCallback * spllClock.53_34; void (*) (const struct Clock_Ip_PllConfigType *) _35; const struct Clock_Ip_PllConfigType * spllConfig.54_36; const struct pllCallback * spllClock.55_37; clock_pll_status_t (*) (Clock_Ip_NameType) _38; const struct Clock_Ip_PllConfigType * spllConfig.56_39; _40; const struct selectorCallback * scsRunClockSelector.57_41; void (*) (const struct Clock_Ip_SelectorConfigType *) _42; const struct Clock_Ip_SelectorConfigType * scsConfig_Run_Mode.58_43; const struct dividerCallback * coreRunClockDivider.59_44; void (*) (const struct Clock_Ip_DividerConfigType *) _45; const struct Clock_Ip_DividerConfigType * coreConfig_Run_Mode.60_46; const struct dividerCallback * busRunClockDivider.61_47; void (*) (const struct Clock_Ip_DividerConfigType *) _48; const struct Clock_Ip_DividerConfigType * busConfig_Run_Mode.62_49; const struct dividerCallback * slowRunClockDivider.63_50; void (*) (const struct Clock_Ip_DividerConfigType *) _51; const struct Clock_Ip_DividerConfigType * slowConfig_Run_Mode.64_52; const struct intOscCallback * fircClock.65_53; void (*) (const struct Clock_Ip_IrcoscConfigType *) _54; const struct Clock_Ip_IrcoscConfigType * fircConfig.66_55; const struct extOscCallback * soscClock.67_56; void (*) (const struct Clock_Ip_XoscConfigType *) _57; const struct Clock_Ip_XoscConfigType * soscConfig.68_58; const struct extOscCallback * soscClock.69_59; void (*) (const struct Clock_Ip_XoscConfigType *) _60; const struct Clock_Ip_XoscConfigType * soscConfig.70_61; const struct pllCallback * spllClock.71_62; void (*) (const struct Clock_Ip_PllConfigType *) _63; const struct Clock_Ip_PllConfigType * spllConfig.72_64; const struct pllCallback * spllClock.73_65; clock_pll_status_t (*) (Clock_Ip_NameType) _66; const struct Clock_Ip_PllConfigType * spllConfig.74_67; _68; const struct selectorCallback * scsHsrunClockSelector.75_69; void (*) (const struct Clock_Ip_SelectorConfigType *) _70; const struct Clock_Ip_SelectorConfigType * scsConfig_Hsrun_Mode.76_71; const struct dividerCallback * coreHsrunClockDivider.77_72; void (*) (const struct Clock_Ip_DividerConfigType *) _73; const struct Clock_Ip_DividerConfigType * coreConfig_Hsrun_Mode.78_74; const struct dividerCallback * busHsrunClockDivider.79_75; void (*) (const struct Clock_Ip_DividerConfigType *) _76; const struct Clock_Ip_DividerConfigType * busConfig_Hsrun_Mode.80_77; const struct dividerCallback * slowHsrunClockDivider.81_78; void (*) (const struct Clock_Ip_DividerConfigType *) _79; const struct Clock_Ip_DividerConfigType * slowConfig_Hsrun_Mode.82_80; : switch (powerMode_85(D)) [INV], case 0: [INV], case 1 ... 2: [INV], case 3: [INV]> : : if (notification_86(D) == 0) goto ; [INV] else goto ; [INV] : scsRunClockSelector.33_1 = scsRunClockSelector; _2 = scsRunClockSelector.33_1->Set; scsConfig_Vlpr_Mode.34_3 = scsConfig_Vlpr_Mode; _2 (scsConfig_Vlpr_Mode.34_3); coreRunClockDivider.35_4 = coreRunClockDivider; _5 = coreRunClockDivider.35_4->Set; coreConfig_Vlpr_Mode.36_6 = coreConfig_Vlpr_Mode; _5 (coreConfig_Vlpr_Mode.36_6); busRunClockDivider.37_7 = busRunClockDivider; _8 = busRunClockDivider.37_7->Set; busConfig_Vlpr_Mode.38_9 = busConfig_Vlpr_Mode; _8 (busConfig_Vlpr_Mode.38_9); slowRunClockDivider.39_10 = slowRunClockDivider; _11 = slowRunClockDivider.39_10->Set; slowConfig_Vlpr_Mode.40_12 = slowConfig_Vlpr_Mode; _11 (slowConfig_Vlpr_Mode.40_12); spllClock.41_13 = spllClock; _14 = spllClock.41_13->Disable; spllConfig.42_15 = spllConfig; _16 = spllConfig.42_15->name; _14 (_16); soscClock.43_17 = soscClock; _18 = soscClock.43_17->Disable; soscConfig.44_19 = soscConfig; _20 = soscConfig.44_19->name; _18 (_20); fircClock.45_21 = fircClock; _22 = fircClock.45_21->Disable; fircConfig.46_23 = fircConfig; _24 = fircConfig.46_23->name; _22 (_24); : goto ; [INV] : : if (notification_86(D) == 2) goto ; [INV] else goto ; [INV] : fircClock.47_25 = fircClock; _26 = fircClock.47_25->Enable; fircConfig.48_27 = fircConfig; _26 (fircConfig.48_27); soscClock.49_28 = soscClock; _29 = soscClock.49_28->Enable; soscConfig.50_30 = soscConfig; _29 (soscConfig.50_30); soscClock.51_31 = soscClock; _32 = soscClock.51_31->Complete; soscConfig.52_33 = soscConfig; _32 (soscConfig.52_33); spllClock.53_34 = spllClock; _35 = spllClock.53_34->Enable; spllConfig.54_36 = spllConfig; _35 (spllConfig.54_36); spllClock.55_37 = spllClock; _38 = spllClock.55_37->Complete; spllConfig.56_39 = spllConfig; _40 = spllConfig.56_39->name; _38 (_40); scsRunClockSelector.57_41 = scsRunClockSelector; _42 = scsRunClockSelector.57_41->Set; scsConfig_Run_Mode.58_43 = scsConfig_Run_Mode; _42 (scsConfig_Run_Mode.58_43); coreRunClockDivider.59_44 = coreRunClockDivider; _45 = coreRunClockDivider.59_44->Set; coreConfig_Run_Mode.60_46 = coreConfig_Run_Mode; _45 (coreConfig_Run_Mode.60_46); busRunClockDivider.61_47 = busRunClockDivider; _48 = busRunClockDivider.61_47->Set; busConfig_Run_Mode.62_49 = busConfig_Run_Mode; _48 (busConfig_Run_Mode.62_49); slowRunClockDivider.63_50 = slowRunClockDivider; _51 = slowRunClockDivider.63_50->Set; slowConfig_Run_Mode.64_52 = slowConfig_Run_Mode; _51 (slowConfig_Run_Mode.64_52); : goto ; [INV] : : if (notification_86(D) == 2) goto ; [INV] else goto ; [INV] : fircClock.65_53 = fircClock; _54 = fircClock.65_53->Enable; fircConfig.66_55 = fircConfig; _54 (fircConfig.66_55); soscClock.67_56 = soscClock; _57 = soscClock.67_56->Enable; soscConfig.68_58 = soscConfig; _57 (soscConfig.68_58); soscClock.69_59 = soscClock; _60 = soscClock.69_59->Complete; soscConfig.70_61 = soscConfig; _60 (soscConfig.70_61); spllClock.71_62 = spllClock; _63 = spllClock.71_62->Enable; spllConfig.72_64 = spllConfig; _63 (spllConfig.72_64); spllClock.73_65 = spllClock; _66 = spllClock.73_65->Complete; spllConfig.74_67 = spllConfig; _68 = spllConfig.74_67->name; _66 (_68); scsHsrunClockSelector.75_69 = scsHsrunClockSelector; _70 = scsHsrunClockSelector.75_69->Set; scsConfig_Hsrun_Mode.76_71 = scsConfig_Hsrun_Mode; _70 (scsConfig_Hsrun_Mode.76_71); coreHsrunClockDivider.77_72 = coreHsrunClockDivider; _73 = coreHsrunClockDivider.77_72->Set; coreConfig_Hsrun_Mode.78_74 = coreConfig_Hsrun_Mode; _73 (coreConfig_Hsrun_Mode.78_74); busHsrunClockDivider.79_75 = busHsrunClockDivider; _76 = busHsrunClockDivider.79_75->Set; busConfig_Hsrun_Mode.80_77 = busConfig_Hsrun_Mode; _76 (busConfig_Hsrun_Mode.80_77); slowHsrunClockDivider.81_78 = slowHsrunClockDivider; _79 = slowHsrunClockDivider.81_78->Set; slowConfig_Hsrun_Mode.82_80 = slowConfig_Hsrun_Mode; _79 (slowConfig_Hsrun_Mode.82_80); : goto ; [INV] : : : return; } ClockInitializeObjects () { unsigned char _1; int _2; const struct pllCallback * _3; unsigned char _4; int _5; const struct extOscCallback * _6; unsigned char _7; int _8; const struct intOscCallback * _9; unsigned char _10; int _11; const struct selectorCallback * _12; unsigned char _13; int _14; const struct selectorCallback * _15; unsigned char _16; int _17; const struct dividerCallback * _18; unsigned char _19; int _20; const struct dividerCallback * _21; unsigned char _22; int _23; const struct dividerCallback * _24; unsigned char _25; int _26; const struct dividerCallback * _27; unsigned char _28; int _29; const struct dividerCallback * _30; unsigned char _31; int _32; const struct dividerCallback * _33; const struct Clock_Ip_IrcoscConfigType * _34; const struct Clock_Ip_XoscConfigType * _35; const struct Clock_Ip_PllConfigType * _36; const struct Clock_Ip_SelectorConfigType * _37; const struct Clock_Ip_SelectorConfigType * _38; const struct Clock_Ip_SelectorConfigType * _39; const struct Clock_Ip_DividerConfigType * _40; const struct Clock_Ip_DividerConfigType * _41; const struct Clock_Ip_DividerConfigType * _42; const struct Clock_Ip_DividerConfigType * _43; const struct Clock_Ip_DividerConfigType * _44; const struct Clock_Ip_DividerConfigType * _45; const struct Clock_Ip_DividerConfigType * _46; const struct Clock_Ip_DividerConfigType * _47; const struct Clock_Ip_DividerConfigType * _48; : _1 = pllCallbackIndex[1]; _2 = (int) _1; _3 = &pllCallbacks[_2]; spllClock = _3; _4 = xoscCallbackIndex[1]; _5 = (int) _4; _6 = &extOscCallbacks[_5]; soscClock = _6; _7 = ircoscCallbackIndex[4]; _8 = (int) _7; _9 = &intOscCallbacks[_8]; fircClock = _9; _10 = selectorCallbackIndex[5]; _11 = (int) _10; _12 = &selectorCallbacks[_11]; scsRunClockSelector = _12; _13 = selectorCallbackIndex[7]; _14 = (int) _13; _15 = &selectorCallbacks[_14]; scsHsrunClockSelector = _15; _16 = dividerCallbackIndex[6]; _17 = (int) _16; _18 = ÷rCallbacks[_17]; coreRunClockDivider = _18; _19 = dividerCallbackIndex[8]; _20 = (int) _19; _21 = ÷rCallbacks[_20]; coreHsrunClockDivider = _21; _22 = dividerCallbackIndex[9]; _23 = (int) _22; _24 = ÷rCallbacks[_23]; busRunClockDivider = _24; _25 = dividerCallbackIndex[11]; _26 = (int) _25; _27 = ÷rCallbacks[_26]; busHsrunClockDivider = _27; _28 = dividerCallbackIndex[12]; _29 = (int) _28; _30 = ÷rCallbacks[_29]; slowRunClockDivider = _30; _31 = dividerCallbackIndex[14]; _32 = (int) _31; _33 = ÷rCallbacks[_32]; slowHsrunClockDivider = _33; _34 = getFircConfig (); fircConfig = _34; _35 = getSoscConfig (); soscConfig = _35; _36 = getSpllConfig (); spllConfig = _36; _37 = getSelectorConfig (25); scsConfig_Run_Mode = _37; _38 = getSelectorConfig (26); scsConfig_Vlpr_Mode = _38; _39 = getSelectorConfig (27); scsConfig_Hsrun_Mode = _39; _40 = getCoreDividerConfig (29); coreConfig_Run_Mode = _40; _41 = getCoreDividerConfig (30); coreConfig_Vlpr_Mode = _41; _42 = getCoreDividerConfig (31); coreConfig_Hsrun_Mode = _42; _43 = getBusDividerConfig (33); busConfig_Run_Mode = _43; _44 = getBusDividerConfig (34); busConfig_Vlpr_Mode = _44; _45 = getBusDividerConfig (35); busConfig_Hsrun_Mode = _45; _46 = getSlowDividerConfig (37); slowConfig_Run_Mode = _46; _47 = getSlowDividerConfig (38); slowConfig_Vlpr_Mode = _47; _48 = getSlowDividerConfig (39); slowConfig_Hsrun_Mode = _48; return; } getSlowDividerConfig (Clock_Ip_NameType name) { uint32 i; uint32 dividerConfigIndex; static struct Clock_Ip_DividerConfigType dividerConfigurations[3]; const struct Clock_Ip_DividerConfigType * returnValue; const struct Clock_Ip_DividerConfigType * D.6328; const struct Clock_Ip_ClockConfigType * config_clock.29_1; const struct Clock_Ip_ClockConfigType * config_clock.30_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.31_4; const struct Clock_Ip_ClockConfigType * config_clock.32_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; struct SCG_Type * _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; struct SCG_Type * _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; const struct Clock_Ip_DividerConfigType * _40; : returnValue_25 = 0B; dividerConfigIndex_26 = 0; switch (name_27(D)) [INV], case 37: [INV], case 38: [INV], case 39: [INV]> : : dividerConfigIndex_30 = 0; goto ; [INV] : : dividerConfigIndex_29 = 1; goto ; [INV] : : dividerConfigIndex_28 = 2; goto ; [INV] : : : # dividerConfigIndex_22 = PHI config_clock.29_1 = config_clock; if (config_clock.29_1 != 0B) goto ; [INV] else goto ; [INV] : i_32 = 0; goto ; [INV] : config_clock.30_2 = config_clock; _3 = config_clock.30_2->dividers[i_23].name; if (name_27(D) == _3) goto ; [INV] else goto ; [INV] : config_clock.31_4 = config_clock; returnValue_34 = &config_clock.31_4->dividers[i_23]; goto ; [INV] : i_33 = i_23 + 1; : # i_23 = PHI config_clock.32_5 = config_clock; _6 = config_clock.32_5->dividersCount; _7 = (long unsigned int) _6; if (i_23 < _7) goto ; [INV] else goto ; [INV] : # returnValue_20 = PHI if (returnValue_20 == 0B) goto ; [INV] else goto ; [INV] : returnValue_35 = ÷rConfigurations[dividerConfigIndex_22]; dividerConfigurations[dividerConfigIndex_22].name = name_27(D); switch (name_27(D)) [INV], case 37: [INV], case 38: [INV], case 39: [INV]> : : _8 = 1074151424B; _9 ={v} _8->RCCR; _10 = _9 & 15; _11 = _10 + 1; dividerConfigurations[dividerConfigIndex_22].value = _11; goto ; [INV] : : _12 = 1074151424B; _13 ={v} _12->VCCR; _14 = _13 & 15; _15 = _14 + 1; dividerConfigurations[dividerConfigIndex_22].value = _15; goto ; [INV] : : _16 = 1074151424B; _17 ={v} _16->HCCR; _18 = _17 & 15; _19 = _18 + 1; dividerConfigurations[dividerConfigIndex_22].value = _19; goto ; [INV] : : : # returnValue_21 = PHI _40 = returnValue_21; : : return _40; } getBusDividerConfig (Clock_Ip_NameType name) { uint32 i; uint32 dividerConfigIndex; static struct Clock_Ip_DividerConfigType dividerConfigurations[3]; const struct Clock_Ip_DividerConfigType * returnValue; const struct Clock_Ip_DividerConfigType * D.6320; const struct Clock_Ip_ClockConfigType * config_clock.25_1; const struct Clock_Ip_ClockConfigType * config_clock.26_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.27_4; const struct Clock_Ip_ClockConfigType * config_clock.28_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; struct SCG_Type * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; struct SCG_Type * _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; const struct Clock_Ip_DividerConfigType * _43; : returnValue_28 = 0B; dividerConfigIndex_29 = 0; switch (name_30(D)) [INV], case 33: [INV], case 34: [INV], case 35: [INV]> : : dividerConfigIndex_33 = 0; goto ; [INV] : : dividerConfigIndex_32 = 1; goto ; [INV] : : dividerConfigIndex_31 = 2; goto ; [INV] : : : # dividerConfigIndex_25 = PHI config_clock.25_1 = config_clock; if (config_clock.25_1 != 0B) goto ; [INV] else goto ; [INV] : i_35 = 0; goto ; [INV] : config_clock.26_2 = config_clock; _3 = config_clock.26_2->dividers[i_26].name; if (name_30(D) == _3) goto ; [INV] else goto ; [INV] : config_clock.27_4 = config_clock; returnValue_37 = &config_clock.27_4->dividers[i_26]; goto ; [INV] : i_36 = i_26 + 1; : # i_26 = PHI config_clock.28_5 = config_clock; _6 = config_clock.28_5->dividersCount; _7 = (long unsigned int) _6; if (i_26 < _7) goto ; [INV] else goto ; [INV] : # returnValue_23 = PHI if (returnValue_23 == 0B) goto ; [INV] else goto ; [INV] : returnValue_38 = ÷rConfigurations[dividerConfigIndex_25]; dividerConfigurations[dividerConfigIndex_25].name = name_30(D); switch (name_30(D)) [INV], case 33: [INV], case 34: [INV], case 35: [INV]> : : _8 = 1074151424B; _9 ={v} _8->RCCR; _10 = _9 >> 4; _11 = _10 & 15; _12 = _11 + 1; dividerConfigurations[dividerConfigIndex_25].value = _12; goto ; [INV] : : _13 = 1074151424B; _14 ={v} _13->VCCR; _15 = _14 >> 4; _16 = _15 & 15; _17 = _16 + 1; dividerConfigurations[dividerConfigIndex_25].value = _17; goto ; [INV] : : _18 = 1074151424B; _19 ={v} _18->HCCR; _20 = _19 >> 4; _21 = _20 & 15; _22 = _21 + 1; dividerConfigurations[dividerConfigIndex_25].value = _22; goto ; [INV] : : : # returnValue_24 = PHI _43 = returnValue_24; : : return _43; } getCoreDividerConfig (Clock_Ip_NameType name) { uint32 i; uint32 dividerConfigIndex; static struct Clock_Ip_DividerConfigType dividerConfigurations[3]; const struct Clock_Ip_DividerConfigType * returnValue; const struct Clock_Ip_DividerConfigType * D.6312; const struct Clock_Ip_ClockConfigType * config_clock.21_1; const struct Clock_Ip_ClockConfigType * config_clock.22_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.23_4; const struct Clock_Ip_ClockConfigType * config_clock.24_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; struct SCG_Type * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; struct SCG_Type * _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; const struct Clock_Ip_DividerConfigType * _43; : returnValue_28 = 0B; dividerConfigIndex_29 = 0; switch (name_30(D)) [INV], case 29: [INV], case 30: [INV], case 31: [INV]> : : dividerConfigIndex_33 = 0; goto ; [INV] : : dividerConfigIndex_32 = 1; goto ; [INV] : : dividerConfigIndex_31 = 2; goto ; [INV] : : : # dividerConfigIndex_25 = PHI config_clock.21_1 = config_clock; if (config_clock.21_1 != 0B) goto ; [INV] else goto ; [INV] : i_35 = 0; goto ; [INV] : config_clock.22_2 = config_clock; _3 = config_clock.22_2->dividers[i_26].name; if (name_30(D) == _3) goto ; [INV] else goto ; [INV] : config_clock.23_4 = config_clock; returnValue_37 = &config_clock.23_4->dividers[i_26]; goto ; [INV] : i_36 = i_26 + 1; : # i_26 = PHI config_clock.24_5 = config_clock; _6 = config_clock.24_5->dividersCount; _7 = (long unsigned int) _6; if (i_26 < _7) goto ; [INV] else goto ; [INV] : # returnValue_23 = PHI if (returnValue_23 == 0B) goto ; [INV] else goto ; [INV] : returnValue_38 = ÷rConfigurations[dividerConfigIndex_25]; dividerConfigurations[dividerConfigIndex_25].name = name_30(D); switch (name_30(D)) [INV], case 29: [INV], case 30: [INV], case 31: [INV]> : : _8 = 1074151424B; _9 ={v} _8->RCCR; _10 = _9 >> 16; _11 = _10 & 15; _12 = _11 + 1; dividerConfigurations[dividerConfigIndex_25].value = _12; goto ; [INV] : : _13 = 1074151424B; _14 ={v} _13->VCCR; _15 = _14 >> 16; _16 = _15 & 15; _17 = _16 + 1; dividerConfigurations[dividerConfigIndex_25].value = _17; goto ; [INV] : : _18 = 1074151424B; _19 ={v} _18->HCCR; _20 = _19 >> 16; _21 = _20 & 15; _22 = _21 + 1; dividerConfigurations[dividerConfigIndex_25].value = _22; goto ; [INV] : : : # returnValue_24 = PHI _43 = returnValue_24; : : return _43; } getSelectorConfig (Clock_Ip_NameType name) { static const Clock_Ip_NameType clockSource[7] = {0, 8, 2, 5, 0, 0, 9}; uint32 i; uint32 selectorConfigIndex; static struct Clock_Ip_SelectorConfigType selectorConfigurations[3]; const struct Clock_Ip_SelectorConfigType * returnValue; const struct Clock_Ip_SelectorConfigType * D.6304; const struct Clock_Ip_ClockConfigType * config_clock.17_1; const struct Clock_Ip_ClockConfigType * config_clock.18_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.19_4; const struct Clock_Ip_ClockConfigType * config_clock.20_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; _12; struct SCG_Type * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; _17; struct SCG_Type * _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; _22; const struct Clock_Ip_SelectorConfigType * _43; : returnValue_28 = 0B; switch (name_29(D)) [INV], case 25: [INV], case 26: [INV], case 27: [INV]> : : selectorConfigIndex_32 = 0; goto ; [INV] : : selectorConfigIndex_31 = 1; goto ; [INV] : : selectorConfigIndex_30 = 2; goto ; [INV] : : selectorConfigIndex_33 = 0; : # selectorConfigIndex_25 = PHI config_clock.17_1 = config_clock; if (config_clock.17_1 != 0B) goto ; [INV] else goto ; [INV] : i_35 = 0; goto ; [INV] : config_clock.18_2 = config_clock; _3 = config_clock.18_2->selectors[i_26].name; if (name_29(D) == _3) goto ; [INV] else goto ; [INV] : config_clock.19_4 = config_clock; returnValue_37 = &config_clock.19_4->selectors[i_26]; goto ; [INV] : i_36 = i_26 + 1; : # i_26 = PHI config_clock.20_5 = config_clock; _6 = config_clock.20_5->selectorsCount; _7 = (long unsigned int) _6; if (i_26 < _7) goto ; [INV] else goto ; [INV] : # returnValue_23 = PHI if (returnValue_23 == 0B) goto ; [INV] else goto ; [INV] : returnValue_38 = &selectorConfigurations[selectorConfigIndex_25]; selectorConfigurations[selectorConfigIndex_25].name = name_29(D); switch (name_29(D)) [INV], case 25: [INV], case 26: [INV], case 27: [INV]> : : _8 = 1074151424B; _9 ={v} _8->RCCR; _10 = _9 >> 24; _11 = _10 & 15; _12 = clockSource[_11]; selectorConfigurations[selectorConfigIndex_25].value = _12; goto ; [INV] : : _13 = 1074151424B; _14 ={v} _13->VCCR; _15 = _14 >> 24; _16 = _15 & 15; _17 = clockSource[_16]; selectorConfigurations[selectorConfigIndex_25].value = _17; goto ; [INV] : : _18 = 1074151424B; _19 ={v} _18->HCCR; _20 = _19 >> 24; _21 = _20 & 15; _22 = clockSource[_21]; selectorConfigurations[selectorConfigIndex_25].value = _22; goto ; [INV] : : : # returnValue_24 = PHI _43 = returnValue_24; : : return _43; } getSpllConfig () { static struct Clock_Ip_PllConfigType spllConfiguration; const struct Clock_Ip_PllConfigType * returnValue; uint32 i; const struct Clock_Ip_PllConfigType * D.6296; const struct Clock_Ip_ClockConfigType * config_clock.13_1; const struct Clock_Ip_ClockConfigType * config_clock.14_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.15_4; const struct Clock_Ip_ClockConfigType * config_clock.16_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; short unsigned int _10; short unsigned int _11; struct SCG_Type * _12; long unsigned int _13; long unsigned int _14; unsigned char _15; unsigned char _16; struct SCG_Type * _17; long unsigned int _18; long unsigned int _19; unsigned char _20; unsigned char _21; const struct Clock_Ip_PllConfigType * _36; : returnValue_26 = 0B; config_clock.13_1 = config_clock; if (config_clock.13_1 != 0B) goto ; [INV] else goto ; [INV] : i_28 = 0; goto ; [INV] : config_clock.14_2 = config_clock; _3 = config_clock.14_2->plls[i_22].name; if (_3 == 9) goto ; [INV] else goto ; [INV] : config_clock.15_4 = config_clock; returnValue_30 = &config_clock.15_4->plls[i_22]; goto ; [INV] : i_29 = i_22 + 1; : # i_22 = PHI config_clock.16_5 = config_clock; _6 = config_clock.16_5->pllsCount; _7 = (long unsigned int) _6; if (i_22 < _7) goto ; [INV] else goto ; [INV] : # returnValue_23 = PHI if (returnValue_23 == 0B) goto ; [INV] else goto ; [INV] : returnValue_31 = &spllConfiguration; spllConfiguration.name = 9; _8 = 1074151424B; _9 ={v} _8->SPLLCSR; _10 = (short unsigned int) _9; _11 = _10 & 1; spllConfiguration.enable = _11; _12 = 1074151424B; _13 ={v} _12->SPLLCFG; _14 = _13 >> 8; _15 = (unsigned char) _14; _16 = _15 & 7; spllConfiguration.predivider = _16; _17 = 1074151424B; _18 ={v} _17->SPLLCFG; _19 = _18 >> 16; _20 = (unsigned char) _19; _21 = _20 & 31; spllConfiguration.mulFactorDiv = _21; : # returnValue_24 = PHI _36 = returnValue_24; : : return _36; } getSoscConfig () { static struct Clock_Ip_XoscConfigType soscConfiguration; const struct Clock_Ip_XoscConfigType * returnValue; uint32 i; const struct Clock_Ip_XoscConfigType * D.6288; const struct Clock_Ip_ClockConfigType * config_clock.9_1; const struct Clock_Ip_ClockConfigType * config_clock.10_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.11_4; const struct Clock_Ip_ClockConfigType * config_clock.12_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; short unsigned int _10; short unsigned int _11; const struct Clock_Ip_XoscConfigType * _25; : returnValue_16 = 0B; config_clock.9_1 = config_clock; if (config_clock.9_1 != 0B) goto ; [INV] else goto ; [INV] : i_18 = 0; goto ; [INV] : config_clock.10_2 = config_clock; _3 = config_clock.10_2->xoscs[i_12].name; if (_3 == 8) goto ; [INV] else goto ; [INV] : config_clock.11_4 = config_clock; returnValue_20 = &config_clock.11_4->xoscs[i_12]; goto ; [INV] : i_19 = i_12 + 1; : # i_12 = PHI config_clock.12_5 = config_clock; _6 = config_clock.12_5->xoscsCount; _7 = (long unsigned int) _6; if (i_12 < _7) goto ; [INV] else goto ; [INV] : # returnValue_13 = PHI if (returnValue_13 == 0B) goto ; [INV] else goto ; [INV] : returnValue_21 = &soscConfiguration; soscConfiguration.name = 8; _8 = 1074151424B; _9 ={v} _8->SOSCCSR; _10 = (short unsigned int) _9; _11 = _10 & 1; soscConfiguration.enable = _11; soscConfiguration.freq = 40000000; : # returnValue_14 = PHI _25 = returnValue_14; : : return _25; } getFircConfig () { static struct Clock_Ip_IrcoscConfigType fircConfiguration; const struct Clock_Ip_IrcoscConfigType * returnValue; uint32 i; const struct Clock_Ip_IrcoscConfigType * D.6280; const struct Clock_Ip_ClockConfigType * config_clock.5_1; const struct Clock_Ip_ClockConfigType * config_clock.6_2; _3; const struct Clock_Ip_ClockConfigType * config_clock.7_4; const struct Clock_Ip_ClockConfigType * config_clock.8_5; unsigned char _6; long unsigned int _7; struct SCG_Type * _8; long unsigned int _9; short unsigned int _10; short unsigned int _11; struct SCG_Type * _12; long unsigned int _13; unsigned char _14; unsigned char _15; struct SCG_Type * _16; long unsigned int _17; unsigned char _18; int _19; int _20; unsigned char _21; unsigned char _22; const struct Clock_Ip_IrcoscConfigType * _37; : returnValue_27 = 0B; config_clock.5_1 = config_clock; if (config_clock.5_1 != 0B) goto ; [INV] else goto ; [INV] : i_29 = 0; goto ; [INV] : config_clock.6_2 = config_clock; _3 = config_clock.6_2->ircoscs[i_23].name; if (_3 == 5) goto ; [INV] else goto ; [INV] : config_clock.7_4 = config_clock; returnValue_31 = &config_clock.7_4->ircoscs[i_23]; goto ; [INV] : i_30 = i_23 + 1; : # i_23 = PHI config_clock.8_5 = config_clock; _6 = config_clock.8_5->ircoscsCount; _7 = (long unsigned int) _6; if (i_23 < _7) goto ; [INV] else goto ; [INV] : # returnValue_24 = PHI if (returnValue_24 == 0B) goto ; [INV] else goto ; [INV] : returnValue_32 = &fircConfiguration; fircConfiguration.name = 5; _8 = 1074151424B; _9 ={v} _8->FIRCCSR; _10 = (short unsigned int) _9; _11 = _10 & 1; fircConfiguration.enable = _11; _12 = 1074151424B; _13 ={v} _12->FIRCCFG; _14 = (unsigned char) _13; _15 = _14 & 3; fircConfiguration.range = _15; _16 = 1074151424B; _17 ={v} _16->FIRCCSR; _18 = (unsigned char) _17; _19 = (int) _18; _20 = _19 >> 3; _21 = (unsigned char) _20; _22 = _21 & 1; fircConfiguration.regulator = _22; : # returnValue_25 = PHI _37 = returnValue_25; : : return _37; } SpecificPlatformInitClock (const struct Clock_Ip_ClockConfigType * config) { uint32 IrcoscStatus; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; struct SCG_Type * _1; long unsigned int _2; long unsigned int _3; struct SCG_Type * _4; long unsigned int _5; long unsigned int _6; long unsigned int TimeoutTicks.4_7; _Bool _8; : TimeoutOccurred_11 = 0; config_clock = config_13(D); _1 = 1074151424B; _2 ={v} _1->FIRCCSR; _3 = _2 & 1; if (_3 == 0) goto ; [INV] else goto ; [INV] : fircWasEnabledBeforeMcuInit = 0; SetFircToResetValue_TrustedCall (); ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000); : _4 = 1074151424B; _5 ={v} _4->FIRCCSR; _6 = _5 >> 24; IrcoscStatus_19 = _6 & 1; TimeoutTicks.4_7 = TimeoutTicks; TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_7); if (IrcoscStatus_19 == 0) goto ; [INV] else goto ; [INV] : _8 = ~TimeoutOccurred_21; if (_8 != 0) goto ; [INV] else goto ; [INV] : if (TimeoutOccurred_21 != 0) goto ; [INV] else goto ; [INV] : ReportClockErrors (1, 5); goto ; [INV] : fircWasEnabledBeforeMcuInit = 1; : SetSimLpoclksRegister_TrustedCall (config_13(D)); StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } SetSimLpoclksRegister_TrustedCall (const struct Clock_Ip_ClockConfigType * config) { uint32 i; uint32 SimLpoValue; _1; _2; unsigned char _3; long unsigned int _4; long unsigned int _5; _6; _7; unsigned char _8; long unsigned int _9; long unsigned int _10; unsigned char _11; long unsigned int _12; _13; short unsigned int _14; long unsigned int _15; long unsigned int _16; _17; short unsigned int _18; long unsigned int _19; unsigned char _20; long unsigned int _21; struct SIM_Type * _22; : SimLpoValue_31 = 3; i_32 = 0; goto ; [INV] : _1 = config_34(D)->selectors[i_29].name; if (_1 == 40) goto ; [INV] else goto ; [INV] : _2 = config_34(D)->selectors[i_29].value; _3 = selectorEntry_hardwareValue[_2]; _4 = (long unsigned int) _3; _5 = _4 << 4; SimLpoValue_40 = SimLpoValue_25 | _5; : # SimLpoValue_23 = PHI _6 = config_34(D)->selectors[i_29].name; if (_6 == 41) goto ; [INV] else goto ; [INV] : _7 = config_34(D)->selectors[i_29].value; _8 = selectorEntryPCS_hardwareValue[_7]; _9 = (long unsigned int) _8; _10 = _9 << 2; SimLpoValue_41 = SimLpoValue_23 | _10; : # SimLpoValue_24 = PHI i_42 = i_29 + 1; : # SimLpoValue_25 = PHI # i_29 = PHI _11 = config_34(D)->selectorsCount; _12 = (long unsigned int) _11; if (i_29 < _12) goto ; [INV] else goto ; [INV] : i_35 = 0; goto ; [INV] : _13 = config_34(D)->gates[i_30].name; if (_13 == 18) goto ; [INV] else goto ; [INV] : _14 = config_34(D)->gates[i_30].enable; _15 = (long unsigned int) _14; _16 = _15 << 1; SimLpoValue_37 = SimLpoValue_28 | _16; : # SimLpoValue_26 = PHI _17 = config_34(D)->gates[i_30].name; if (_17 == 19) goto ; [INV] else goto ; [INV] : _18 = config_34(D)->gates[i_30].enable; _19 = (long unsigned int) _18; SimLpoValue_38 = SimLpoValue_26 | _19; : # SimLpoValue_27 = PHI i_39 = i_30 + 1; : # SimLpoValue_28 = PHI # i_30 = PHI _20 = config_34(D)->gatesCount; _21 = (long unsigned int) _20; if (i_30 < _21) goto ; [INV] else goto ; [INV] : _22 = 1074036736B; _22->LPOCLKS ={v} SimLpoValue_28; return; } SetFircToResetValue_TrustedCall () { struct SCG_Type * _1; struct SCG_Type * _2; long unsigned int _3; struct SCG_Type * _4; long unsigned int _5; : _1 = 1074151424B; _1->FIRCCFG ={v} 0; _2 = 1074151424B; _3 ={v} _2->FIRCCSR; _4 = 1074151424B; _5 = _3 | 1; _4->FIRCCSR ={v} _5; return; } DisableSafeClock (const struct Clock_Ip_ClockConfigType * config) { boolean fircConfigFound; uint32 i; const struct Clock_Ip_ClockConfigType * config_clock.0_1; _2; const struct Clock_Ip_ClockConfigType * config_clock.1_3; short unsigned int _4; unsigned char _5; int _6; void (*) (Clock_Ip_NameType) _7; const struct Clock_Ip_ClockConfigType * config_clock.2_8; unsigned char _9; long unsigned int _10; _Bool _11; _Bool fircWasEnabledBeforeMcuInit.3_12; _Bool _13; unsigned char _14; int _15; void (*) (Clock_Ip_NameType) _16; : fircConfigFound_22 = 0; if (config_23(D) != 0B) goto ; [INV] else goto ; [INV] : i_25 = 0; goto ; [INV] : config_clock.0_1 = config_clock; _2 = config_clock.0_1->ircoscs[i_17].name; if (_2 == 5) goto ; [INV] else goto ; [INV] : fircConfigFound_27 = 1; config_clock.1_3 = config_clock; _4 = config_clock.1_3->ircoscs[i_17].enable; if (_4 == 0) goto ; [INV] else goto ; [INV] : _5 = ircoscCallbackIndex[4]; _6 = (int) _5; _7 = intOscCallbacks[_6].Disable; _7 (5); : goto ; [INV] : i_26 = i_17 + 1; : # i_17 = PHI config_clock.2_8 = config_clock; _9 = config_clock.2_8->ircoscsCount; _10 = (long unsigned int) _9; if (i_17 < _10) goto ; [INV] else goto ; [INV] : # fircConfigFound_18 = PHI _11 = ~fircConfigFound_18; if (_11 != 0) goto ; [INV] else goto ; [INV] : fircWasEnabledBeforeMcuInit.3_12 = fircWasEnabledBeforeMcuInit; _13 = ~fircWasEnabledBeforeMcuInit.3_12; if (_13 != 0) goto ; [INV] else goto ; [INV] : _14 = ircoscCallbackIndex[4]; _15 = (int) _14; _16 = intOscCallbacks[_15].Disable; _16 (5); : return; } SpecificPeripheralClockInitialization (const struct Clock_IP_SpecificPeriphConfigType * config) { : return; }