Skip to content

Commit

Permalink
Adding callout/deconfig/gard information on some Centaur init errors.
Browse files Browse the repository at this point in the history
Adding error for unsupported Centaur EC level (EC level < 2.0)

Change-Id: Id2bea5463c2681059d56a12601477e27ac323a63
CQ:SW449240
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68066
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68077
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
  • Loading branch information
ibmthi authored and crgeddes committed Nov 2, 2018
1 parent 9a4642d commit 28ee0f7
Show file tree
Hide file tree
Showing 15 changed files with 250 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -165,7 +165,9 @@ cen_chiplet_init(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target)
FAPI_TRY(fapi2::getScom(i_target, l_nest_clk_scandata0_addr + 0x25, l_nest_clk_scandata0_data));

FAPI_ASSERT((l_nest_clk_scandata0_data == 0xA5A55A5A00000000),
fapi2::CEN_CHIPLET_INIT_HEADER_MISMATCH().set_TARGET(i_target),
fapi2::CEN_CHIPLET_INIT_HEADER_MISMATCH()
.set_TARGET(i_target)
.set_NEST_CLK_SCANDATA0(l_nest_clk_scandata0_data),
"Error rotating tcn_refr_time ring -- header mismatch!"
);
}
Expand Down
18 changes: 11 additions & 7 deletions src/import/chips/centaur/procedures/hwp/perv/cen_common_funcs.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -279,8 +279,9 @@ cen_repair_loader(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target,
FAPI_TRY(l_repair_status.extract(temp_data_64, 0, 64));

FAPI_ASSERT(temp_data_64 != 0,
fapi2::CEN_COMMON_REPAIR_LOADER_BUSY().
set_TARGET(i_target),
fapi2::CEN_COMMON_REPAIR_LOADER_BUSY()
.set_TARGET(i_target)
.set_REPAIR_STATUS(l_repair_status),
"ERROR: Repair loader reports busy, but engine should be idle!");

FAPI_DBG("Writing Command Validation Register");
Expand Down Expand Up @@ -319,8 +320,10 @@ cen_repair_loader(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target,

temp_data_64 = l_repair_status & REPAIR_STATUS_CHECK_MASK;
FAPI_ASSERT(temp_data_64 == REPAIR_STATUS_CHECK_EXP,
fapi2::CEN_COMMON_MISMATCH_IN_EXPECTED_REPAIR_LOADER_STATUS().
set_TARGET(i_target),
fapi2::CEN_COMMON_MISMATCH_IN_EXPECTED_REPAIR_LOADER_STATUS()
.set_TARGET(i_target)
.set_REPAIR_STATUS_EXP(REPAIR_STATUS_CHECK_EXP)
.set_REPAIR_STATUS_ACT(temp_data_64),
"Mismatch in expected repair loader status!"
" Expected: 0x%016llX, actual: 0x%016llX",
REPAIR_STATUS_CHECK_EXP, temp_data_64);
Expand All @@ -338,8 +341,9 @@ cen_repair_loader(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target,

temp_data_64 &= REPAIR_ECC_TRAP_MASK;
FAPI_ASSERT(temp_data_64 == REPAIR_ECC_TRAP_EXP,
fapi2::CEN_COMMON_ECC_TRAP_REG_ERROR().
set_TARGET(i_target),
fapi2::CEN_COMMON_ECC_TRAP_REG_ERROR()
.set_TARGET(i_target)
.set_REPAIR_ECC_TRAP(temp_data_64),
"ECC trap register reported error!"
" Expected: 0x%016llX, actual: 0x%016llX",
REPAIR_ECC_TRAP_EXP, temp_data_64);
Expand Down
4 changes: 3 additions & 1 deletion src/import/chips/centaur/procedures/hwp/perv/cen_initf.C
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,9 @@ cen_initf(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target)

// check header
FAPI_ASSERT((l_nest_clk_scandata0_data == 0xA5A55A5A00000000),
fapi2::CEN_INITF_HEADER_MISMATCH().set_TARGET(i_target),
fapi2::CEN_INITF_HEADER_MISMATCH()
.set_TARGET(i_target)
.set_NEST_CLK_SCANDATA0(l_nest_clk_scandata0_data),
"Error rotating tcn_mbs_func ring -- header mismatch!");

fapi_try_exit:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -65,6 +65,15 @@ cen_tp_chiplet_init1(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_targ
fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> FAPI_SYSTEM;
fapi2::ATTR_CEN_DMI_REFCLOCK_RCVR_TERM_Type l_dmi_refclock_term;
fapi2::ATTR_CEN_DDR_REFCLOCK_RCVR_TERM_Type l_ddr_refclock_term;
uint8_t l_centaurLevelIsSupported = 0;

// Verify that this Centaur level is supported
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CEN_CENTAUR_EC_FEATURE_SUPPORTED, i_target,
l_centaurLevelIsSupported));
FAPI_ASSERT(l_centaurLevelIsSupported,
fapi2::CEN_CHIP_LEVEL_NOT_SUPPORTED_ERR()
.set_TARGET(i_target),
"Centaur EC level is not supported ( < 2.0 )!");

FAPI_DBG("Fix PIBABORT during warmstart via MAILBOX");
FAPI_TRY(fapi2::putCfamRegister(i_target, CEN_STATUS_ROX, l_cfam_status_data),
Expand Down Expand Up @@ -114,8 +123,9 @@ cen_tp_chiplet_init1(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_targ
FAPI_TRY(fapi2::getCfamRegister(i_target, CEN_STATUS_ROX, l_cfam_status_data),
"Error from getCfamRegister (CEN_STATUS_ROX)");
FAPI_ASSERT(l_cfam_status_data.getBit<16>(),
fapi2::CEN_TP_CHIPLET_INIT1_VDD_SENSE_ERR().
set_TARGET(i_target),
fapi2::CEN_TP_CHIPLET_INIT1_VDD_SENSE_ERR()
.set_TARGET(i_target)
.set_CEN_STATUS_ROX_reg(l_cfam_status_data),
"FSI Status indicates VDD power is OFF!");

FAPI_DBG("Set PLL output enable");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -83,7 +83,10 @@ cen_tp_chiplet_init2(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_targ
"Error from l_pcb_clk_status extraction");

FAPI_ASSERT(temp_data_64 == EXPECTED_CC_STATUS_START_PIBNET,
fapi2::CEN_TP_CHIPLET_INIT2_ERR_CLK_CNTL().set_TARGET(i_target),
fapi2::CEN_TP_CHIPLET_INIT2_ERR_CLK_CNTL()
.set_TARGET(i_target)
.set_EXPECTED_CC_STATUS(EXPECTED_CC_STATUS_START_PIBNET)
.set_ACTUAL_CC_STATUS(temp_data_64),
"ERROR: Clock Control Register: 0x%016llX "
"does not match the expected value: 0xE07FFFFF",
temp_data_64);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -96,7 +96,9 @@ cen_tp_chiplet_init3(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_targ
l_tp_clk_status_data ^= EXPECTED_CC_STATUS_START_all;

FAPI_ASSERT((l_tp_clk_status_data == 0),
fapi2::CEN_TP_CHIPLET_INIT3_ERR_CLK_STATUS().set_TARGET(i_target),
fapi2::CEN_TP_CHIPLET_INIT3_ERR_CLK_STATUS()
.set_TARGET(i_target)
.set_TP_CLOCK_STATUS(l_tp_clk_status_data),
"ERROR: Clock Status Register: 0x%016llX "
"does not match the expected value: 0x000007FFFFFFFFFF ",
l_tp_clk_status_data());
Expand All @@ -121,7 +123,9 @@ cen_tp_chiplet_init3(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_targ
FAPI_TRY(fapi2::getCfamRegister(i_target, CEN_STATUS_ROX, l_fsi_status_data));

FAPI_ASSERT(!l_fsi_status_data.getBit<31>(),
fapi2::CEN_TP_CHIPLET_INIT3_NOT_ALL_CLK_RUNNING().set_TARGET(i_target),
fapi2::CEN_TP_CHIPLET_INIT3_NOT_ALL_CLK_RUNNING()
.set_TARGET(i_target)
.set_CEN_STATUS_ROX_reg(l_fsi_status_data),
"FSI Status register bit(31) indicates, not all clocks are running");

FAPI_DBG("Setup automatic PCB network, reset on a hang");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,23 @@ The getMBvpdSlopeInterceptData Attribute Accessor, if it does not find a matchin
</chipEcFeature>
</attribute>

<attribute>
<id>ATTR_CEN_CENTAUR_EC_FEATURE_SUPPORTED</id>
<targetType>TARGET_TYPE_MEMBUF_CHIP</targetType>
<description>
Set by platform. If true, Centaur level is supported.
</description>
<chipEcFeature>
<chip>
<name>ENUM_ATTR_NAME_CENTAUR</name>
<ec>
<value>0x20</value>
<test>GREATER_THAN_OR_EQUAL</test>
</ec>
</chip>
</chipEcFeature>
</attribute>

<!-- ********************************************************************* -->

</attributes>
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
<!-- Contributors Listed Below - COPYRIGHT 2016,2018 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
Expand All @@ -31,6 +31,17 @@
Error rotating tcn_refr_time ring -- header mismatch
</description>
<ffdc>TARGET</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<ffdc>NEST_CLK_SCANDATA0</ffdc>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
</hwpErrors>
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
<!-- Contributors Listed Below - COPYRIGHT 2016,2018 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
Expand All @@ -31,6 +31,16 @@
ARRAYINIT OPCG DONE timeout!
</description>
<ffdc>TARGET</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -40,6 +50,16 @@
SCAN0 OPCG DONE timeout!
</description>
<ffdc>TARGET</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -49,6 +69,16 @@
Repair loader timeout!
</description>
<ffdc>TARGET</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -58,6 +88,17 @@
ECC trap register error!
</description>
<ffdc>TARGET</ffdc>
<ffdc>REPAIR_ECC_TRAP</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -67,6 +108,18 @@
Mismatch in expected repair loader status!
</description>
<ffdc>TARGET</ffdc>
<ffdc>REPAIR_STATUS_EXP</ffdc>
<ffdc>REPAIR_STATUS_ACT</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -76,6 +129,17 @@
Repair loader busy!
</description>
<ffdc>TARGET</ffdc>
<ffdc>REPAIR_STATUS</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
<hwpError>
Expand All @@ -87,6 +151,16 @@
<ffdc>TARGET</ffdc>
<ffdc>CHIPLET</ffdc>
<ffdc>ACTUAL</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
</hwpErrors>
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@
Error rotating tcn_mbs_func ring -- header mismatch
</description>
<ffdc>TARGET</ffdc>
<ffdc>NEST_CLK_SCANDATA0</ffdc>
<callout>
<target>TARGET</target>
<priority>HIGH</priority>
</callout>
<deconfigure>
<target>TARGET</target>
</deconfigure>
<gard>
<target>TARGET</target>
</gard>
</hwpError>
<!-- ******************************************************************** -->
</hwpErrors>
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@
<ffdc>TARGET</ffdc>
<ffdc>NEST_FREQ</ffdc>
<ffdc>MEM_FREQ</ffdc>
<callout>
<procedure>CODE</procedure>
<priority>HIGH</priority>
</callout>
</hwpError>
<!-- ******************************************************************** -->
</hwpErrors>

0 comments on commit 28ee0f7

Please sign in to comment.