summaryrefslogtreecommitdiffstats
path: root/src/usr/diag
diff options
context:
space:
mode:
authorBenjamin Weisenbeck <bweisenb@us.ibm.com>2017-08-28 09:31:17 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-09-01 14:08:49 -0400
commit82ce429fe52ff6a3c51e5dde02883675075a3fab (patch)
tree93d735cf41dc62477a61712f2b1c3683a9a67eb5 /src/usr/diag
parentc18501d5532e1352c2642df30e0049ad99809fb8 (diff)
downloadtalos-hostboot-82ce429fe52ff6a3c51e5dde02883675075a3fab.tar.gz
talos-hostboot-82ce429fe52ff6a3c51e5dde02883675075a3fab.zip
PRD: Fix xbus pll reg access issue
Change-Id: I704dcb1db8a6491352fccb40bacb7a932d10a678 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45225 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45391 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule14
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule18
-rw-r--r--src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C48
-rw-r--r--src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C6
4 files changed, 56 insertions, 30 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
index 93affafce..c281e0323 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
@@ -95,3 +95,17 @@
capture group PllFIRs;
};
+ register XBUS_ERROR_REG
+ {
+ name "XBUS PCB Slave error reg";
+ scomaddr 0x060F001F;
+ capture group PllFIRs;
+ };
+
+ register XBUS_CONFIG_REG
+ {
+ name "XBUS PCB Slave config reg";
+ scomaddr 0x060F001E;
+ capture group PllFIRs;
+ };
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule b/src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule
index 7838d0e50..7b9103562 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule
@@ -26,24 +26,6 @@
# Additional registers for XBUS, not defined in XML
###############################################################################
- ###########################################################################
- # XBUS Chiplet PLL Registers
- ###########################################################################
-
- register XBUS_ERROR_REG
- {
- name "XBUS PCB Slave error reg";
- scomaddr 0x060F001F;
- capture group PllFIRs;
- };
-
- register XBUS_CONFIG_REG
- {
- name "XBUS PCB Slave config reg";
- scomaddr 0x060F001E;
- capture group PllFIRs;
- };
-
########################################################################
# Non-existent Registers for Capture
########################################################################
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C
index c15a22f70..116706577 100644
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C
@@ -98,8 +98,16 @@ void ClearChipletParityError(ExtensibleChip * i_chip,
return;
}
- ExtensibleChipList chpltList =
- PlatServices::getConnected(i_chip, i_chpltType);
+ ExtensibleChipList chpltList;
+
+ if ( i_chpltType == TYPE_PROC || i_chpltType == TYPE_XBUS )
+ {
+ chpltList.push_back(i_chip);
+ }
+ else
+ {
+ chpltList = PlatServices::getConnected(i_chip, i_chpltType);
+ }
for ( auto chplt : chpltList )
{
@@ -148,8 +156,16 @@ void ClearChipletPll(ExtensibleChip * i_chip, TARGETING::TYPE i_chpltType)
return;
}
- ExtensibleChipList chpltList =
- PlatServices::getConnected(i_chip, i_chpltType);
+ ExtensibleChipList chpltList;
+
+ if ( i_chpltType == TYPE_PROC || i_chpltType == TYPE_XBUS )
+ {
+ chpltList.push_back(i_chip);
+ }
+ else
+ {
+ chpltList = PlatServices::getConnected(i_chip, i_chpltType);
+ }
for ( auto chplt : chpltList )
{
@@ -210,8 +226,16 @@ void MaskChipletPll(ExtensibleChip * i_chip, TARGETING::TYPE i_chpltType)
return;
}
- ExtensibleChipList chpltList =
- PlatServices::getConnected(i_chip, i_chpltType);
+ ExtensibleChipList chpltList;
+
+ if ( i_chpltType == TYPE_PROC || i_chpltType == TYPE_XBUS )
+ {
+ chpltList.push_back(i_chip);
+ }
+ else
+ {
+ chpltList = PlatServices::getConnected(i_chip, i_chpltType);
+ }
for ( auto chplt : chpltList )
{
@@ -274,8 +298,16 @@ bool CheckChipletPll(ExtensibleChip * i_chip, TARGETING::TYPE i_chpltType)
return false;
}
- ExtensibleChipList chpltList =
- PlatServices::getConnected(i_chip, i_chpltType);
+ ExtensibleChipList chpltList;
+
+ if ( i_chpltType == TYPE_PROC || i_chpltType == TYPE_XBUS )
+ {
+ chpltList.push_back(i_chip);
+ }
+ else
+ {
+ chpltList = PlatServices::getConnected(i_chip, i_chpltType);
+ }
for ( auto chplt : chpltList )
{
diff --git a/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C b/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
index 49368d771..844060ae3 100644
--- a/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
+++ b/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
@@ -162,10 +162,6 @@ void getAddresses( TrgtMap_t & io_targMap )
io_targMap[TRGT_XBUS][REG_REG] =
{
- // PLL registers
- 0x060F001E, // OBUS_CONFIG_REG
- 0x060F001F, // OBUS_ERROR_REG
-
// c_err_rpt registers
0x06011816, // PB ELL Link0 ErrStatus
0x06011817, // PB ELL Link1 ErrStatus
@@ -394,6 +390,8 @@ void getAddresses( TrgtMap_t & io_targMap )
// PLL registers
0x010F001E, // TP_CONFIG_REG
0x010F001F, // TP_ERROR_REG
+ 0x060F001E, // XBUS_CONFIG_REG
+ 0x060F001F, // XBUS_ERROR_REG
// c_err_rpt registers
0x0101080a, // OCC Error Report Reg
OpenPOWER on IntegriCloud