summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/perv
diff options
context:
space:
mode:
authorAnusha Reddy Rangareddygari <anusrang@in.ibm.com>2016-06-30 16:29:42 +0200
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-07-21 14:41:19 -0400
commitbef99a749ee6104210c1074f99dd6624c76aec2c (patch)
tree8f5f9e504ef1bc4e478c65c24756f2032358da60 /src/import/chips/p9/procedures/hwp/perv
parentdb2f55ed0d57b058adf78bcb45ce22c1aa57c6fc (diff)
downloadtalos-hostboot-bef99a749ee6104210c1074f99dd6624c76aec2c.tar.gz
talos-hostboot-bef99a749ee6104210c1074f99dd6624c76aec2c.zip
Level 2 Hwp for p9_start_cbs
* Include check for VDN_PGOOD after Cbs_done * Modifying Cbs_Idle fapi_err msg Change-Id: If6fd511cf12d1fb193246890d53fb576b70e90e9 CMVC-Prereq:999918 CMVC-Prereq:1000086 CMVC-Prereq:999875 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26461 Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Sunil Kumar <skumar8j@in.ibm.com> Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26464 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/perv')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C b/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C
index 6d704b874..de64992b9 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_start_cbs.C
@@ -32,10 +32,13 @@
//## auto_generated
#include "p9_start_cbs.H"
+//## auto_generated
+#include "p9_const_common.H"
#include <p9_perv_scom_addresses.H>
#include <p9_perv_scom_addresses_fld.H>
-
+#include <p9_perv_scom_addresses_fixes.H>
+#include <p9_perv_scom_addresses_fld_fixes.H>
enum P9_START_CBS_Private_Constants
{
@@ -49,7 +52,10 @@ fapi2::ReturnCode p9_start_cbs(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
& i_target_chip,
const bool i_sbe_start)
{
+ fapi2::buffer<uint32_t> l_read_reg ;
+ bool l_read_vdn_pgood_status = false;
bool l_sbe_start_value = false;
+ bool l_fsi2pib_status = false;
fapi2::buffer<uint32_t> l_data32;
fapi2::buffer<uint32_t> l_data32_cbs_cs;
int l_timeout = 0;
@@ -67,6 +73,17 @@ fapi2::ReturnCode p9_start_cbs(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_CBS_CS_FSI,
l_data32_cbs_cs));
+ FAPI_DBG("check for VDN_PGOOD");
+ //Getting PERV_CBS_ENVSTAT register value
+ FAPI_TRY(fapi2::getCfamRegister(i_target_chip, PERV_CBS_ENVSTAT_FSI,
+ l_data32));
+ l_read_vdn_pgood_status =
+ l_data32.getBit<PERV_CBS_ENVSTAT_C4_VDN_GPOOD>(); //l_read_vdn_pgood_status = PERV_CBS_ENVSTAT.PERV_CBS_ENVSTAT_C4_VDN_GPOOD
+
+ FAPI_ASSERT(l_read_vdn_pgood_status,
+ fapi2::VDN_PGOOD_NOT_SET(),
+ "ERROR:VDN PGOOD OFF, CBS_ENVSTAT BIT 2 NOT SET");
+
FAPI_DBG("Resetting CFAM Boot Sequencer (CBS) to flush value");
//Setting CBS_CS register value
FAPI_TRY(fapi2::getCfamRegister(i_target_chip, PERV_CBS_CS_FSI,
@@ -107,7 +124,18 @@ fapi2::ReturnCode p9_start_cbs(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
FAPI_ASSERT(l_timeout > 0,
fapi2::CBS_CS_INTERNAL_STATE(),
- "ERROR:STATE NOT SET , CBS_CS BIT 30 NOT SET");
+ "ERROR: CBS_CS_INTERNAL_STATE_VECTOR HAS NOT REACHED IDLE STATE VALUE 0x002 ");
+
+ FAPI_DBG("check for VDD status");
+ //Getting FSI2PIB_STATUS register value
+ FAPI_TRY(fapi2::getCfamRegister(i_target_chip, PERV_FSI2PIB_STATUS_FSI,
+ l_data32));
+ //l_fsi2pib_status = CFAM.FSI2PIB_STATUS.VDD_NEST_OBSERVE
+ l_fsi2pib_status = l_data32.getBit<PERV_FSI2PIB_STATUS_VDD_NEST_OBSERVE>();
+
+ FAPI_ASSERT(l_fsi2pib_status,
+ fapi2::VDD_NEST_OBSERVE(),
+ "ERROR:VDD OFF, FSI2PIB BIT 16 NOT SET");
FAPI_INF("Exiting ...");
OpenPOWER on IntegriCloud