summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-03-22 14:38:39 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2018-04-06 10:23:19 -0400
commitd5ba4627b254190f6b37ee487b3be1951c056e08 (patch)
tree4caf13c2800c7efca6be44cdad063d0e33fecad8 /src/import
parentba8c8bfc02ca3d42a3caf3f8f797df07487c1dab (diff)
downloadtalos-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.C21
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;
OpenPOWER on IntegriCloud