diff options
Diffstat (limited to 'src/usr/targeting/common')
-rwxr-xr-x | src/usr/targeting/common/genHwsvMrwXml.pl | 26 | ||||
-rw-r--r-- | src/usr/targeting/common/target.C | 32 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml | 8 | ||||
-rwxr-xr-x | src/usr/targeting/common/xmltohb/target_types.xml | 1 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml | 1 |
6 files changed, 53 insertions, 16 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index cacb849c4..4809472a8 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -371,6 +371,32 @@ else push @systemAttr, ['SUPPORTS_DYNAMIC_MEM_VOLT', 0]; } + +my $nestFreq = $reqPol->{'proc_pb_frequency'}->{content}; + + +if($nestFreq == 1600) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 1]; +} +elsif ($nestFreq == 1866) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 2]; +} +elsif ($nestFreq == 2000) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 3]; +} +elsif ($nestFreq == 2133) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 4]; +} +elsif ($nestFreq == 2400) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 5]; +} + + my %domainProgram = ( MSS_VDD_PROGRAM => $reqPol->{'mss_vdd_program'}, MSS_VCS_PROGRAM => $reqPol->{'mss_vcs_program'}, MSS_AVDD_PROGRAM => $reqPol->{'mss_avdd_program'}, diff --git a/src/usr/targeting/common/target.C b/src/usr/targeting/common/target.C index 5daad8ad4..dc6e0fbbe 100644 --- a/src/usr/targeting/common/target.C +++ b/src/usr/targeting/common/target.C @@ -691,29 +691,23 @@ bool Target::uninstallWriteAttributeCallback() //****************************************************************************** // setFrequencyAttributes //****************************************************************************** -void setFrequencyAttributes(Target * i_sys, uint32_t i_newNestFreq) +void setFrequencyAttributes( Target * i_sys, + uint32_t i_newNestFreq, + uint32_t i_i2cBusDiv ) { - // Calculate the new value for PIB_I2C_NEST_PLL using old freq attributes. uint32_t l_oldPll = i_sys->getAttr<TARGETING::ATTR_PIB_I2C_NEST_PLL>(); - uint32_t l_oldNestFreq = i_sys->getAttr<TARGETING::ATTR_NEST_FREQ_MHZ>(); + uint32_t l_oldNestFreq = i_sys->getAttr<TARGETING::ATTR_FREQ_PB_MHZ>(); uint32_t l_newPll = (i_newNestFreq * l_oldPll)/l_oldNestFreq; //NEST_FREQ + //TODO RTC: 161596 - Remove references to deprecated NEST_FREQ_MHZ i_sys->setAttr<TARGETING::ATTR_NEST_FREQ_MHZ>(i_newNestFreq); TRACFCOMP(g_trac_targeting, "ATTR_NEST_FREQ_MHZ getting set from %d to %d", l_oldNestFreq, i_newNestFreq ); - //FREQ_X_MHZ - uint32_t l_freqX = i_newNestFreq * 2; - i_sys->setAttr<TARGETING::ATTR_FREQ_X_MHZ>(l_freqX); - TRACFCOMP(g_trac_targeting, - "ATTR_FREQ_X_MHZ getting set to from %d to %d", - l_oldNestFreq*2, - l_freqX ); - //FREQ_PB_MHZ uint32_t l_freqPb = i_newNestFreq; i_sys->setAttr<TARGETING::ATTR_FREQ_PB_MHZ>(l_freqPb); @@ -729,7 +723,21 @@ void setFrequencyAttributes(Target * i_sys, uint32_t i_newNestFreq) l_oldPll, l_newPll); - return; + // Get the processor targets to set the i2c bus divisor. + TARGETING::TargetHandleList l_procList; + TARGETING::getAllChips( l_procList, + TARGETING::TYPE_PROC, + true ); // true: return functional procs + + TargetHandleList::iterator l_procTarget; + + for( l_procTarget = l_procList.begin(); + l_procTarget != l_procList.end(); + ++l_procTarget ) + { + (*l_procTarget)->setAttr<TARGETING::ATTR_I2C_BUS_DIV_REF>(i_i2cBusDiv); + } + } diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 209e5c66d..a87ac8c69 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -6434,6 +6434,7 @@ firmware notes: Used as override attribute for pstate procedure <attribute> <id>NEST_FREQ_MHZ</id> + <!-- TODO RTC: 161596 - Remove deprecated NEST_FREQ_MHZ --> <description> Nest frequency in MHz </description> diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml index 8358f796d..bb34ad1f2 100644 --- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml @@ -94,12 +94,12 @@ </default> </attribute> <attribute> - <id>NEST_FREQ_MHZ</id> - <default>0x960</default> + <id>ASYNC_NEST_FREQ_MHZ</id> + <default>0x7D0</default> </attribute> <attribute> - <id>FREQ_PB_MHZ</id> - <default>0x7D0</default> + <id>REQUIRED_SYNCH_MODE</id> + <default>2</default> </attribute> <attribute> <id>REQUIRED_SYNCH_MODE</id> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 2c9be0238..145940113 100755 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -608,6 +608,7 @@ <attribute><id>FREQ_A_MHZ</id></attribute> <attribute><id>FREQ_PB_MHZ</id></attribute> <attribute><id>ASYNC_NEST_FREQ_MHZ</id></attribute> + <!-- TODO RTC: 161596 - Remove references to deprecated NEST_FREQ_MHZ --> <attribute><id>NEST_FREQ_MHZ</id></attribute> <attribute><id>PREV_NEST_FREQ_MHZ</id></attribute> <attribute><id>FREQ_PCIE_MHZ</id></attribute> diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml index 71baab7bd..e1fe230ce 100644 --- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml @@ -93,6 +93,7 @@ <field><id>reserved</id><value>0</value></field> </default> </attribute> + <!-- TODO RTC: 161596 Remove references to deprecated NEST_FREQ_MHZ --> <attribute> <id>NEST_FREQ_MHZ</id> <default>0x960</default> |