diff options
author | Anusha Reddy Rangareddygari <anusrang@in.ibm.com> | 2016-06-30 16:29:42 +0200 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-07-21 14:41:19 -0400 |
commit | bef99a749ee6104210c1074f99dd6624c76aec2c (patch) | |
tree | 8f5f9e504ef1bc4e478c65c24756f2032358da60 /src/import/chips/p9/procedures/hwp/perv | |
parent | db2f55ed0d57b058adf78bcb45ce22c1aa57c6fc (diff) | |
download | talos-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.C | 32 |
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 ..."); |