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) @060efa80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockTimeoutExpired/21 Calls: OsIf_MicrosToTicks/52 (OsIf_MicrosToTicks) @060ef8c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockStartTimeout/20 Calls: OsIf_GetCounter/51 (OsIf_GetCounter) @060ef7e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ClockStartTimeout/20 Calls: GetProducerClockFreq/50 (GetProducerClockFreq) @060ef460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_GetClockFrequency/15 Calls: consumerClockCallbacks/49 (consumerClockCallbacks) @060f3360 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) @060e5d80 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) @060e5990 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) @05fdde00 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) @05fddd20 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) @060e5480 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) @060e5438 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) @060e5360 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) @060e50d8 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) @060e5090 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) @05fea5e8 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) @05feaf78 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) @05feaea0 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) @05feae58 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) @05feaca8 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) @05feac60 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) @05feab88 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) @05feab40 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) @05feaa68 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) @05feaa20 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) @05fea948 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) @05fea900 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) @05fea828 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) @05fea7e0 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) @05fddc40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Clock_Ip_InitClock/5 Calls: cmuCallbacks/24 (cmuCallbacks) @05fea6c0 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) @05fea678 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) @05fea630 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) @05fdd460 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) @05fdd1c0 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) @05fd6d20 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) @05fd67e0 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) @05fd62a0 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) @05fd6ee0 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) @05fd6c40 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) @05fd69a0 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) @05fd6700 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) @05fd6460 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) @05fd61c0 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) @05fb0e00 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) @05fb08c0 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) @05fb0380 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) @05fb0d20 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) @05fb0a80 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) @05fb07e0 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) @05fb0540 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) @05fae630 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) @05fae5a0 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) @05fae558 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) @05fae4c8 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.5258; long unsigned int D.5257; : # DEBUG BEGIN_STMT D.5257 = OsIf_GetElapsed (startTimeInOut, 0); _1 = *elapsedTimeInOut; _2 = D.5257 + _1; *elapsedTimeInOut = _2; # DEBUG BEGIN_STMT _3 = *elapsedTimeInOut; D.5258 = TimeoutTicks <= _3; return D.5258; } 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.5253; : # 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.5253 = frequency; return D.5253; } 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.5248; : # 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.5248 = _5 (clockName); return D.5248; } 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.5240; : # 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.5240 = retValue; return D.5240; } 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.5226; : # 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.5226 = clockStatus; return D.5226; }