mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
919 lines
28 KiB
Plaintext
919 lines
28 KiB
Plaintext
Symbol table:
|
|
|
|
cgm/13 (cgm) @06f2e318
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
GetClockState/12 (GetClockState) @06f24380
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: SetCgmXDeDivStatWithoutPhase/2 (58199271 (estimated locally),0.38 per call) SetCgmXDeDivStatWithPhase/3 (37904965 (estimated locally),0.25 per call) SetPllPll0divDeDivOutput/4 (174035654 (estimated locally),0.50 per call)
|
|
Calls:
|
|
UpdateClockState/11 (UpdateClockState) @06f240e0
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: SetCgmXDeDivStatWithoutPhase/2 (58199271 (estimated locally),0.38 per call) SetCgmXDeDivStatWithoutPhase/2 (19205760 (estimated locally),0.12 per call) SetCgmXDeDivStatWithPhase/3 (12508639 (estimated locally),0.08 per call) SetCgmXDeDivStatWithPhase/3 (114863532 (estimated locally),0.75 per call) SetPllPll0divDeDivOutput/4 (174035654 (estimated locally),0.50 per call) SetPllPll0divDeDivOutput/4 (57431766 (estimated locally),0.17 per call) SetPllPlldvOdiv2Output/5 (348071309 (estimated locally),1.00 per call)
|
|
Calls:
|
|
pll/10 (pll) @06f214c8
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: SetPllPlldvOdiv2Output/5 (read)SetPllPll0divDeDivOutput/4 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
ReportClockErrors/9 (ReportClockErrors) @06f24000
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: SetCgmXDeDivStatWithoutPhase/2 (37904965 (estimated locally),0.25 per call) SetCgmXDeDivStatWithPhase/3 (37405092 (estimated locally),0.25 per call) SetCgmXDeDivStatWithPhase/3 (37904965 (estimated locally),0.25 per call) SetPllPll0divDeDivOutput/4 (37904965 (estimated locally),0.11 per call) SetPllPlldvOdiv2Output/5 (37904965 (estimated locally),0.11 per call)
|
|
Calls:
|
|
ClockTimeoutExpired/8 (ClockTimeoutExpired) @06f148c0
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: SetCgmXDeDivStatWithoutPhase/2 (1073741824 (estimated locally),6.96 per call) SetCgmXDeDivStatWithPhase/3 (1073741824 (estimated locally),7.05 per call) SetCgmXDeDivStatWithPhase/3 (1059581806 (estimated locally),6.96 per call) SetPllPll0divDeDivOutput/4 (1073741824 (estimated locally),3.08 per call) SetPllPlldvOdiv2Output/5 (1073741824 (estimated locally),3.08 per call)
|
|
Calls:
|
|
ClockStartTimeout/7 (ClockStartTimeout) @06f14460
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: SetCgmXDeDivStatWithoutPhase/2 (114863532 (estimated locally),0.74 per call) SetCgmXDeDivStatWithPhase/3 (114863532 (estimated locally),0.75 per call) SetCgmXDeDivStatWithPhase/3 (113348764 (estimated locally),0.74 per call) SetPllPll0divDeDivOutput/4 (114863532 (estimated locally),0.33 per call) SetPllPlldvOdiv2Output/5 (114863532 (estimated locally),0.33 per call)
|
|
Calls:
|
|
clockFeatures/6 (clockFeatures) @06f213a8
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: SetPllPll0divDeDivOutput/4 (read)SetPllPll0divDeDivOutput/4 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetPllPlldvOdiv2Output/5 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
SetPllPlldvOdiv2Output/5 (SetPllPlldvOdiv2Output) @06f14c40
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/6 (read)pll/10 (read)
|
|
Referring: dividerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:348071309 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: UpdateClockState/11 (348071309 (estimated locally),1.00 per call) ReportClockErrors/9 (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.33 per call)
|
|
SetPllPll0divDeDivOutput/4 (SetPllPll0divDeDivOutput) @06f147e0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/6 (read)clockFeatures/6 (read)pll/10 (read)
|
|
Referring: dividerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:348071309 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: UpdateClockState/11 (174035654 (estimated locally),0.50 per call) UpdateClockState/11 (57431766 (estimated locally),0.17 per call) GetClockState/12 (174035654 (estimated locally),0.50 per call) ReportClockErrors/9 (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.33 per call)
|
|
SetCgmXDeDivStatWithPhase/3 (SetCgmXDeDivStatWithPhase) @06f14380
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)
|
|
Referring: dividerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:152268625 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: ReportClockErrors/9 (37405092 (estimated locally),0.25 per call) UpdateClockState/11 (12508639 (estimated locally),0.08 per call) GetClockState/12 (37904965 (estimated locally),0.25 per call) ReportClockErrors/9 (37904965 (estimated locally),0.25 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),7.05 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.75 per call) UpdateClockState/11 (114863532 (estimated locally),0.75 per call) ClockTimeoutExpired/8 (1059581806 (estimated locally),6.96 per call) ClockStartTimeout/7 (113348764 (estimated locally),0.74 per call)
|
|
SetCgmXDeDivStatWithoutPhase/2 (SetCgmXDeDivStatWithoutPhase) @06ea0e00
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)
|
|
Referring: dividerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:154303509 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: ReportClockErrors/9 (37904965 (estimated locally),0.25 per call) UpdateClockState/11 (58199271 (estimated locally),0.38 per call) UpdateClockState/11 (19205760 (estimated locally),0.12 per call) GetClockState/12 (58199271 (estimated locally),0.38 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),6.96 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.74 per call)
|
|
Callback_DividerEmpty/1 (Callback_DividerEmpty) @06ea0d20
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References:
|
|
Referring: dividerCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
dividerCallbacks/0 (dividerCallbacks) @06ea5000
|
|
Type: variable definition analyzed
|
|
Visibility: externally_visible public
|
|
References: Callback_DividerEmpty/1 (addr)SetCgmXDeDivStatWithoutPhase/2 (addr)SetCgmXDeDivStatWithPhase/3 (addr)SetPllPll0divDeDivOutput/4 (addr)SetPllPlldvOdiv2Output/5 (addr)
|
|
Referring:
|
|
Availability: available
|
|
Varpool flags: initialized read-only const-value-known
|
|
SetPllPlldvOdiv2Output (const struct Clock_Ip_DividerConfigType * config)
|
|
{
|
|
uint32 regValue;
|
|
uint32 instance;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
<unnamed type> _1;
|
|
int _2;
|
|
unsigned char _3;
|
|
long unsigned int _4;
|
|
long unsigned int _5;
|
|
long unsigned int _6;
|
|
long unsigned int _7;
|
|
long unsigned int _8;
|
|
long unsigned int _9;
|
|
long unsigned int _10;
|
|
long unsigned int _11;
|
|
long unsigned int TimeoutTicks.0_12;
|
|
long unsigned int _13;
|
|
long unsigned int _14;
|
|
long unsigned int iftmp.1_15;
|
|
<unnamed type> _16;
|
|
long unsigned int _17;
|
|
volatile struct PLL_Type * _18;
|
|
long unsigned int _19;
|
|
long unsigned int _20;
|
|
<unnamed type> _21;
|
|
|
|
<bb 2> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG TimeoutOccurred => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_25(D)->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance_26 = (uint32) _3;
|
|
# DEBUG instance => instance_26
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_4 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT;
|
|
_5 = _4 & 16777216;
|
|
if (_5 == 0)
|
|
goto <bb 3>; [33.00%]
|
|
else
|
|
goto <bb 8>; [67.00%]
|
|
|
|
<bb 3> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
_6 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN;
|
|
_7 = _6 | 16777216;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN ={v} _7;
|
|
# DEBUG BEGIN_STMT
|
|
_8 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF;
|
|
_9 = _8 | 1;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF ={v} _9;
|
|
# DEBUG BEGIN_STMT
|
|
_10 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD;
|
|
_11 = _10 | 1;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD ={v} _11;
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 23280;
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 42255;
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.0_12 = TimeoutTicks;
|
|
TimeoutOccurred_34 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_12);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_34
|
|
# DEBUG BEGIN_STMT
|
|
_13 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT;
|
|
_14 = _13 & 16777216;
|
|
if (_14 == 0)
|
|
goto <bb 5>; [94.50%]
|
|
else
|
|
goto <bb 6>; [5.50%]
|
|
|
|
<bb 5> [local count: 1014686025]:
|
|
if (TimeoutOccurred_34 != 0)
|
|
goto <bb 6>; [5.50%]
|
|
else
|
|
goto <bb 9>; [94.50%]
|
|
|
|
<bb 9> [local count: 958878292]:
|
|
goto <bb 4>; [100.00%]
|
|
|
|
<bb 6> [local count: 114863532]:
|
|
# TimeoutOccurred_36 = PHI <TimeoutOccurred_34(4), TimeoutOccurred_34(5)>
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_36 != 0)
|
|
goto <bb 7>; [33.00%]
|
|
else
|
|
goto <bb 8>; [67.00%]
|
|
|
|
<bb 7> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_16 = config_25(D)->name;
|
|
ReportClockErrors (1, _16);
|
|
|
|
<bb 8> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
_17 = config_25(D)->value;
|
|
iftmp.1_15 = MAX_EXPR <_17, 1>;
|
|
# DEBUG dividerValue => iftmp.1_15
|
|
# DEBUG BEGIN_STMT
|
|
_18 = pll[instance_26];
|
|
regValue_37 ={v} _18->PLLDV;
|
|
# DEBUG regValue => regValue_37
|
|
# DEBUG BEGIN_STMT
|
|
regValue_38 = regValue_37 & 2181038079;
|
|
# DEBUG regValue => regValue_38
|
|
# DEBUG BEGIN_STMT
|
|
_19 = iftmp.1_15 << 25;
|
|
_20 = _19 & 2113929216;
|
|
regValue_39 = _20 | regValue_38;
|
|
# DEBUG regValue => regValue_39
|
|
# DEBUG BEGIN_STMT
|
|
_18->PLLDV ={v} regValue_39;
|
|
# DEBUG BEGIN_STMT
|
|
_21 = config_25(D)->name;
|
|
UpdateClockState (_21, 255);
|
|
StartTime ={v} {CLOBBER};
|
|
ElapsedTime ={v} {CLOBBER};
|
|
TimeoutTicks ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SetPllPll0divDeDivOutput (const struct Clock_Ip_DividerConfigType * config)
|
|
{
|
|
uint32 regValue;
|
|
uint32 dividerIndex;
|
|
uint32 instance;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
<unnamed type> _1;
|
|
int _2;
|
|
unsigned char _3;
|
|
unsigned char _5;
|
|
long unsigned int _6;
|
|
long unsigned int _7;
|
|
long unsigned int _8;
|
|
long unsigned int _9;
|
|
long unsigned int _10;
|
|
long unsigned int _11;
|
|
long unsigned int _12;
|
|
long unsigned int _13;
|
|
long unsigned int TimeoutTicks.2_14;
|
|
long unsigned int _15;
|
|
long unsigned int _16;
|
|
<unnamed type> _17;
|
|
volatile struct PLL_Type * _18;
|
|
long unsigned int _19;
|
|
long unsigned int _20;
|
|
long unsigned int _21;
|
|
long unsigned int _22;
|
|
long unsigned int _23;
|
|
long unsigned int _24;
|
|
<unnamed type> _25;
|
|
<unnamed type> _26;
|
|
<unnamed type> _27;
|
|
<unnamed type> _28;
|
|
long unsigned int _32;
|
|
|
|
<bb 2> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG TimeoutOccurred => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_34(D)->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance_35 = (uint32) _3;
|
|
# DEBUG instance => instance_35
|
|
# DEBUG BEGIN_STMT
|
|
_5 = clockFeatures[_2][3];
|
|
dividerIndex_36 = (uint32) _5;
|
|
# DEBUG dividerIndex => dividerIndex_36
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_6 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT;
|
|
_7 = _6 & 16777216;
|
|
if (_7 == 0)
|
|
goto <bb 3>; [33.00%]
|
|
else
|
|
goto <bb 8>; [67.00%]
|
|
|
|
<bb 3> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
_8 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN;
|
|
_9 = _8 | 16777216;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN ={v} _9;
|
|
# DEBUG BEGIN_STMT
|
|
_10 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF;
|
|
_11 = _10 | 1;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF ={v} _11;
|
|
# DEBUG BEGIN_STMT
|
|
_12 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD;
|
|
_13 = _12 | 1;
|
|
MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD ={v} _13;
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 23280;
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 42255;
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.2_14 = TimeoutTicks;
|
|
TimeoutOccurred_44 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.2_14);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_44
|
|
# DEBUG BEGIN_STMT
|
|
_15 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT;
|
|
_16 = _15 & 16777216;
|
|
if (_16 == 0)
|
|
goto <bb 5>; [94.50%]
|
|
else
|
|
goto <bb 6>; [5.50%]
|
|
|
|
<bb 5> [local count: 1014686025]:
|
|
if (TimeoutOccurred_44 != 0)
|
|
goto <bb 6>; [5.50%]
|
|
else
|
|
goto <bb 13>; [94.50%]
|
|
|
|
<bb 13> [local count: 958878292]:
|
|
goto <bb 4>; [100.00%]
|
|
|
|
<bb 6> [local count: 114863532]:
|
|
# TimeoutOccurred_4 = PHI <TimeoutOccurred_44(4), TimeoutOccurred_44(5)>
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_4 != 0)
|
|
goto <bb 7>; [33.00%]
|
|
else
|
|
goto <bb 8>; [67.00%]
|
|
|
|
<bb 7> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_17 = config_34(D)->name;
|
|
ReportClockErrors (1, _17);
|
|
|
|
<bb 8> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
_18 = pll[instance_35];
|
|
_19 ={v} _18->PLLODIV[dividerIndex_36];
|
|
_20 = _19 & 2147483647;
|
|
_18->PLLODIV[dividerIndex_36] ={v} _20;
|
|
# DEBUG BEGIN_STMT
|
|
_21 = config_34(D)->value;
|
|
if (_21 != 0)
|
|
goto <bb 9>; [50.00%]
|
|
else
|
|
goto <bb 11>; [50.00%]
|
|
|
|
<bb 9> [local count: 174035654]:
|
|
# DEBUG BEGIN_STMT
|
|
regValue_48 ={v} _18->PLLODIV[dividerIndex_36];
|
|
# DEBUG regValue => regValue_48
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG regValue => regValue_48 | 2147483648
|
|
# DEBUG BEGIN_STMT
|
|
_32 = regValue_48 & 4293984255;
|
|
regValue_49 = _32 | 2147483648;
|
|
# DEBUG regValue => regValue_49
|
|
# DEBUG BEGIN_STMT
|
|
_22 = _21 + 4294967295;
|
|
_23 = _22 << 16;
|
|
_24 = _23 & 983040;
|
|
regValue_50 = _24 | regValue_49;
|
|
# DEBUG regValue => regValue_50
|
|
# DEBUG BEGIN_STMT
|
|
_18->PLLODIV[dividerIndex_36] ={v} regValue_50;
|
|
# DEBUG BEGIN_STMT
|
|
_25 = config_34(D)->name;
|
|
_26 = GetClockState (_25);
|
|
if (_26 == 0)
|
|
goto <bb 10>; [33.00%]
|
|
else
|
|
goto <bb 12>; [67.00%]
|
|
|
|
<bb 10> [local count: 57431766]:
|
|
# DEBUG BEGIN_STMT
|
|
_27 = config_34(D)->name;
|
|
UpdateClockState (_27, 255);
|
|
goto <bb 12>; [100.00%]
|
|
|
|
<bb 11> [local count: 174035654]:
|
|
# DEBUG BEGIN_STMT
|
|
_28 = config_34(D)->name;
|
|
UpdateClockState (_28, 0);
|
|
|
|
<bb 12> [local count: 348071309]:
|
|
StartTime ={v} {CLOBBER};
|
|
ElapsedTime ={v} {CLOBBER};
|
|
TimeoutTicks ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SetCgmXDeDivStatWithPhase (const struct Clock_Ip_DividerConfigType * config)
|
|
{
|
|
uint32 DividerStatus;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
uint32 regValue;
|
|
uint32 dividerIndex;
|
|
uint32 selectorIndex;
|
|
uint32 instance;
|
|
<unnamed type> _1;
|
|
int _2;
|
|
unsigned char _3;
|
|
unsigned char _6;
|
|
unsigned char _7;
|
|
unsigned char _8;
|
|
long unsigned int _9;
|
|
volatile struct cgmMux_Type * _10;
|
|
long unsigned int _11;
|
|
long unsigned int _12;
|
|
long unsigned int _13;
|
|
volatile struct cgmMux_Type * _14;
|
|
long unsigned int _15;
|
|
long unsigned int _16;
|
|
volatile struct cgmMux_Type * _17;
|
|
long unsigned int _18;
|
|
long unsigned int TimeoutTicks.3_19;
|
|
volatile struct cgmMux_Type * _20;
|
|
long unsigned int _21;
|
|
long unsigned int _22;
|
|
<unnamed type> _23;
|
|
long unsigned int _24;
|
|
long unsigned int TimeoutTicks.4_25;
|
|
unsigned char _26;
|
|
long unsigned int _27;
|
|
<unnamed type> _28;
|
|
long unsigned int _29;
|
|
long unsigned int _30;
|
|
long unsigned int _31;
|
|
<unnamed type> _32;
|
|
<unnamed type> _33;
|
|
<unnamed type> _34;
|
|
<unnamed type> _35;
|
|
|
|
<bb 2> [local count: 152268625]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_42(D)->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance_43 = (uint32) _3;
|
|
# DEBUG instance => instance_43
|
|
# DEBUG BEGIN_STMT
|
|
_6 = clockFeatures[_2][2];
|
|
selectorIndex_44 = (uint32) _6;
|
|
# DEBUG selectorIndex => selectorIndex_44
|
|
# DEBUG BEGIN_STMT
|
|
_7 = clockFeatures[_2][3];
|
|
dividerIndex_45 = (uint32) _7;
|
|
# DEBUG dividerIndex => dividerIndex_45
|
|
# DEBUG BEGIN_STMT
|
|
_8 = clockFeatures[_2][5];
|
|
# DEBUG triggerFeat => (uint32) _8
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG TimeoutOccurred => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG immediateTriggerIsUpdated => 1
|
|
# DEBUG BEGIN_STMT
|
|
_9 = config_42(D)->value;
|
|
if (_9 != 0)
|
|
goto <bb 3>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 3> [local count: 76134312]:
|
|
# DEBUG BEGIN_STMT
|
|
_10 = cgm[instance_43][selectorIndex_44];
|
|
regValue_46 ={v} _10->divider[dividerIndex_45];
|
|
# DEBUG regValue => regValue_46
|
|
# DEBUG BEGIN_STMT
|
|
regValue_47 = regValue_46 & 4290838527;
|
|
# DEBUG regValue => regValue_47
|
|
# DEBUG BEGIN_STMT
|
|
_11 = _9 + 4294967295;
|
|
_12 = _11 << 16;
|
|
_13 = _12 & 4128768;
|
|
regValue_48 = _13 | regValue_47;
|
|
# DEBUG regValue => regValue_48
|
|
# DEBUG BEGIN_STMT
|
|
_10->divider[dividerIndex_45] ={v} regValue_48;
|
|
|
|
<bb 4> [local count: 152268625]:
|
|
# DEBUG BEGIN_STMT
|
|
if (_8 == 1)
|
|
goto <bb 5>; [51.12%]
|
|
else
|
|
goto <bb 6>; [48.88%]
|
|
|
|
<bb 5> [local count: 77839721]:
|
|
# DEBUG BEGIN_STMT
|
|
_14 = cgm[instance_43][selectorIndex_44];
|
|
_15 ={v} _14->MUX_DIV_TRIG_CTRL;
|
|
_16 = _15 & 1;
|
|
if (_16 != 0)
|
|
goto <bb 10>; [50.00%]
|
|
else
|
|
goto <bb 6>; [50.00%]
|
|
|
|
<bb 6> [local count: 113348764]:
|
|
# DEBUG immediateTriggerIsUpdated => NULL
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 7> [local count: 1059581806]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_17 = cgm[instance_43][selectorIndex_44];
|
|
_18 ={v} _17->MUX_DIV_UPD_STAT;
|
|
DividerStatus_51 = _18 & 1;
|
|
# DEBUG DividerStatus => DividerStatus_51
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.3_19 = TimeoutTicks;
|
|
TimeoutOccurred_53 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.3_19);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_53
|
|
# DEBUG BEGIN_STMT
|
|
if (DividerStatus_51 != 0)
|
|
goto <bb 8>; [94.50%]
|
|
else
|
|
goto <bb 9>; [5.50%]
|
|
|
|
<bb 8> [local count: 1001304806]:
|
|
if (TimeoutOccurred_53 != 0)
|
|
goto <bb 9>; [5.50%]
|
|
else
|
|
goto <bb 22>; [94.50%]
|
|
|
|
<bb 22> [local count: 946233042]:
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 9> [local count: 113348764]:
|
|
# TimeoutOccurred_4 = PHI <TimeoutOccurred_53(8), TimeoutOccurred_53(7)>
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_4
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_4 != 0)
|
|
goto <bb 19>; [33.00%]
|
|
else
|
|
goto <bb 10>; [67.00%]
|
|
|
|
<bb 10> [local count: 114863532]:
|
|
# DEBUG immediateTriggerIsUpdated => NULL
|
|
# DEBUG TimeoutOccurred => NULL
|
|
# DEBUG BEGIN_STMT
|
|
_20 = cgm[instance_43][selectorIndex_44];
|
|
_21 ={v} _20->divider[dividerIndex_45];
|
|
_22 = _21 & 2147483647;
|
|
_20->divider[dividerIndex_45] ={v} _22;
|
|
# DEBUG BEGIN_STMT
|
|
_23 = config_42(D)->name;
|
|
UpdateClockState (_23, 0);
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 11> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_24 ={v} _20->MUX_DIV_UPD_STAT;
|
|
DividerStatus_58 = _24 & 1;
|
|
# DEBUG DividerStatus => DividerStatus_58
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.4_25 = TimeoutTicks;
|
|
TimeoutOccurred_60 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_25);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_60
|
|
# DEBUG BEGIN_STMT
|
|
if (DividerStatus_58 != 0)
|
|
goto <bb 12>; [94.50%]
|
|
else
|
|
goto <bb 13>; [5.50%]
|
|
|
|
<bb 12> [local count: 1014686023]:
|
|
if (TimeoutOccurred_60 != 0)
|
|
goto <bb 13>; [5.50%]
|
|
else
|
|
goto <bb 21>; [94.50%]
|
|
|
|
<bb 21> [local count: 958878292]:
|
|
goto <bb 11>; [100.00%]
|
|
|
|
<bb 13> [local count: 114863532]:
|
|
# TimeoutOccurred_5 = PHI <TimeoutOccurred_60(11), TimeoutOccurred_60(12)>
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_5 != 0)
|
|
goto <bb 15>; [33.00%]
|
|
else
|
|
goto <bb 14>; [67.00%]
|
|
|
|
<bb 14> [local count: 76958566]:
|
|
# DEBUG BEGIN_STMT
|
|
regValue_62 ={v} _20->divider[dividerIndex_45];
|
|
# DEBUG regValue => regValue_62
|
|
# DEBUG BEGIN_STMT
|
|
regValue_63 = regValue_62 & 4294967040;
|
|
# DEBUG regValue => regValue_63
|
|
# DEBUG BEGIN_STMT
|
|
_26 = config_42(D)->options[0];
|
|
_27 = (long unsigned int) _26;
|
|
regValue_64 = _27 | regValue_63;
|
|
# DEBUG regValue => regValue_64
|
|
# DEBUG BEGIN_STMT
|
|
_20->divider[dividerIndex_45] ={v} regValue_64;
|
|
goto <bb 16>; [100.00%]
|
|
|
|
<bb 15> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_28 = config_42(D)->name;
|
|
ReportClockErrors (1, _28);
|
|
|
|
<bb 16> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
_29 = config_42(D)->value;
|
|
if (_29 != 0)
|
|
goto <bb 17>; [33.00%]
|
|
else
|
|
goto <bb 20>; [67.00%]
|
|
|
|
<bb 17> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_30 ={v} _20->divider[dividerIndex_45];
|
|
_31 = _30 | 2147483648;
|
|
_20->divider[dividerIndex_45] ={v} _31;
|
|
# DEBUG BEGIN_STMT
|
|
_32 = config_42(D)->name;
|
|
_33 = GetClockState (_32);
|
|
if (_33 == 0)
|
|
goto <bb 18>; [33.00%]
|
|
else
|
|
goto <bb 20>; [67.00%]
|
|
|
|
<bb 18> [local count: 12508639]:
|
|
# DEBUG BEGIN_STMT
|
|
_34 = config_42(D)->name;
|
|
UpdateClockState (_34, 255);
|
|
goto <bb 20>; [100.00%]
|
|
|
|
<bb 19> [local count: 37405092]:
|
|
# DEBUG BEGIN_STMT
|
|
_35 = config_42(D)->name;
|
|
ReportClockErrors (1, _35);
|
|
|
|
<bb 20> [local count: 152268624]:
|
|
StartTime ={v} {CLOBBER};
|
|
ElapsedTime ={v} {CLOBBER};
|
|
TimeoutTicks ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
SetCgmXDeDivStatWithoutPhase (const struct Clock_Ip_DividerConfigType * config)
|
|
{
|
|
uint32 DividerStatus;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
uint32 regValue;
|
|
uint32 dividerIndex;
|
|
uint32 selectorIndex;
|
|
uint32 instance;
|
|
<unnamed type> _1;
|
|
int _2;
|
|
unsigned char _3;
|
|
unsigned char _5;
|
|
unsigned char _6;
|
|
unsigned char _7;
|
|
long unsigned int _8;
|
|
volatile struct cgmMux_Type * _9;
|
|
long unsigned int _10;
|
|
long unsigned int _11;
|
|
long unsigned int _12;
|
|
volatile struct cgmMux_Type * _13;
|
|
long unsigned int _14;
|
|
long unsigned int _15;
|
|
volatile struct cgmMux_Type * _16;
|
|
long unsigned int _17;
|
|
long unsigned int TimeoutTicks.5_18;
|
|
long unsigned int _19;
|
|
volatile struct cgmMux_Type * _20;
|
|
long unsigned int _21;
|
|
long unsigned int _22;
|
|
<unnamed type> _23;
|
|
<unnamed type> _24;
|
|
<unnamed type> _25;
|
|
volatile struct cgmMux_Type * _26;
|
|
long unsigned int _27;
|
|
long unsigned int _28;
|
|
<unnamed type> _29;
|
|
<unnamed type> _30;
|
|
|
|
<bb 2> [local count: 154303509]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_35(D)->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][0];
|
|
instance_36 = (uint32) _3;
|
|
# DEBUG instance => instance_36
|
|
# DEBUG BEGIN_STMT
|
|
_5 = clockFeatures[_2][2];
|
|
selectorIndex_37 = (uint32) _5;
|
|
# DEBUG selectorIndex => selectorIndex_37
|
|
# DEBUG BEGIN_STMT
|
|
_6 = clockFeatures[_2][3];
|
|
dividerIndex_38 = (uint32) _6;
|
|
# DEBUG dividerIndex => dividerIndex_38
|
|
# DEBUG BEGIN_STMT
|
|
_7 = clockFeatures[_2][5];
|
|
# DEBUG triggerFeat => (uint32) _7
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG TimeoutOccurred => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG immediateTriggerIsUpdated => 1
|
|
# DEBUG BEGIN_STMT
|
|
_8 = config_35(D)->value;
|
|
if (_8 != 0)
|
|
goto <bb 3>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 3> [local count: 77151755]:
|
|
# DEBUG BEGIN_STMT
|
|
_9 = cgm[instance_36][selectorIndex_37];
|
|
regValue_39 ={v} _9->divider[dividerIndex_38];
|
|
# DEBUG regValue => regValue_39
|
|
# DEBUG BEGIN_STMT
|
|
regValue_40 = regValue_39 & 4290838527;
|
|
# DEBUG regValue => regValue_40
|
|
# DEBUG BEGIN_STMT
|
|
_10 = _8 + 4294967295;
|
|
_11 = _10 << 16;
|
|
_12 = _11 & 4128768;
|
|
regValue_41 = _12 | regValue_40;
|
|
# DEBUG regValue => regValue_41
|
|
# DEBUG BEGIN_STMT
|
|
_9->divider[dividerIndex_38] ={v} regValue_41;
|
|
|
|
<bb 4> [local count: 154303509]:
|
|
# DEBUG BEGIN_STMT
|
|
if (_7 == 1)
|
|
goto <bb 5>; [51.12%]
|
|
else
|
|
goto <bb 6>; [48.88%]
|
|
|
|
<bb 5> [local count: 78879954]:
|
|
# DEBUG BEGIN_STMT
|
|
_13 = cgm[instance_36][selectorIndex_37];
|
|
_14 ={v} _13->MUX_DIV_TRIG_CTRL;
|
|
_15 = _14 & 1;
|
|
if (_15 != 0)
|
|
goto <bb 10>; [50.00%]
|
|
else
|
|
goto <bb 6>; [50.00%]
|
|
|
|
<bb 6> [local count: 114863532]:
|
|
# DEBUG immediateTriggerIsUpdated => NULL
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 7> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_16 = cgm[instance_36][selectorIndex_37];
|
|
_17 ={v} _16->MUX_DIV_UPD_STAT;
|
|
DividerStatus_44 = _17 & 1;
|
|
# DEBUG DividerStatus => DividerStatus_44
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.5_18 = TimeoutTicks;
|
|
TimeoutOccurred_46 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.5_18);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_46
|
|
# DEBUG BEGIN_STMT
|
|
if (DividerStatus_44 != 0)
|
|
goto <bb 8>; [94.50%]
|
|
else
|
|
goto <bb 9>; [5.50%]
|
|
|
|
<bb 8> [local count: 1014686024]:
|
|
if (TimeoutOccurred_46 != 0)
|
|
goto <bb 9>; [5.50%]
|
|
else
|
|
goto <bb 16>; [94.50%]
|
|
|
|
<bb 16> [local count: 958878293]:
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 9> [local count: 114863532]:
|
|
# TimeoutOccurred_4 = PHI <TimeoutOccurred_46(8), TimeoutOccurred_46(7)>
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_4
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_4 != 0)
|
|
goto <bb 14>; [33.00%]
|
|
else
|
|
goto <bb 10>; [67.00%]
|
|
|
|
<bb 10> [local count: 116398543]:
|
|
# DEBUG immediateTriggerIsUpdated => NULL
|
|
# DEBUG TimeoutOccurred => NULL
|
|
# DEBUG BEGIN_STMT
|
|
_19 = config_35(D)->value;
|
|
if (_19 != 0)
|
|
goto <bb 11>; [50.00%]
|
|
else
|
|
goto <bb 13>; [50.00%]
|
|
|
|
<bb 11> [local count: 58199271]:
|
|
# DEBUG BEGIN_STMT
|
|
_20 = cgm[instance_36][selectorIndex_37];
|
|
_21 ={v} _20->divider[dividerIndex_38];
|
|
_22 = _21 | 2147483648;
|
|
_20->divider[dividerIndex_38] ={v} _22;
|
|
# DEBUG BEGIN_STMT
|
|
_23 = config_35(D)->name;
|
|
_24 = GetClockState (_23);
|
|
if (_24 == 0)
|
|
goto <bb 12>; [33.00%]
|
|
else
|
|
goto <bb 15>; [67.00%]
|
|
|
|
<bb 12> [local count: 19205760]:
|
|
# DEBUG BEGIN_STMT
|
|
_25 = config_35(D)->name;
|
|
UpdateClockState (_25, 255);
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 13> [local count: 58199271]:
|
|
# DEBUG BEGIN_STMT
|
|
_26 = cgm[instance_36][selectorIndex_37];
|
|
_27 ={v} _26->divider[dividerIndex_38];
|
|
_28 = _27 & 2147483647;
|
|
_26->divider[dividerIndex_38] ={v} _28;
|
|
# DEBUG BEGIN_STMT
|
|
_29 = config_35(D)->name;
|
|
UpdateClockState (_29, 0);
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 14> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_30 = config_35(D)->name;
|
|
ReportClockErrors (1, _30);
|
|
|
|
<bb 15> [local count: 154303509]:
|
|
StartTime ={v} {CLOBBER};
|
|
ElapsedTime ={v} {CLOBBER};
|
|
TimeoutTicks ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
Callback_DividerEmpty (const struct Clock_Ip_DividerConfigType * config)
|
|
{
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
return;
|
|
|
|
}
|
|
|
|
|