Skip to content

Commit

Permalink
PRD: Fix xbus pll reg access issue
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bweisenb authored and zane131 committed Sep 1, 2017
1 parent c18501d commit 82ce429
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 30 deletions.
14 changes: 14 additions & 0 deletions src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
Expand Up @@ -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;
};

18 changes: 0 additions & 18 deletions src/usr/diag/prdf/common/plat/p9/p9_xbus_regs.rule
Expand Up @@ -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
########################################################################
Expand Down
48 changes: 40 additions & 8 deletions src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C
Expand Up @@ -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 )
{
Expand Down Expand Up @@ -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 )
{
Expand Down Expand Up @@ -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 )
{
Expand Down Expand Up @@ -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 )
{
Expand Down
6 changes: 2 additions & 4 deletions src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 82ce429

Please sign in to comment.