diff options
author | Benjamin Weisenbeck <bweisenb@us.ibm.com> | 2017-08-28 09:31:17 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-09-01 14:08:49 -0400 |
commit | 82ce429fe52ff6a3c51e5dde02883675075a3fab (patch) | |
tree | 93d735cf41dc62477a61712f2b1c3683a9a67eb5 /src/usr/diag | |
parent | c18501d5532e1352c2642df30e0049ad99809fb8 (diff) | |
download | talos-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.rule | 14 | ||||
-rw-r--r-- | src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule | 18 | ||||
-rw-r--r-- | src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C | 48 | ||||
-rw-r--r-- | src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C | 6 |
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 |