Marking local functions: Clock_Ip_Sleep Marking externally visible functions: ClockTimeoutExpired ClockStartTimeout ReportClockErrors Clock_Ip_TimeDelay Clock_Ip_GetClockFrequency Clock_Ip_EnableModuleClock Clock_Ip_DisableModuleClock Clock_Ip_InstallNotificationsCallback Clock_Ip_PowerModeChangeNotification Clock_Ip_ClearClockMonitorStatus Clock_Ip_GetClockMonitorStatus Clock_Ip_DisableClockMonitor Clock_Ip_DistributePll Clock_Ip_GetPllStatus Clock_Ip_InitClock Clock_Ip_Init Marking externally visible variables: clockConfig Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: OsIf_GetElapsed/53 (OsIf_GetElapsed) @06cf39a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockTimeoutExpired/21 Calls: OsIf_MicrosToTicks/52 (OsIf_MicrosToTicks) @06cf37e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockStartTimeout/20 Calls: OsIf_GetCounter/51 (OsIf_GetCounter) @06cf3700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockStartTimeout/20 Calls: GetProducerClockFreq/50 (GetProducerClockFreq) @06cf3380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_GetClockFrequency/15 Calls: consumerClockCallbacks/49 (consumerClockCallbacks) @06cf5360 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_GetClockFrequency/15 (read) Availability: not_available Varpool flags: read-only HwPllName/48 (HwPllName) @06ce7d80 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_GetPllStatus/6 (read)Clock_Ip_GetPllStatus/6 (read) Availability: not_available Varpool flags: read-only calcFreqCallbacks/47 (calcFreqCallbacks) @06ce7990 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_Sleep/16 (read)Clock_Ip_TimeDelay/17 (read) Availability: not_available Varpool flags: read-only UpdateFrequencies/46 (UpdateFrequencies) @06abbc40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_PowerModeChangeNotification/11 Clock_Ip_DistributePll/7 Clock_Ip_InitClock/5 Calls: SpecificPeripheralClockInitialization/45 (SpecificPeripheralClockInitialization) @06abbb60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_DistributePll/7 Clock_Ip_InitClock/5 Calls: gateCallbacks/44 (gateCallbacks) @06ce7480 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_EnableModuleClock/14 (read) Availability: not_available Varpool flags: read-only gateCallbackIndex/43 (gateCallbackIndex) @06ce7438 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_EnableModuleClock/14 (read) Availability: not_available Varpool flags: read-only clockName_sourceType/42 (clockName_sourceType) @06ce7360 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read) Availability: not_available Varpool flags: read-only dividerCallbacks/41 (dividerCallbacks) @06ce70d8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only dividerCallbackIndex/40 (dividerCallbackIndex) @06ce7090 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only dividerTriggerCallbacks/39 (dividerTriggerCallbacks) @06ac85e8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only dividertriggerCallbackIndex/38 (dividertriggerCallbackIndex) @06ac8f78 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only pcfsCallbacks/37 (pcfsCallbacks) @06ac8ea0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only pcfsCallbackIndex/36 (pcfsCallbackIndex) @06ac8e58 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only intOscCallbacks/35 (intOscCallbacks) @06ac8ca8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only ircoscCallbackIndex/34 (ircoscCallbackIndex) @06ac8c60 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only extOscCallbacks/33 (extOscCallbacks) @06ac8b88 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only xoscCallbackIndex/32 (xoscCallbackIndex) @06ac8b40 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only pllCallbacks/31 (pllCallbacks) @06ac8a68 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read) Availability: not_available Varpool flags: read-only pllCallbackIndex/30 (pllCallbackIndex) @06ac8a20 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read) Availability: not_available Varpool flags: read-only fracDivCallbacks/29 (fracDivCallbacks) @06ac8948 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only fractional_dividerCallbackIndex/28 (fractional_dividerCallbackIndex) @06ac8900 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read) Availability: not_available Varpool flags: read-only selectorCallbacks/27 (selectorCallbacks) @06ac8828 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read) Availability: not_available Varpool flags: read-only selectorCallbackIndex/26 (selectorCallbackIndex) @06ac87e0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read) Availability: not_available Varpool flags: read-only SpecificPlatformInitClock/25 (SpecificPlatformInitClock) @06abba80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_InitClock/5 Calls: cmuCallbacks/24 (cmuCallbacks) @06ac86c0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DisableClockMonitor/8 (read)Clock_Ip_GetClockMonitorStatus/9 (read)Clock_Ip_ClearClockMonitorStatus/10 (read) Availability: not_available Varpool flags: read-only cmuCallbackIndex/23 (cmuCallbackIndex) @06ac8678 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DisableClockMonitor/8 (read)Clock_Ip_GetClockMonitorStatus/9 (read)Clock_Ip_ClearClockMonitorStatus/10 (read) Availability: not_available Varpool flags: read-only clockFeatures/22 (clockFeatures) @06ac8630 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DisableClockMonitor/8 (read)Clock_Ip_GetClockMonitorStatus/9 (read)Clock_Ip_ClearClockMonitorStatus/10 (read)Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_EnableModuleClock/14 (read) Availability: not_available Varpool flags: read-only ClockTimeoutExpired/21 (ClockTimeoutExpired) @06abb2a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: OsIf_GetElapsed/53 ClockStartTimeout/20 (ClockStartTimeout) @06abb000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: OsIf_MicrosToTicks/52 OsIf_GetCounter/51 ReportClockErrors/19 (ReportClockErrors) @06ab4b60 Type: function definition analyzed Visibility: externally_visible public References: clockNotificationsCallback/1 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call ClockNotificatonsEmptyCallback/18 (ClockNotificatonsEmptyCallback) @06ab4620 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: Referring: clockNotificationsCallback/1 (addr) Availability: available Function flags: body optimize_size Called by: Calls: Clock_Ip_TimeDelay/17 (Clock_Ip_TimeDelay) @06ab40e0 Type: function definition analyzed Visibility: externally_visible public References: ClockCalcFreqCallIdx/3 (read)calcFreqCallbacks/47 (read)ClockCalcFreqCallIdx/3 (read)ClockCalcFreqCallIdx/3 (read)ClockCalcFreqCallIdx/3 (write) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_Sleep/16 (Clock_Ip_Sleep) @06ab4d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: ClockCalcFreqCallIdx/3 (read)calcFreqCallbacks/47 (read)ClockCalcFreqCallIdx/3 (read)ClockCalcFreqCallIdx/3 (write)ClockCalcFreqCallIdx/3 (read) Referring: Availability: local Function flags: body local optimize_size Called by: Clock_Ip_InitClock/5 Calls: Indirect call Clock_Ip_GetClockFrequency/15 (Clock_Ip_GetClockFrequency) @06ab4a80 Type: function definition analyzed Visibility: externally_visible public References: consumerClockCallbacks/49 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: GetProducerClockFreq/50 Indirect call Clock_Ip_EnableModuleClock/14 (Clock_Ip_EnableModuleClock) @06ab47e0 Type: function definition analyzed Visibility: externally_visible public References: clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_DisableModuleClock/13 (Clock_Ip_DisableModuleClock) @06ab4540 Type: function definition analyzed Visibility: externally_visible public References: clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_InstallNotificationsCallback/12 (Clock_Ip_InstallNotificationsCallback) @06ab42a0 Type: function definition analyzed Visibility: externally_visible public References: clockNotificationsCallback/1 (write) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Clock_Ip_PowerModeChangeNotification/11 (Clock_Ip_PowerModeChangeNotification) @06ab4000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: body optimize_size Called by: Calls: UpdateFrequencies/46 Clock_Ip_ClearClockMonitorStatus/10 (Clock_Ip_ClearClockMonitorStatus) @06b1ea80 Type: function definition analyzed Visibility: externally_visible public References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_GetClockMonitorStatus/9 (Clock_Ip_GetClockMonitorStatus) @06b1e540 Type: function definition analyzed Visibility: externally_visible public References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_DisableClockMonitor/8 (Clock_Ip_DisableClockMonitor) @06b1eee0 Type: function definition analyzed Visibility: externally_visible public References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Indirect call Clock_Ip_DistributePll/7 (Clock_Ip_DistributePll) @06b1ec40 Type: function definition analyzed Visibility: externally_visible public References: clockConfig/2 (read)clockConfig/2 (read)clockName_sourceType/42 (read)clockConfig/2 (read)clockFeatures/22 (read)selectorCallbackIndex/26 (read)selectorCallbacks/27 (read)clockConfig/2 (read)clockConfig/2 (read)clockTreeIsConsumingPll/0 (read)clockConfig/2 (read)clockConfig/2 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)clockConfig/2 (read)clockConfig/2 (read) Referring: Availability: available Function flags: body optimize_size Called by: Clock_Ip_Init/4 Calls: UpdateFrequencies/46 SpecificPeripheralClockInitialization/45 Indirect call Indirect call Clock_Ip_GetPllStatus/6 (Clock_Ip_GetPllStatus) @06b1e9a0 Type: function definition analyzed Visibility: externally_visible public References: HwPllName/48 (read)clockFeatures/22 (read)pllCallbackIndex/30 (read)pllCallbacks/31 (read)HwPllName/48 (read) Referring: Availability: available Function flags: body optimize_size Called by: Clock_Ip_Init/4 Calls: Indirect call Clock_Ip_InitClock/5 (Clock_Ip_InitClock) @06b1e700 Type: function definition analyzed Visibility: externally_visible public References: ClockCalcFreqCallIdx/3 (write)clockConfig/2 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)clockConfig/2 (write)clockFeatures/22 (read)selectorCallbackIndex/26 (read)selectorCallbacks/27 (read)clockFeatures/22 (read)fractional_dividerCallbackIndex/28 (read)fracDivCallbacks/29 (read)clockFeatures/22 (read)pllCallbackIndex/30 (read)pllCallbacks/31 (read)clockFeatures/22 (read)xoscCallbackIndex/32 (read)extOscCallbacks/33 (read)clockFeatures/22 (read)ircoscCallbackIndex/34 (read)intOscCallbacks/35 (read)clockFeatures/22 (read)xoscCallbackIndex/32 (read)extOscCallbacks/33 (read)clockFeatures/22 (read)pcfsCallbackIndex/36 (read)pcfsCallbacks/37 (read)clockFeatures/22 (read)dividertriggerCallbackIndex/38 (read)dividerTriggerCallbacks/39 (read)clockFeatures/22 (read)dividerCallbackIndex/40 (read)dividerCallbacks/41 (read)clockFeatures/22 (read)dividertriggerCallbackIndex/38 (read)dividerTriggerCallbacks/39 (read)clockFeatures/22 (read)pllCallbackIndex/30 (read)pllCallbacks/31 (read)clockFeatures/22 (read)fractional_dividerCallbackIndex/28 (read)fracDivCallbacks/29 (read)clockTreeIsConsumingPll/0 (write)clockName_sourceType/42 (read)clockFeatures/22 (read)selectorCallbackIndex/26 (read)selectorCallbacks/27 (read)clockTreeIsConsumingPll/0 (write)clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read)clockTreeIsConsumingPll/0 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read) Referring: Availability: available Function flags: body optimize_size Called by: Clock_Ip_Init/4 Calls: UpdateFrequencies/46 SpecificPeripheralClockInitialization/45 Clock_Ip_Sleep/16 SpecificPlatformInitClock/25 Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Indirect call Clock_Ip_Init/4 (Clock_Ip_Init) @06b1e460 Type: function definition analyzed Visibility: externally_visible public References: clockTreeIsConsumingPll/0 (read) Referring: Availability: available Function flags: body optimize_size Called by: Calls: Clock_Ip_DistributePll/7 Clock_Ip_GetPllStatus/6 Clock_Ip_InitClock/5 ClockCalcFreqCallIdx/3 (ClockCalcFreqCallIdx) @06b1c630 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: Clock_Ip_InitClock/5 (write)Clock_Ip_Sleep/16 (read)Clock_Ip_Sleep/16 (read)Clock_Ip_Sleep/16 (write)Clock_Ip_Sleep/16 (read)Clock_Ip_TimeDelay/17 (read)Clock_Ip_TimeDelay/17 (read)Clock_Ip_TimeDelay/17 (read)Clock_Ip_TimeDelay/17 (write) Availability: available Varpool flags: clockConfig/2 (clockConfig) @06b1c5a0 Type: variable definition analyzed Visibility: externally_visible public References: Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (write)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read) Availability: available Varpool flags: initialized clockNotificationsCallback/1 (clockNotificationsCallback) @06b1c558 Type: variable definition analyzed Visibility: prevailing_def_ironly References: ClockNotificatonsEmptyCallback/18 (addr) Referring: Clock_Ip_InstallNotificationsCallback/12 (write)ReportClockErrors/19 (read) Availability: available Varpool flags: initialized clockTreeIsConsumingPll/0 (clockTreeIsConsumingPll) @06b1c4c8 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: Clock_Ip_Init/4 (read)Clock_Ip_InitClock/5 (write)Clock_Ip_InitClock/5 (write)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read) Availability: available Varpool flags: initialized ClockTimeoutExpired (uint32 * startTimeInOut, uint32 * elapsedTimeInOut, uint32 TimeoutTicks) { boolean D.5257; long unsigned int D.5256; : # DEBUG BEGIN_STMT D.5256 = OsIf_GetElapsed (startTimeInOut, 0); _1 = *elapsedTimeInOut; _2 = D.5256 + _1; *elapsedTimeInOut = _2; # DEBUG BEGIN_STMT _3 = *elapsedTimeInOut; D.5257 = TimeoutTicks <= _3; return D.5257; } ClockStartTimeout (uint32 * startTimeOut, uint32 * elapsedTimeOut, uint32 * timeoutTicksOut, uint32 timeoutUs) { : # DEBUG BEGIN_STMT _1 = OsIf_GetCounter (0); *startTimeOut = _1; # DEBUG BEGIN_STMT *elapsedTimeOut = 0; # DEBUG BEGIN_STMT _2 = OsIf_MicrosToTicks (timeoutUs, 0); *timeoutTicksOut = _2; return; } ReportClockErrors (Clock_Ip_ClockNotificationType error, Clock_Ip_NameType clockName) { : # DEBUG BEGIN_STMT clockNotificationsCallback.21_1 = clockNotificationsCallback; clockNotificationsCallback.21_1 (error, clockName); return; } ClockNotificatonsEmptyCallback (Clock_Ip_ClockNotificationType notification, Clock_Ip_NameType clockName) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } Clock_Ip_TimeDelay () { : # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.17_1 = ClockCalcFreqCallIdx; _2 = (int) ClockCalcFreqCallIdx.17_1; _3 = calcFreqCallbacks[_2]; _3 (); # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.18_4 = ClockCalcFreqCallIdx; if (ClockCalcFreqCallIdx.18_4 <= 33) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.19_5 = ClockCalcFreqCallIdx; ClockCalcFreqCallIdx.20_6 = ClockCalcFreqCallIdx.19_5; _7 = ClockCalcFreqCallIdx.20_6 + 1; ClockCalcFreqCallIdx = _7; : return; } Clock_Ip_Sleep () { : # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.3_1 = ClockCalcFreqCallIdx; _2 = (int) ClockCalcFreqCallIdx.3_1; _3 = calcFreqCallbacks[_2]; _3 (); # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.4_4 = ClockCalcFreqCallIdx; ClockCalcFreqCallIdx.5_5 = ClockCalcFreqCallIdx.4_4; _6 = ClockCalcFreqCallIdx.5_5 + 1; ClockCalcFreqCallIdx = _6; : # DEBUG BEGIN_STMT ClockCalcFreqCallIdx.6_7 = ClockCalcFreqCallIdx; if (ClockCalcFreqCallIdx.6_7 <= 33) goto ; [INV] else goto ; [INV] : return; } Clock_Ip_GetClockFrequency (Clock_Ip_NameType clockName) { uint32 frequency; uint32 D.5252; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (clockName > 21) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = (long unsigned int) clockName; _2 = _1 + 4294967274; _3 = consumerClockCallbacks[_2]; frequency = _3 (); goto ; [INV] : # DEBUG BEGIN_STMT frequency = GetProducerClockFreq (clockName); : # DEBUG BEGIN_STMT D.5252 = frequency; return D.5252; } Clock_Ip_EnableModuleClock (Clock_Ip_NameType clockName) { uint32 callbackIndex; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) clockName; _2 = clockFeatures[_1][1]; _3 = (int) _2; _4 = gateCallbackIndex[_3]; callbackIndex = (uint32) _4; # DEBUG BEGIN_STMT _5 = gateCallbacks[callbackIndex].Update; _5 (clockName, 0); return; } Clock_Ip_DisableModuleClock (Clock_Ip_NameType clockName) { uint32 callbackIndex; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) clockName; _2 = clockFeatures[_1][1]; _3 = (int) _2; _4 = gateCallbackIndex[_3]; callbackIndex = (uint32) _4; # DEBUG BEGIN_STMT _5 = gateCallbacks[callbackIndex].Update; _5 (clockName, 1); return; } Clock_Ip_InstallNotificationsCallback (void (*Clock_Ip_NotificationsCallbackType) (Clock_Ip_ClockNotificationType, Clock_Ip_NameType) callback) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT clockNotificationsCallback = callback; return; } Clock_Ip_PowerModeChangeNotification (power_modes_t powerMode, power_notification_t notification) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT UpdateFrequencies (powerMode); return; } Clock_Ip_ClearClockMonitorStatus (Clock_Ip_NameType clockName) { uint32 callbackIndex; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) clockName; _2 = clockFeatures[_1][1]; _3 = (int) _2; _4 = cmuCallbackIndex[_3]; callbackIndex = (uint32) _4; # DEBUG BEGIN_STMT _5 = cmuCallbacks[callbackIndex].Clear; _5 (clockName); return; } Clock_Ip_GetClockMonitorStatus (Clock_Ip_NameType clockName) { uint32 callbackIndex; Clock_Ip_CmuStatusType D.5247; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) clockName; _2 = clockFeatures[_1][1]; _3 = (int) _2; _4 = cmuCallbackIndex[_3]; callbackIndex = (uint32) _4; # DEBUG BEGIN_STMT _5 = cmuCallbacks[callbackIndex].GetStatus; D.5247 = _5 (clockName); return D.5247; } Clock_Ip_DisableClockMonitor (Clock_Ip_NameType clockName) { uint32 callbackIndex; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) clockName; _2 = clockFeatures[_1][1]; _3 = (int) _2; _4 = cmuCallbackIndex[_3]; callbackIndex = (uint32) _4; # DEBUG BEGIN_STMT _5 = cmuCallbacks[callbackIndex].Disable; _5 (clockName); return; } Clock_Ip_DistributePll () { uint32 callbackIndex; uint32 i; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT clockConfig.7_1 = clockConfig; if (clockConfig.7_1 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT clockConfig.8_2 = clockConfig; _3 = clockConfig.8_2->selectors[i].value; _4 = (int) _3; _5 = clockName_sourceType[_4]; if (_5 != 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockConfig.9_6 = clockConfig; _7 = clockConfig.9_6->selectors[i].name; _8 = (int) _7; _9 = clockFeatures[_8][1]; _10 = (int) _9; _11 = selectorCallbackIndex[_10]; callbackIndex = (uint32) _11; # DEBUG BEGIN_STMT _12 = selectorCallbacks[callbackIndex].Set; clockConfig.10_13 = clockConfig; _14 = &clockConfig.10_13->selectors[i]; _12 (_14); : # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT clockConfig.11_15 = clockConfig; _16 = clockConfig.11_15->selectorsCount; _17 = (long unsigned int) _16; if (i < _17) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockTreeIsConsumingPll.12_18 = clockTreeIsConsumingPll; if (clockTreeIsConsumingPll.12_18 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockConfig.13_19 = clockConfig; _20 = &clockConfig.13_19->specificPeriphalConfiguration; SpecificPeripheralClockInitialization (_20); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT clockConfig.14_21 = clockConfig; _22 = clockConfig.14_21->cmus[i].name; _23 = (int) _22; _24 = clockFeatures[_23][1]; _25 = (int) _24; _26 = cmuCallbackIndex[_25]; callbackIndex = (uint32) _26; # DEBUG BEGIN_STMT _27 = cmuCallbacks[callbackIndex].Set; clockConfig.15_28 = clockConfig; _29 = &clockConfig.15_28->cmus[i]; _27 (_29); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT clockConfig.16_30 = clockConfig; _31 = clockConfig.16_30->cmusCount; _32 = (long unsigned int) _31; if (i < _32) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT UpdateFrequencies (0); return; } Clock_Ip_GetPllStatus () { uint32 callbackIndex; uint32 i; clock_pll_status_t pllStatus; Clock_Ip_PllStatusType retValue; Clock_Ip_PllStatusType D.5239; : # DEBUG BEGIN_STMT retValue = 2; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = HwPllName[i]; _2 = (int) _1; _3 = clockFeatures[_2][1]; _4 = (int) _3; _5 = pllCallbackIndex[_4]; callbackIndex = (uint32) _5; # DEBUG BEGIN_STMT _6 = pllCallbacks[callbackIndex].Complete; _7 = HwPllName[i]; pllStatus = _6 (_7); # DEBUG BEGIN_STMT if (pllStatus == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT retValue = 1; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT if (pllStatus == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT retValue = 0; : # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT if (i == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT D.5239 = retValue; return D.5239; } Clock_Ip_InitClock (const struct Clock_Ip_ClockConfigType * config) { uint32 i; uint32 callbackIndex; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ClockCalcFreqCallIdx = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT clockConfig.1_1 = clockConfig; if (clockConfig.1_1 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _2 = config->cmus[i].name; _3 = (int) _2; _4 = clockFeatures[_3][1]; _5 = (int) _4; _6 = cmuCallbackIndex[_5]; callbackIndex = (uint32) _6; # DEBUG BEGIN_STMT _7 = cmuCallbacks[callbackIndex].Reset; _8 = &config->cmus[i]; _7 (_8); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _9 = config->cmusCount; _10 = (long unsigned int) _9; if (i < _10) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockConfig = config; # DEBUG BEGIN_STMT SpecificPlatformInitClock (config); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _11 = config->selectors[i].name; _12 = (int) _11; _13 = clockFeatures[_12][1]; _14 = (int) _13; _15 = selectorCallbackIndex[_14]; callbackIndex = (uint32) _15; # DEBUG BEGIN_STMT _16 = selectorCallbacks[callbackIndex].Reset; _17 = &config->selectors[i]; _16 (_17); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _18 = config->selectorsCount; _19 = (long unsigned int) _18; if (i < _19) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _20 = config->fracDivs[i].name; _21 = (int) _20; _22 = clockFeatures[_21][1]; _23 = (int) _22; _24 = fractional_dividerCallbackIndex[_23]; callbackIndex = (uint32) _24; # DEBUG BEGIN_STMT _25 = fracDivCallbacks[callbackIndex].Reset; _26 = &config->fracDivs[i]; _25 (_26); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _27 = config->fracDivsCount; _28 = (long unsigned int) _27; if (i < _28) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _29 = config->plls[i].name; _30 = (int) _29; _31 = clockFeatures[_30][1]; _32 = (int) _31; _33 = pllCallbackIndex[_32]; callbackIndex = (uint32) _33; # DEBUG BEGIN_STMT _34 = pllCallbacks[callbackIndex].Reset; _35 = &config->plls[i]; _34 (_35); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _36 = config->pllsCount; _37 = (long unsigned int) _36; if (i < _37) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _38 = config->xoscs[i].name; _39 = (int) _38; _40 = clockFeatures[_39][1]; _41 = (int) _40; _42 = xoscCallbackIndex[_41]; callbackIndex = (uint32) _42; # DEBUG BEGIN_STMT _43 = extOscCallbacks[callbackIndex].Reset; _44 = &config->xoscs[i]; _43 (_44); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _45 = config->xoscsCount; _46 = (long unsigned int) _45; if (i < _46) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _47 = config->ircoscs[i].name; _48 = (int) _47; _49 = clockFeatures[_48][1]; _50 = (int) _49; _51 = ircoscCallbackIndex[_50]; callbackIndex = (uint32) _51; # DEBUG BEGIN_STMT _52 = intOscCallbacks[callbackIndex].Set; _53 = &config->ircoscs[i]; _52 (_53); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _54 = config->ircoscsCount; _55 = (long unsigned int) _54; if (i < _55) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _56 = config->xoscs[i].name; _57 = (int) _56; _58 = clockFeatures[_57][1]; _59 = (int) _58; _60 = xoscCallbackIndex[_59]; callbackIndex = (uint32) _60; # DEBUG BEGIN_STMT _61 = extOscCallbacks[callbackIndex].Set; _62 = &config->xoscs[i]; _61 (_62); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _63 = config->xoscsCount; _64 = (long unsigned int) _63; if (i < _64) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Clock_Ip_Sleep (); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _65 = config->pcfs[i].name; _66 = (int) _65; _67 = clockFeatures[_66][1]; _68 = (int) _67; _69 = pcfsCallbackIndex[_68]; callbackIndex = (uint32) _69; # DEBUG BEGIN_STMT _70 = pcfsCallbacks[callbackIndex].Set; _71 = &config->pcfs[i]; _70 (_71); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _72 = config->pcfsCount; _73 = (long unsigned int) _72; if (i < _73) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _74 = config->dividerTriggers[i].name; _75 = (int) _74; _76 = clockFeatures[_75][1]; _77 = (int) _76; _78 = dividertriggerCallbackIndex[_77]; callbackIndex = (uint32) _78; # DEBUG BEGIN_STMT _79 = dividerTriggerCallbacks[callbackIndex].Configure; _80 = &config->dividerTriggers[i]; _79 (_80); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _81 = config->dividerTriggersCount; _82 = (long unsigned int) _81; if (i < _82) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _83 = config->dividers[i].name; _84 = (int) _83; _85 = clockFeatures[_84][1]; _86 = (int) _85; _87 = dividerCallbackIndex[_86]; callbackIndex = (uint32) _87; # DEBUG BEGIN_STMT _88 = dividerCallbacks[callbackIndex].Set; _89 = &config->dividers[i]; _88 (_89); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _90 = config->dividersCount; _91 = (long unsigned int) _90; if (i < _91) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _92 = config->dividerTriggers[i].name; _93 = (int) _92; _94 = clockFeatures[_93][1]; _95 = (int) _94; _96 = dividertriggerCallbackIndex[_95]; callbackIndex = (uint32) _96; # DEBUG BEGIN_STMT _97 = dividerTriggerCallbacks[callbackIndex].TriggerUpdate; _98 = &config->dividerTriggers[i]; _97 (_98); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _99 = config->dividerTriggersCount; _100 = (long unsigned int) _99; if (i < _100) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _101 = config->plls[i].name; _102 = (int) _101; _103 = clockFeatures[_102][1]; _104 = (int) _103; _105 = pllCallbackIndex[_104]; callbackIndex = (uint32) _105; # DEBUG BEGIN_STMT _106 = pllCallbacks[callbackIndex].Set; _107 = &config->plls[i]; _106 (_107); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _108 = config->pllsCount; _109 = (long unsigned int) _108; if (i < _109) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _110 = config->fracDivs[i].name; _111 = (int) _110; _112 = clockFeatures[_111][1]; _113 = (int) _112; _114 = fractional_dividerCallbackIndex[_113]; callbackIndex = (uint32) _114; # DEBUG BEGIN_STMT _115 = fracDivCallbacks[callbackIndex].Set; _116 = &config->fracDivs[i]; _115 (_116); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _117 = config->fracDivsCount; _118 = (long unsigned int) _117; if (i < _118) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockTreeIsConsumingPll = 0; # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _119 = config->selectors[i].value; _120 = (int) _119; _121 = clockName_sourceType[_120]; if (_121 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _122 = config->selectors[i].name; _123 = (int) _122; _124 = clockFeatures[_123][1]; _125 = (int) _124; _126 = selectorCallbackIndex[_125]; callbackIndex = (uint32) _126; # DEBUG BEGIN_STMT _127 = selectorCallbacks[callbackIndex].Set; _128 = &config->selectors[i]; _127 (_128); goto ; [INV] : # DEBUG BEGIN_STMT clockTreeIsConsumingPll = 1; : # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _129 = config->selectorsCount; _130 = (long unsigned int) _129; if (i < _130) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _131 = config->gates[i].name; _132 = (int) _131; _133 = clockFeatures[_132][1]; _134 = (int) _133; _135 = gateCallbackIndex[_134]; callbackIndex = (uint32) _135; # DEBUG BEGIN_STMT _136 = gateCallbacks[callbackIndex].Set; _137 = &config->gates[i]; _136 (_137); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _138 = config->gatesCount; _139 = (long unsigned int) _138; if (i < _139) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT clockTreeIsConsumingPll.2_140 = clockTreeIsConsumingPll; _141 = ~clockTreeIsConsumingPll.2_140; if (_141 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _142 = &config->specificPeriphalConfiguration; SpecificPeripheralClockInitialization (_142); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _143 = config->cmus[i].name; _144 = (int) _143; _145 = clockFeatures[_144][1]; _146 = (int) _145; _147 = cmuCallbackIndex[_146]; callbackIndex = (uint32) _147; # DEBUG BEGIN_STMT _148 = cmuCallbacks[callbackIndex].Set; _149 = &config->cmus[i]; _148 (_149); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _150 = config->cmusCount; _151 = (long unsigned int) _150; if (i < _151) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT UpdateFrequencies (0); return; } Clock_Ip_Init (const struct Clock_Ip_ClockConfigType * config) { Clock_Ip_PllStatusType pllStatus; Clock_Ip_StatusType clockStatus; Clock_Ip_StatusType D.5225; : # DEBUG BEGIN_STMT clockStatus = 1; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Clock_Ip_InitClock (config); # DEBUG BEGIN_STMT clockTreeIsConsumingPll.0_1 = clockTreeIsConsumingPll; if (clockTreeIsConsumingPll.0_1 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT pllStatus = Clock_Ip_GetPllStatus (); # DEBUG BEGIN_STMT if (pllStatus == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Clock_Ip_DistributePll (); # DEBUG BEGIN_STMT clockStatus = 0; goto ; [INV] : # DEBUG BEGIN_STMT clockStatus = 0; : # DEBUG BEGIN_STMT D.5225 = clockStatus; return D.5225; }