
Marking local functions:


Marking externally visible functions: ClockPowerModeChangeNotification ClockInitializeObjects SpecificPlatformInitClock DisableSafeClock SpecificPeripheralClockInitialization


Marking externally visible variables:


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

dividerCallbacks/64 (dividerCallbacks) @06d3dcf0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)
  Availability: not_available
  Varpool flags: read-only
dividerCallbackIndex/63 (dividerCallbackIndex) @06d3dca8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)
  Availability: not_available
  Varpool flags: read-only
selectorCallbacks/62 (selectorCallbacks) @06d3dc60
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (addr)ClockInitializeObjects/40 (addr)
  Availability: not_available
  Varpool flags: read-only
selectorCallbackIndex/61 (selectorCallbackIndex) @06d3dc18
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (read)ClockInitializeObjects/40 (read)
  Availability: not_available
  Varpool flags: read-only
extOscCallbacks/60 (extOscCallbacks) @06d3dbd0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (addr)
  Availability: not_available
  Varpool flags: read-only
xoscCallbackIndex/59 (xoscCallbackIndex) @06d3db88
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (read)
  Availability: not_available
  Varpool flags: read-only
pllCallbacks/58 (pllCallbacks) @06d3db40
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (addr)
  Availability: not_available
  Varpool flags: read-only
pllCallbackIndex/57 (pllCallbackIndex) @06d3daf8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ClockInitializeObjects/40 (read)
  Availability: not_available
  Varpool flags: read-only
dividerConfigurations.6217/56 (dividerConfigurations) @06d3d900
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getSlowDividerConfig/39 (addr)getSlowDividerConfig/39 (write)getSlowDividerConfig/39 (write)getSlowDividerConfig/39 (write)getSlowDividerConfig/39 (write)
  Availability: available
  Varpool flags:
dividerConfigurations.6197/55 (dividerConfigurations) @06d3d1b0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getBusDividerConfig/38 (addr)getBusDividerConfig/38 (write)getBusDividerConfig/38 (write)getBusDividerConfig/38 (write)getBusDividerConfig/38 (write)
  Availability: available
  Varpool flags:
dividerConfigurations.6177/54 (dividerConfigurations) @06d36a20
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getCoreDividerConfig/37 (addr)getCoreDividerConfig/37 (write)getCoreDividerConfig/37 (write)getCoreDividerConfig/37 (write)getCoreDividerConfig/37 (write)
  Availability: available
  Varpool flags:
clockSource.6159/53 (clockSource) @06d362d0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getSelectorConfig/36 (read)getSelectorConfig/36 (read)getSelectorConfig/36 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
selectorConfigurations.6156/52 (selectorConfigurations) @06d36288
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getSelectorConfig/36 (addr)getSelectorConfig/36 (write)getSelectorConfig/36 (write)getSelectorConfig/36 (write)getSelectorConfig/36 (write)
  Availability: available
  Varpool flags:
spllConfiguration.6148/51 (spllConfiguration) @06d31af8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getSpllConfig/35 (addr)getSpllConfig/35 (write)getSpllConfig/35 (write)getSpllConfig/35 (write)getSpllConfig/35 (write)
  Availability: available
  Varpool flags:
soscConfiguration.6139/50 (soscConfiguration) @06d31630
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getSoscConfig/34 (addr)getSoscConfig/34 (write)getSoscConfig/34 (write)getSoscConfig/34 (write)
  Availability: available
  Varpool flags:
fircConfiguration.6130/49 (fircConfiguration) @06d31168
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getFircConfig/33 (addr)getFircConfig/33 (write)getFircConfig/33 (write)getFircConfig/33 (write)getFircConfig/33 (write)
  Availability: available
  Varpool flags:
ReportClockErrors/48 (ReportClockErrors) @06cfc000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: SpecificPlatformInitClock/32 
  Calls: 
ClockTimeoutExpired/47 (ClockTimeoutExpired) @06cdc620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: SpecificPlatformInitClock/32 
  Calls: 
ClockStartTimeout/46 (ClockStartTimeout) @06cdc380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: SpecificPlatformInitClock/32 
  Calls: 
selectorEntryPCS_hardwareValue/45 (selectorEntryPCS_hardwareValue) @06cf7750
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: SetSimLpoclksRegister_TrustedCall/31 (read)
  Availability: not_available
  Varpool flags: read-only
selectorEntry_hardwareValue/44 (selectorEntry_hardwareValue) @06cf7708
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: SetSimLpoclksRegister_TrustedCall/31 (read)
  Availability: not_available
  Varpool flags: read-only
intOscCallbacks/43 (intOscCallbacks) @06cf7000
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: DisableSafeClock/29 (read)DisableSafeClock/29 (read)ClockInitializeObjects/40 (addr)
  Availability: not_available
  Varpool flags: read-only
ircoscCallbackIndex/42 (ircoscCallbackIndex) @06cd3f78
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: DisableSafeClock/29 (read)DisableSafeClock/29 (read)ClockInitializeObjects/40 (read)
  Availability: not_available
  Varpool flags: read-only
ClockPowerModeChangeNotification/41 (ClockPowerModeChangeNotification) @06cdc7e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: scsRunClockSelector/5 (read)scsConfig_Vlpr_Mode/13 (read)coreRunClockDivider/6 (read)coreConfig_Vlpr_Mode/15 (read)busRunClockDivider/7 (read)busConfig_Vlpr_Mode/17 (read)slowRunClockDivider/8 (read)slowConfig_Vlpr_Mode/19 (read)spllClock/2 (read)spllConfig/11 (read)soscClock/3 (read)soscConfig/10 (read)fircClock/4 (read)fircConfig/9 (read)fircClock/4 (read)fircConfig/9 (read)soscClock/3 (read)soscConfig/10 (read)soscClock/3 (read)soscConfig/10 (read)spllClock/2 (read)spllConfig/11 (read)spllClock/2 (read)spllConfig/11 (read)scsRunClockSelector/5 (read)scsConfig_Run_Mode/12 (read)coreRunClockDivider/6 (read)coreConfig_Run_Mode/14 (read)busRunClockDivider/7 (read)busConfig_Run_Mode/16 (read)slowRunClockDivider/8 (read)slowConfig_Run_Mode/18 (read)fircClock/4 (read)fircConfig/9 (read)soscClock/3 (read)soscConfig/10 (read)soscClock/3 (read)soscConfig/10 (read)spllClock/2 (read)spllConfig/11 (read)spllClock/2 (read)spllConfig/11 (read)scsHsrunClockSelector/20 (read)scsConfig_Hsrun_Mode/24 (read)coreHsrunClockDivider/21 (read)coreConfig_Hsrun_Mode/25 (read)busHsrunClockDivider/22 (read)busConfig_Hsrun_Mode/26 (read)slowHsrunClockDivider/23 (read)slowConfig_Hsrun_Mode/27 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
   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
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
   Indirect call
ClockInitializeObjects/40 (ClockInitializeObjects) @06cdc540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: pllCallbackIndex/57 (read)pllCallbacks/58 (addr)spllClock/2 (write)xoscCallbackIndex/59 (read)extOscCallbacks/60 (addr)soscClock/3 (write)ircoscCallbackIndex/42 (read)intOscCallbacks/43 (addr)fircClock/4 (write)selectorCallbackIndex/61 (read)selectorCallbacks/62 (addr)scsRunClockSelector/5 (write)selectorCallbackIndex/61 (read)selectorCallbacks/62 (addr)scsHsrunClockSelector/20 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)coreRunClockDivider/6 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)coreHsrunClockDivider/21 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)busRunClockDivider/7 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)busHsrunClockDivider/22 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)slowRunClockDivider/8 (write)dividerCallbackIndex/63 (read)dividerCallbacks/64 (addr)slowHsrunClockDivider/23 (write)fircConfig/9 (write)soscConfig/10 (write)spllConfig/11 (write)scsConfig_Run_Mode/12 (write)scsConfig_Vlpr_Mode/13 (write)scsConfig_Hsrun_Mode/24 (write)coreConfig_Run_Mode/14 (write)coreConfig_Vlpr_Mode/15 (write)coreConfig_Hsrun_Mode/25 (write)busConfig_Run_Mode/16 (write)busConfig_Vlpr_Mode/17 (write)busConfig_Hsrun_Mode/26 (write)slowConfig_Run_Mode/18 (write)slowConfig_Vlpr_Mode/19 (write)slowConfig_Hsrun_Mode/27 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: getSlowDividerConfig/39 getSlowDividerConfig/39 getSlowDividerConfig/39 getBusDividerConfig/38 getBusDividerConfig/38 getBusDividerConfig/38 getCoreDividerConfig/37 getCoreDividerConfig/37 getCoreDividerConfig/37 getSelectorConfig/36 getSelectorConfig/36 getSelectorConfig/36 getSpllConfig/35 getSoscConfig/34 getFircConfig/33 
getSlowDividerConfig/39 (getSlowDividerConfig) @06cdc2a0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)dividerConfigurations.6217/56 (addr)dividerConfigurations.6217/56 (write)dividerConfigurations.6217/56 (write)dividerConfigurations.6217/56 (write)dividerConfigurations.6217/56 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 ClockInitializeObjects/40 ClockInitializeObjects/40 
  Calls: 
getBusDividerConfig/38 (getBusDividerConfig) @06cdc000
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)dividerConfigurations.6197/55 (addr)dividerConfigurations.6197/55 (write)dividerConfigurations.6197/55 (write)dividerConfigurations.6197/55 (write)dividerConfigurations.6197/55 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 ClockInitializeObjects/40 ClockInitializeObjects/40 
  Calls: 
getCoreDividerConfig/37 (getCoreDividerConfig) @06c1ea80
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)dividerConfigurations.6177/54 (addr)dividerConfigurations.6177/54 (write)dividerConfigurations.6177/54 (write)dividerConfigurations.6177/54 (write)dividerConfigurations.6177/54 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 ClockInitializeObjects/40 ClockInitializeObjects/40 
  Calls: 
getSelectorConfig/36 (getSelectorConfig) @06c1e540
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)selectorConfigurations.6156/52 (addr)selectorConfigurations.6156/52 (write)clockSource.6159/53 (read)selectorConfigurations.6156/52 (write)clockSource.6159/53 (read)selectorConfigurations.6156/52 (write)clockSource.6159/53 (read)selectorConfigurations.6156/52 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 ClockInitializeObjects/40 ClockInitializeObjects/40 
  Calls: 
getSpllConfig/35 (getSpllConfig) @06c1eee0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)spllConfiguration.6148/51 (addr)spllConfiguration.6148/51 (write)spllConfiguration.6148/51 (write)spllConfiguration.6148/51 (write)spllConfiguration.6148/51 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 
  Calls: 
getSoscConfig/34 (getSoscConfig) @06c1ec40
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)soscConfiguration.6139/50 (addr)soscConfiguration.6139/50 (write)soscConfiguration.6139/50 (write)soscConfiguration.6139/50 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 
  Calls: 
getFircConfig/33 (getFircConfig) @06c1e9a0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)config_clock/1 (read)fircConfiguration.6130/49 (addr)fircConfiguration.6130/49 (write)fircConfiguration.6130/49 (write)fircConfiguration.6130/49 (write)fircConfiguration.6130/49 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: ClockInitializeObjects/40 
  Calls: 
SpecificPlatformInitClock/32 (SpecificPlatformInitClock) @06c1e700
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: config_clock/1 (write)fircWasEnabledBeforeMcuInit/0 (write)fircWasEnabledBeforeMcuInit/0 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: SetSimLpoclksRegister_TrustedCall/31 ReportClockErrors/48 ClockTimeoutExpired/47 ClockStartTimeout/46 SetFircToResetValue_TrustedCall/30 
SetSimLpoclksRegister_TrustedCall/31 (SetSimLpoclksRegister_TrustedCall) @06c1e460
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: selectorEntry_hardwareValue/44 (read)selectorEntryPCS_hardwareValue/45 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: SpecificPlatformInitClock/32 
  Calls: 
SetFircToResetValue_TrustedCall/30 (SetFircToResetValue_TrustedCall) @06c1e1c0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: SpecificPlatformInitClock/32 
  Calls: 
DisableSafeClock/29 (DisableSafeClock) @06c04ee0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: config_clock/1 (read)config_clock/1 (read)ircoscCallbackIndex/42 (read)intOscCallbacks/43 (read)config_clock/1 (read)fircWasEnabledBeforeMcuInit/0 (read)ircoscCallbackIndex/42 (read)intOscCallbacks/43 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
   Indirect call
   Indirect call
SpecificPeripheralClockInitialization/28 (SpecificPeripheralClockInitialization) @06c04c40
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
slowConfig_Hsrun_Mode/27 (slowConfig_Hsrun_Mode) @06c035e8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
busConfig_Hsrun_Mode/26 (busConfig_Hsrun_Mode) @06c03558
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
coreConfig_Hsrun_Mode/25 (coreConfig_Hsrun_Mode) @06c034c8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
scsConfig_Hsrun_Mode/24 (scsConfig_Hsrun_Mode) @06c03438
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
slowHsrunClockDivider/23 (slowHsrunClockDivider) @06c033a8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
busHsrunClockDivider/22 (busHsrunClockDivider) @06c03318
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
coreHsrunClockDivider/21 (coreHsrunClockDivider) @06c03288
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
scsHsrunClockSelector/20 (scsHsrunClockSelector) @06c031f8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
slowConfig_Vlpr_Mode/19 (slowConfig_Vlpr_Mode) @06c03168
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
slowConfig_Run_Mode/18 (slowConfig_Run_Mode) @06c030d8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
busConfig_Vlpr_Mode/17 (busConfig_Vlpr_Mode) @06c03048
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
busConfig_Run_Mode/16 (busConfig_Run_Mode) @06c00f78
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
coreConfig_Vlpr_Mode/15 (coreConfig_Vlpr_Mode) @06c00ee8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
coreConfig_Run_Mode/14 (coreConfig_Run_Mode) @06c00e58
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
scsConfig_Vlpr_Mode/13 (scsConfig_Vlpr_Mode) @06c00dc8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
scsConfig_Run_Mode/12 (scsConfig_Run_Mode) @06c00d38
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
spllConfig/11 (spllConfig) @06c00c18
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
soscConfig/10 (soscConfig) @06c00b88
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
fircConfig/9 (fircConfig) @06c00af8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
slowRunClockDivider/8 (slowRunClockDivider) @06c00a68
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
busRunClockDivider/7 (busRunClockDivider) @06c009d8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
coreRunClockDivider/6 (coreRunClockDivider) @06c00948
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
scsRunClockSelector/5 (scsRunClockSelector) @06c008b8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
fircClock/4 (fircClock) @06c007e0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
soscClock/3 (soscClock) @06c00750
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
spllClock/2 (spllClock) @06c006c0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: ClockInitializeObjects/40 (write)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)ClockPowerModeChangeNotification/41 (read)
  Availability: available
  Varpool flags:
config_clock/1 (config_clock) @06c00630
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: getCoreDividerConfig/37 (read)getCoreDividerConfig/37 (read)getCoreDividerConfig/37 (read)getBusDividerConfig/38 (read)getCoreDividerConfig/37 (read)getBusDividerConfig/38 (read)getBusDividerConfig/38 (read)DisableSafeClock/29 (read)getBusDividerConfig/38 (read)DisableSafeClock/29 (read)DisableSafeClock/29 (read)SpecificPlatformInitClock/32 (write)getFircConfig/33 (read)getFircConfig/33 (read)getFircConfig/33 (read)getFircConfig/33 (read)getSoscConfig/34 (read)getSoscConfig/34 (read)getSoscConfig/34 (read)getSoscConfig/34 (read)getSpllConfig/35 (read)getSpllConfig/35 (read)getSpllConfig/35 (read)getSpllConfig/35 (read)getSelectorConfig/36 (read)getSelectorConfig/36 (read)getSelectorConfig/36 (read)getSelectorConfig/36 (read)getSlowDividerConfig/39 (read)getSlowDividerConfig/39 (read)getSlowDividerConfig/39 (read)getSlowDividerConfig/39 (read)
  Availability: available
  Varpool flags:
fircWasEnabledBeforeMcuInit/0 (fircWasEnabledBeforeMcuInit) @06c005a0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: DisableSafeClock/29 (read)SpecificPlatformInitClock/32 (write)SpecificPlatformInitClock/32 (write)
  Availability: available
  Varpool flags:
ClockPowerModeChangeNotification (power_modes_t powerMode, power_notification_t notification)
{
  const struct selectorCallback * scsRunClockSelector.33_1;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _2;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Vlpr_Mode.34_3;
  const struct dividerCallback * coreRunClockDivider.35_4;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _5;
  const struct Clock_Ip_DividerConfigType * coreConfig_Vlpr_Mode.36_6;
  const struct dividerCallback * busRunClockDivider.37_7;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _8;
  const struct Clock_Ip_DividerConfigType * busConfig_Vlpr_Mode.38_9;
  const struct dividerCallback * slowRunClockDivider.39_10;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _11;
  const struct Clock_Ip_DividerConfigType * slowConfig_Vlpr_Mode.40_12;
  const struct pllCallback * spllClock.41_13;
  void (*<T558>) (Clock_Ip_NameType) _14;
  const struct Clock_Ip_PllConfigType * spllConfig.42_15;
  <unnamed type> _16;
  const struct extOscCallback * soscClock.43_17;
  void (*<T558>) (Clock_Ip_NameType) _18;
  const struct Clock_Ip_XoscConfigType * soscConfig.44_19;
  <unnamed type> _20;
  const struct intOscCallback * fircClock.45_21;
  void (*<T558>) (Clock_Ip_NameType) _22;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.46_23;
  <unnamed type> _24;
  const struct intOscCallback * fircClock.47_25;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _26;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.48_27;
  const struct extOscCallback * soscClock.49_28;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _29;
  const struct Clock_Ip_XoscConfigType * soscConfig.50_30;
  const struct extOscCallback * soscClock.51_31;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _32;
  const struct Clock_Ip_XoscConfigType * soscConfig.52_33;
  const struct pllCallback * spllClock.53_34;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _35;
  const struct Clock_Ip_PllConfigType * spllConfig.54_36;
  const struct pllCallback * spllClock.55_37;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _38;
  const struct Clock_Ip_PllConfigType * spllConfig.56_39;
  <unnamed type> _40;
  const struct selectorCallback * scsRunClockSelector.57_41;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _42;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Run_Mode.58_43;
  const struct dividerCallback * coreRunClockDivider.59_44;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _45;
  const struct Clock_Ip_DividerConfigType * coreConfig_Run_Mode.60_46;
  const struct dividerCallback * busRunClockDivider.61_47;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _48;
  const struct Clock_Ip_DividerConfigType * busConfig_Run_Mode.62_49;
  const struct dividerCallback * slowRunClockDivider.63_50;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _51;
  const struct Clock_Ip_DividerConfigType * slowConfig_Run_Mode.64_52;
  const struct intOscCallback * fircClock.65_53;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _54;
  const struct Clock_Ip_IrcoscConfigType * fircConfig.66_55;
  const struct extOscCallback * soscClock.67_56;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _57;
  const struct Clock_Ip_XoscConfigType * soscConfig.68_58;
  const struct extOscCallback * soscClock.69_59;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _60;
  const struct Clock_Ip_XoscConfigType * soscConfig.70_61;
  const struct pllCallback * spllClock.71_62;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _63;
  const struct Clock_Ip_PllConfigType * spllConfig.72_64;
  const struct pllCallback * spllClock.73_65;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _66;
  const struct Clock_Ip_PllConfigType * spllConfig.74_67;
  <unnamed type> _68;
  const struct selectorCallback * scsHsrunClockSelector.75_69;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _70;
  const struct Clock_Ip_SelectorConfigType * scsConfig_Hsrun_Mode.76_71;
  const struct dividerCallback * coreHsrunClockDivider.77_72;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _73;
  const struct Clock_Ip_DividerConfigType * coreConfig_Hsrun_Mode.78_74;
  const struct dividerCallback * busHsrunClockDivider.79_75;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _76;
  const struct Clock_Ip_DividerConfigType * busConfig_Hsrun_Mode.80_77;
  const struct dividerCallback * slowHsrunClockDivider.81_78;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _79;
  const struct Clock_Ip_DividerConfigType * slowConfig_Hsrun_Mode.82_80;

  <bb 2> :
  switch (powerMode_85(D)) <default: <L10> [INV], case 0: <L4> [INV], case 1 ... 2: <L0> [INV], case 3: <L7> [INV]>

  <bb 3> :
<L0>:
  if (notification_86(D) == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  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);

  <bb 5> :
  goto <bb 13>; [INV]

  <bb 6> :
<L4>:
  if (notification_86(D) == 2)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  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);

  <bb 8> :
  goto <bb 13>; [INV]

  <bb 9> :
<L7>:
  if (notification_86(D) == 2)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  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);

  <bb 11> :
  goto <bb 13>; [INV]

  <bb 12> :
<L10>:

  <bb 13> :
  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;

  <bb 2> :
  _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 = &dividerCallbacks[_17];
  coreRunClockDivider = _18;
  _19 = dividerCallbackIndex[8];
  _20 = (int) _19;
  _21 = &dividerCallbacks[_20];
  coreHsrunClockDivider = _21;
  _22 = dividerCallbackIndex[9];
  _23 = (int) _22;
  _24 = &dividerCallbacks[_23];
  busRunClockDivider = _24;
  _25 = dividerCallbackIndex[11];
  _26 = (int) _25;
  _27 = &dividerCallbacks[_26];
  busHsrunClockDivider = _27;
  _28 = dividerCallbackIndex[12];
  _29 = (int) _28;
  _30 = &dividerCallbacks[_29];
  slowRunClockDivider = _30;
  _31 = dividerCallbackIndex[14];
  _32 = (int) _31;
  _33 = &dividerCallbacks[_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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_25 = 0B;
  dividerConfigIndex_26 = 0;
  switch (name_27(D)) <default: <L3> [INV], case 37: <L0> [INV], case 38: <L1> [INV], case 39: <L2> [INV]>

  <bb 3> :
<L0>:
  dividerConfigIndex_30 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
<L1>:
  dividerConfigIndex_29 = 1;
  goto <bb 7>; [INV]

  <bb 5> :
<L2>:
  dividerConfigIndex_28 = 2;
  goto <bb 7>; [INV]

  <bb 6> :
<L3>:

  <bb 7> :
  # dividerConfigIndex_22 = PHI <dividerConfigIndex_30(3), dividerConfigIndex_29(4), dividerConfigIndex_28(5), dividerConfigIndex_26(6)>
  config_clock.29_1 = config_clock;
  if (config_clock.29_1 != 0B)
    goto <bb 8>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 8> :
  i_32 = 0;
  goto <bb 12>; [INV]

  <bb 9> :
  config_clock.30_2 = config_clock;
  _3 = config_clock.30_2->dividers[i_23].name;
  if (name_27(D) == _3)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  config_clock.31_4 = config_clock;
  returnValue_34 = &config_clock.31_4->dividers[i_23];
  goto <bb 13>; [INV]

  <bb 11> :
  i_33 = i_23 + 1;

  <bb 12> :
  # i_23 = PHI <i_32(8), i_33(11)>
  config_clock.32_5 = config_clock;
  _6 = config_clock.32_5->dividersCount;
  _7 = (long unsigned int) _6;
  if (i_23 < _7)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  # returnValue_20 = PHI <returnValue_25(7), returnValue_34(10), returnValue_25(12)>
  if (returnValue_20 == 0B)
    goto <bb 14>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 14> :
  returnValue_35 = &dividerConfigurations[dividerConfigIndex_22];
  dividerConfigurations[dividerConfigIndex_22].name = name_27(D);
  switch (name_27(D)) <default: <L16> [INV], case 37: <L13> [INV], case 38: <L14> [INV], case 39: <L15> [INV]>

  <bb 15> :
<L13>:
  _8 = 1074151424B;
  _9 ={v} _8->RCCR;
  _10 = _9 & 15;
  _11 = _10 + 1;
  dividerConfigurations[dividerConfigIndex_22].value = _11;
  goto <bb 19>; [INV]

  <bb 16> :
<L14>:
  _12 = 1074151424B;
  _13 ={v} _12->VCCR;
  _14 = _13 & 15;
  _15 = _14 + 1;
  dividerConfigurations[dividerConfigIndex_22].value = _15;
  goto <bb 19>; [INV]

  <bb 17> :
<L15>:
  _16 = 1074151424B;
  _17 ={v} _16->HCCR;
  _18 = _17 & 15;
  _19 = _18 + 1;
  dividerConfigurations[dividerConfigIndex_22].value = _19;
  goto <bb 19>; [INV]

  <bb 18> :
<L16>:

  <bb 19> :
  # returnValue_21 = PHI <returnValue_20(13), returnValue_35(15), returnValue_35(16), returnValue_35(17), returnValue_35(18)>
  _40 = returnValue_21;

  <bb 20> :
<L19>:
  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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_28 = 0B;
  dividerConfigIndex_29 = 0;
  switch (name_30(D)) <default: <L3> [INV], case 33: <L0> [INV], case 34: <L1> [INV], case 35: <L2> [INV]>

  <bb 3> :
<L0>:
  dividerConfigIndex_33 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
<L1>:
  dividerConfigIndex_32 = 1;
  goto <bb 7>; [INV]

  <bb 5> :
<L2>:
  dividerConfigIndex_31 = 2;
  goto <bb 7>; [INV]

  <bb 6> :
<L3>:

  <bb 7> :
  # dividerConfigIndex_25 = PHI <dividerConfigIndex_33(3), dividerConfigIndex_32(4), dividerConfigIndex_31(5), dividerConfigIndex_29(6)>
  config_clock.25_1 = config_clock;
  if (config_clock.25_1 != 0B)
    goto <bb 8>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 8> :
  i_35 = 0;
  goto <bb 12>; [INV]

  <bb 9> :
  config_clock.26_2 = config_clock;
  _3 = config_clock.26_2->dividers[i_26].name;
  if (name_30(D) == _3)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  config_clock.27_4 = config_clock;
  returnValue_37 = &config_clock.27_4->dividers[i_26];
  goto <bb 13>; [INV]

  <bb 11> :
  i_36 = i_26 + 1;

  <bb 12> :
  # i_26 = PHI <i_35(8), i_36(11)>
  config_clock.28_5 = config_clock;
  _6 = config_clock.28_5->dividersCount;
  _7 = (long unsigned int) _6;
  if (i_26 < _7)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  # returnValue_23 = PHI <returnValue_28(7), returnValue_37(10), returnValue_28(12)>
  if (returnValue_23 == 0B)
    goto <bb 14>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 14> :
  returnValue_38 = &dividerConfigurations[dividerConfigIndex_25];
  dividerConfigurations[dividerConfigIndex_25].name = name_30(D);
  switch (name_30(D)) <default: <L16> [INV], case 33: <L13> [INV], case 34: <L14> [INV], case 35: <L15> [INV]>

  <bb 15> :
<L13>:
  _8 = 1074151424B;
  _9 ={v} _8->RCCR;
  _10 = _9 >> 4;
  _11 = _10 & 15;
  _12 = _11 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _12;
  goto <bb 19>; [INV]

  <bb 16> :
<L14>:
  _13 = 1074151424B;
  _14 ={v} _13->VCCR;
  _15 = _14 >> 4;
  _16 = _15 & 15;
  _17 = _16 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _17;
  goto <bb 19>; [INV]

  <bb 17> :
<L15>:
  _18 = 1074151424B;
  _19 ={v} _18->HCCR;
  _20 = _19 >> 4;
  _21 = _20 & 15;
  _22 = _21 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _22;
  goto <bb 19>; [INV]

  <bb 18> :
<L16>:

  <bb 19> :
  # returnValue_24 = PHI <returnValue_23(13), returnValue_38(15), returnValue_38(16), returnValue_38(17), returnValue_38(18)>
  _43 = returnValue_24;

  <bb 20> :
<L19>:
  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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_28 = 0B;
  dividerConfigIndex_29 = 0;
  switch (name_30(D)) <default: <L3> [INV], case 29: <L0> [INV], case 30: <L1> [INV], case 31: <L2> [INV]>

  <bb 3> :
<L0>:
  dividerConfigIndex_33 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
<L1>:
  dividerConfigIndex_32 = 1;
  goto <bb 7>; [INV]

  <bb 5> :
<L2>:
  dividerConfigIndex_31 = 2;
  goto <bb 7>; [INV]

  <bb 6> :
<L3>:

  <bb 7> :
  # dividerConfigIndex_25 = PHI <dividerConfigIndex_33(3), dividerConfigIndex_32(4), dividerConfigIndex_31(5), dividerConfigIndex_29(6)>
  config_clock.21_1 = config_clock;
  if (config_clock.21_1 != 0B)
    goto <bb 8>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 8> :
  i_35 = 0;
  goto <bb 12>; [INV]

  <bb 9> :
  config_clock.22_2 = config_clock;
  _3 = config_clock.22_2->dividers[i_26].name;
  if (name_30(D) == _3)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  config_clock.23_4 = config_clock;
  returnValue_37 = &config_clock.23_4->dividers[i_26];
  goto <bb 13>; [INV]

  <bb 11> :
  i_36 = i_26 + 1;

  <bb 12> :
  # i_26 = PHI <i_35(8), i_36(11)>
  config_clock.24_5 = config_clock;
  _6 = config_clock.24_5->dividersCount;
  _7 = (long unsigned int) _6;
  if (i_26 < _7)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  # returnValue_23 = PHI <returnValue_28(7), returnValue_37(10), returnValue_28(12)>
  if (returnValue_23 == 0B)
    goto <bb 14>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 14> :
  returnValue_38 = &dividerConfigurations[dividerConfigIndex_25];
  dividerConfigurations[dividerConfigIndex_25].name = name_30(D);
  switch (name_30(D)) <default: <L16> [INV], case 29: <L13> [INV], case 30: <L14> [INV], case 31: <L15> [INV]>

  <bb 15> :
<L13>:
  _8 = 1074151424B;
  _9 ={v} _8->RCCR;
  _10 = _9 >> 16;
  _11 = _10 & 15;
  _12 = _11 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _12;
  goto <bb 19>; [INV]

  <bb 16> :
<L14>:
  _13 = 1074151424B;
  _14 ={v} _13->VCCR;
  _15 = _14 >> 16;
  _16 = _15 & 15;
  _17 = _16 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _17;
  goto <bb 19>; [INV]

  <bb 17> :
<L15>:
  _18 = 1074151424B;
  _19 ={v} _18->HCCR;
  _20 = _19 >> 16;
  _21 = _20 & 15;
  _22 = _21 + 1;
  dividerConfigurations[dividerConfigIndex_25].value = _22;
  goto <bb 19>; [INV]

  <bb 18> :
<L16>:

  <bb 19> :
  # returnValue_24 = PHI <returnValue_23(13), returnValue_38(15), returnValue_38(16), returnValue_38(17), returnValue_38(18)>
  _43 = returnValue_24;

  <bb 20> :
<L19>:
  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;
  <unnamed type> _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;
  <unnamed type> _12;
  struct SCG_Type * _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  <unnamed type> _17;
  struct SCG_Type * _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  <unnamed type> _22;
  const struct Clock_Ip_SelectorConfigType * _43;

  <bb 2> :
  returnValue_28 = 0B;
  switch (name_29(D)) <default: <L3> [INV], case 25: <L0> [INV], case 26: <L1> [INV], case 27: <L2> [INV]>

  <bb 3> :
<L0>:
  selectorConfigIndex_32 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
<L1>:
  selectorConfigIndex_31 = 1;
  goto <bb 7>; [INV]

  <bb 5> :
<L2>:
  selectorConfigIndex_30 = 2;
  goto <bb 7>; [INV]

  <bb 6> :
<L3>:
  selectorConfigIndex_33 = 0;

  <bb 7> :
  # selectorConfigIndex_25 = PHI <selectorConfigIndex_32(3), selectorConfigIndex_31(4), selectorConfigIndex_30(5), selectorConfigIndex_33(6)>
  config_clock.17_1 = config_clock;
  if (config_clock.17_1 != 0B)
    goto <bb 8>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 8> :
  i_35 = 0;
  goto <bb 12>; [INV]

  <bb 9> :
  config_clock.18_2 = config_clock;
  _3 = config_clock.18_2->selectors[i_26].name;
  if (name_29(D) == _3)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  config_clock.19_4 = config_clock;
  returnValue_37 = &config_clock.19_4->selectors[i_26];
  goto <bb 13>; [INV]

  <bb 11> :
  i_36 = i_26 + 1;

  <bb 12> :
  # i_26 = PHI <i_35(8), i_36(11)>
  config_clock.20_5 = config_clock;
  _6 = config_clock.20_5->selectorsCount;
  _7 = (long unsigned int) _6;
  if (i_26 < _7)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  # returnValue_23 = PHI <returnValue_28(7), returnValue_37(10), returnValue_28(12)>
  if (returnValue_23 == 0B)
    goto <bb 14>; [INV]
  else
    goto <bb 19>; [INV]

  <bb 14> :
  returnValue_38 = &selectorConfigurations[selectorConfigIndex_25];
  selectorConfigurations[selectorConfigIndex_25].name = name_29(D);
  switch (name_29(D)) <default: <L16> [INV], case 25: <L13> [INV], case 26: <L14> [INV], case 27: <L15> [INV]>

  <bb 15> :
<L13>:
  _8 = 1074151424B;
  _9 ={v} _8->RCCR;
  _10 = _9 >> 24;
  _11 = _10 & 15;
  _12 = clockSource[_11];
  selectorConfigurations[selectorConfigIndex_25].value = _12;
  goto <bb 19>; [INV]

  <bb 16> :
<L14>:
  _13 = 1074151424B;
  _14 ={v} _13->VCCR;
  _15 = _14 >> 24;
  _16 = _15 & 15;
  _17 = clockSource[_16];
  selectorConfigurations[selectorConfigIndex_25].value = _17;
  goto <bb 19>; [INV]

  <bb 17> :
<L15>:
  _18 = 1074151424B;
  _19 ={v} _18->HCCR;
  _20 = _19 >> 24;
  _21 = _20 & 15;
  _22 = clockSource[_21];
  selectorConfigurations[selectorConfigIndex_25].value = _22;
  goto <bb 19>; [INV]

  <bb 18> :
<L16>:

  <bb 19> :
  # returnValue_24 = PHI <returnValue_23(13), returnValue_38(15), returnValue_38(16), returnValue_38(17), returnValue_38(18)>
  _43 = returnValue_24;

  <bb 20> :
<L19>:
  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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_26 = 0B;
  config_clock.13_1 = config_clock;
  if (config_clock.13_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  i_28 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
  config_clock.14_2 = config_clock;
  _3 = config_clock.14_2->plls[i_22].name;
  if (_3 == 9)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  config_clock.15_4 = config_clock;
  returnValue_30 = &config_clock.15_4->plls[i_22];
  goto <bb 8>; [INV]

  <bb 6> :
  i_29 = i_22 + 1;

  <bb 7> :
  # i_22 = PHI <i_28(3), i_29(6)>
  config_clock.16_5 = config_clock;
  _6 = config_clock.16_5->pllsCount;
  _7 = (long unsigned int) _6;
  if (i_22 < _7)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # returnValue_23 = PHI <returnValue_26(2), returnValue_30(5), returnValue_26(7)>
  if (returnValue_23 == 0B)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  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;

  <bb 10> :
  # returnValue_24 = PHI <returnValue_23(8), returnValue_31(9)>
  _36 = returnValue_24;

  <bb 11> :
<L9>:
  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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_16 = 0B;
  config_clock.9_1 = config_clock;
  if (config_clock.9_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  i_18 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
  config_clock.10_2 = config_clock;
  _3 = config_clock.10_2->xoscs[i_12].name;
  if (_3 == 8)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  config_clock.11_4 = config_clock;
  returnValue_20 = &config_clock.11_4->xoscs[i_12];
  goto <bb 8>; [INV]

  <bb 6> :
  i_19 = i_12 + 1;

  <bb 7> :
  # i_12 = PHI <i_18(3), i_19(6)>
  config_clock.12_5 = config_clock;
  _6 = config_clock.12_5->xoscsCount;
  _7 = (long unsigned int) _6;
  if (i_12 < _7)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # returnValue_13 = PHI <returnValue_16(2), returnValue_20(5), returnValue_16(7)>
  if (returnValue_13 == 0B)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  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;

  <bb 10> :
  # returnValue_14 = PHI <returnValue_13(8), returnValue_21(9)>
  _25 = returnValue_14;

  <bb 11> :
<L9>:
  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;
  <unnamed type> _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;

  <bb 2> :
  returnValue_27 = 0B;
  config_clock.5_1 = config_clock;
  if (config_clock.5_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  i_29 = 0;
  goto <bb 7>; [INV]

  <bb 4> :
  config_clock.6_2 = config_clock;
  _3 = config_clock.6_2->ircoscs[i_23].name;
  if (_3 == 5)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  config_clock.7_4 = config_clock;
  returnValue_31 = &config_clock.7_4->ircoscs[i_23];
  goto <bb 8>; [INV]

  <bb 6> :
  i_30 = i_23 + 1;

  <bb 7> :
  # i_23 = PHI <i_29(3), i_30(6)>
  config_clock.8_5 = config_clock;
  _6 = config_clock.8_5->ircoscsCount;
  _7 = (long unsigned int) _6;
  if (i_23 < _7)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # returnValue_24 = PHI <returnValue_27(2), returnValue_31(5), returnValue_27(7)>
  if (returnValue_24 == 0B)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  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;

  <bb 10> :
  # returnValue_25 = PHI <returnValue_24(8), returnValue_32(9)>
  _37 = returnValue_25;

  <bb 11> :
<L9>:
  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;

  <bb 2> :
  TimeoutOccurred_11 = 0;
  config_clock = config_13(D);
  _1 = 1074151424B;
  _2 ={v} _1->FIRCCSR;
  _3 = _2 & 1;
  if (_3 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  fircWasEnabledBeforeMcuInit = 0;
  SetFircToResetValue_TrustedCall ();
  ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 4> :
  _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 <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _8 = ~TimeoutOccurred_21;
  if (_8 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  if (TimeoutOccurred_21 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  ReportClockErrors (1, 5);
  goto <bb 9>; [INV]

  <bb 8> :
  fircWasEnabledBeforeMcuInit = 1;

  <bb 9> :
  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;
  <unnamed type> _1;
  <unnamed type> _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  <unnamed type> _6;
  <unnamed type> _7;
  unsigned char _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  long unsigned int _12;
  <unnamed type> _13;
  short unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  <unnamed type> _17;
  short unsigned int _18;
  long unsigned int _19;
  unsigned char _20;
  long unsigned int _21;
  struct SIM_Type * _22;

  <bb 2> :
  SimLpoValue_31 = 3;
  i_32 = 0;
  goto <bb 8>; [INV]

  <bb 3> :
  _1 = config_34(D)->selectors[i_29].name;
  if (_1 == 40)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _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;

  <bb 5> :
  # SimLpoValue_23 = PHI <SimLpoValue_25(3), SimLpoValue_40(4)>
  _6 = config_34(D)->selectors[i_29].name;
  if (_6 == 41)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _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;

  <bb 7> :
  # SimLpoValue_24 = PHI <SimLpoValue_23(5), SimLpoValue_41(6)>
  i_42 = i_29 + 1;

  <bb 8> :
  # SimLpoValue_25 = PHI <SimLpoValue_31(2), SimLpoValue_24(7)>
  # i_29 = PHI <i_32(2), i_42(7)>
  _11 = config_34(D)->selectorsCount;
  _12 = (long unsigned int) _11;
  if (i_29 < _12)
    goto <bb 3>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  i_35 = 0;
  goto <bb 15>; [INV]

  <bb 10> :
  _13 = config_34(D)->gates[i_30].name;
  if (_13 == 18)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  _14 = config_34(D)->gates[i_30].enable;
  _15 = (long unsigned int) _14;
  _16 = _15 << 1;
  SimLpoValue_37 = SimLpoValue_28 | _16;

  <bb 12> :
  # SimLpoValue_26 = PHI <SimLpoValue_28(10), SimLpoValue_37(11)>
  _17 = config_34(D)->gates[i_30].name;
  if (_17 == 19)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  _18 = config_34(D)->gates[i_30].enable;
  _19 = (long unsigned int) _18;
  SimLpoValue_38 = SimLpoValue_26 | _19;

  <bb 14> :
  # SimLpoValue_27 = PHI <SimLpoValue_26(12), SimLpoValue_38(13)>
  i_39 = i_30 + 1;

  <bb 15> :
  # SimLpoValue_28 = PHI <SimLpoValue_25(9), SimLpoValue_27(14)>
  # i_30 = PHI <i_35(9), i_39(14)>
  _20 = config_34(D)->gatesCount;
  _21 = (long unsigned int) _20;
  if (i_30 < _21)
    goto <bb 10>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 16> :
  _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;

  <bb 2> :
  _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;
  <unnamed type> _2;
  const struct Clock_Ip_ClockConfigType * config_clock.1_3;
  short unsigned int _4;
  unsigned char _5;
  int _6;
  void (*<T558>) (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 (*<T558>) (Clock_Ip_NameType) _16;

  <bb 2> :
  fircConfigFound_22 = 0;
  if (config_23(D) != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  i_25 = 0;
  goto <bb 9>; [INV]

  <bb 4> :
  config_clock.0_1 = config_clock;
  _2 = config_clock.0_1->ircoscs[i_17].name;
  if (_2 == 5)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  fircConfigFound_27 = 1;
  config_clock.1_3 = config_clock;
  _4 = config_clock.1_3->ircoscs[i_17].enable;
  if (_4 == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _5 = ircoscCallbackIndex[4];
  _6 = (int) _5;
  _7 = intOscCallbacks[_6].Disable;
  _7 (5);

  <bb 7> :
  goto <bb 10>; [INV]

  <bb 8> :
  i_26 = i_17 + 1;

  <bb 9> :
  # i_17 = PHI <i_25(3), i_26(8)>
  config_clock.2_8 = config_clock;
  _9 = config_clock.2_8->ircoscsCount;
  _10 = (long unsigned int) _9;
  if (i_17 < _10)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  # fircConfigFound_18 = PHI <fircConfigFound_22(2), fircConfigFound_27(7), fircConfigFound_22(9)>
  _11 = ~fircConfigFound_18;
  if (_11 != 0)
    goto <bb 11>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 11> :
  fircWasEnabledBeforeMcuInit.3_12 = fircWasEnabledBeforeMcuInit;
  _13 = ~fircWasEnabledBeforeMcuInit.3_12;
  if (_13 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  _14 = ircoscCallbackIndex[4];
  _15 = (int) _14;
  _16 = intOscCallbacks[_15].Disable;
  _16 (5);

  <bb 13> :
  return;

}


SpecificPeripheralClockInitialization (const struct Clock_IP_SpecificPeriphConfigType * config)
{
  <bb 2> :
  return;

}


