summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/common
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2016-09-12 12:37:44 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-05 11:09:16 -0400
commit7849bdd4dd2c4d912a27f99ef543665d3bf873ce (patch)
tree9633c617adb7f6b19775bd4ef6fd216eb3028c96 /src/usr/targeting/common
parentbc356f272c67790cf307cdb4af53308129b492b0 (diff)
downloadtalos-hostboot-7849bdd4dd2c4d912a27f99ef543665d3bf873ce.tar.gz
talos-hostboot-7849bdd4dd2c4d912a27f99ef543665d3bf873ce.zip
Add call to update SBE image if nest freq changed in istep 7.3
Change-Id: I529056bf1380238f5064f18b39bc09ec97e7a112 RTC: 157659 Depends-on: Idea9e3ae8d08052e960c00c225522bbe8da3ea5e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29521 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <v2cibmd@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/common')
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl26
-rw-r--r--src/usr/targeting/common/target.C32
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml8
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/target_types.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml1
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>
OpenPOWER on IntegriCloud