diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-03-22 14:38:39 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2018-04-06 10:23:19 -0400 |
commit | d5ba4627b254190f6b37ee487b3be1951c056e08 (patch) | |
tree | 4caf13c2800c7efca6be44cdad063d0e33fecad8 /src/import | |
parent | ba8c8bfc02ca3d42a3caf3f8f797df07487c1dab (diff) | |
download | talos-hostboot-d5ba4627b254190f6b37ee487b3be1951c056e08.tar.gz talos-hostboot-d5ba4627b254190f6b37ee487b3be1951c056e08.zip |
Update hreset HWP to always use scoms during HBRT
Previsouly there were checks in p9_sbe_hreset that made sure that
we only did getcfam ops on slave chips and did scoms to access the
registers on the master chips. This is correct for hostboot during
IPL time but during runtime we always want to use scom to access
these registers. This is safe because the fabric us up and we can
perform xscoms on both chips.
Change-Id: I5c48053d90278e1b3f9aacd5a74dda4ddc3620bb
RTC: 190058
CQ: SW422692
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56183
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: SRINIVAS V. POLISETTY <srinivan@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56186
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>
Diffstat (limited to 'src/import')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/perv/p9_sbe_hreset.C | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_hreset.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_hreset.C index bc32d2451..ea75e91ab 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_hreset.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_hreset.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017 */ +/* Contributors Listed Below - COPYRIGHT 2017,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -72,14 +72,18 @@ fapi2::ReturnCode p9_sbe_i2c_bit_rate_divisor_setting( FAPI_TRY(fapi2::putScom(i_target_chip, PU_MODE_REGISTER_B, l_data64)); FAPI_INF("Writing I2C bit rate divisor into mailbox_reg_2"); +#ifndef __HOSTBOOT_RUNTIME if (i_masterProc) +#endif { FAPI_TRY(fapi2::getScom(i_target_chip, PERV_SCRATCH_REGISTER_2_SCOM, l_data64)); l_data64.insertFromRight< 0, 16 >(l_mb_bit_rate_divisor); FAPI_INF("p9_sbe_i2c_bit_rate_divisor_setting - Master proc Scratch2 0x%.16llX", l_data64); FAPI_TRY(fapi2::putScom(i_target_chip, PERV_SCRATCH_REGISTER_2_SCOM, l_data64)); } + +#ifndef __HOSTBOOT_RUNTIME else { FAPI_TRY(fapi2::getCfamRegister(i_target_chip, PERV_SCRATCH_REGISTER_2_FSI, l_data32)); @@ -88,6 +92,8 @@ fapi2::ReturnCode p9_sbe_i2c_bit_rate_divisor_setting( FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_SCRATCH_REGISTER_2_FSI, l_data32)); } +#endif + fapi_try_exit: FAPI_INF("Exiting p9_sbe_i2c_bit_rate_divisor_setting..."); return fapi2::current_err; @@ -134,7 +140,10 @@ fapi2::ReturnCode p9_sbe_hreset( } // Must do SCOM access for master; CFAM access for slaves +#ifndef __HOSTBOOT_RUNTIME + if (l_masterProc) +#endif { // Clear Self Boot message reg l_data64.flush<0>(); @@ -153,7 +162,8 @@ fapi2::ReturnCode p9_sbe_hreset( FAPI_TRY(fapi2::getScom(i_target, PERV_SB_CS_SCOM, l_data64), "Error from getScom to PERV_SB_CS_SCOM"); - FAPI_TRY(l_data64.clearBit(l_startVectorBit)); + FAPI_TRY(l_data64.clearBit(PERV_SB_CS_START_RESTART_VECTOR0)); + FAPI_TRY(l_data64.clearBit(PERV_SB_CS_START_RESTART_VECTOR1)); FAPI_TRY(fapi2::putScom(i_target, PERV_SB_CS_SCOM, l_data64), "Error from putScom to PERV_SB_CS_SCOM (1)"); @@ -165,6 +175,8 @@ fapi2::ReturnCode p9_sbe_hreset( FAPI_TRY(fapi2::putScom(i_target, PERV_SB_CS_SCOM, l_data64), "Error from putScom to PERV_SB_CS_SCOM (3)"); } + +#ifndef __HOSTBOOT_RUNTIME else { // Clear Self Boot message reg @@ -182,7 +194,8 @@ fapi2::ReturnCode p9_sbe_hreset( // HRESET FAPI_TRY(fapi2::getCfamRegister(i_target, PERV_SB_CS_FSI, l_data32), "Error from getCfamRegister to PERV_SB_CS_FSI"); - FAPI_TRY(l_data32.clearBit(l_startVectorBit)); + FAPI_TRY(l_data32.clearBit(PERV_SB_CS_START_RESTART_VECTOR0)); + FAPI_TRY(l_data32.clearBit(PERV_SB_CS_START_RESTART_VECTOR1)); FAPI_TRY(fapi2::putCfamRegister(i_target, PERV_SB_CS_FSI, l_data32), "Error from putCfamRegister to PERV_SB_CS_FSI (1)"); @@ -195,6 +208,8 @@ fapi2::ReturnCode p9_sbe_hreset( "Error from putCfamRegister to PERV_SB_CS_FSI (3)"); } +#endif + fapi_try_exit: FAPI_INF("p9_sbe_hreset: Exiting ..."); return fapi2::current_err; |