From d5ba4627b254190f6b37ee487b3be1951c056e08 Mon Sep 17 00:00:00 2001 From: Christian Geddes Date: Thu, 22 Mar 2018 14:38:39 -0500 Subject: 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 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Sachin Gupta Reviewed-by: SRINIVAS V. POLISETTY Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56186 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Christian R. Geddes --- .../chips/p9/procedures/hwp/perv/p9_sbe_hreset.C | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/import') 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; -- cgit v1.2.1