summaryrefslogtreecommitdiffstats
path: root/src/usr/lpc
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2018-10-10 08:49:08 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-08 15:42:06 -0600
commite36e0019e0b97ee66e649fd32a708e2905b26623 (patch)
treebc8cb284194865a10d3c8f75f72a36bccf6d1643 /src/usr/lpc
parentdc1efdb95ce7198d29797abd165d6ce2fd30f5ad (diff)
downloadtalos-hostboot-e36e0019e0b97ee66e649fd32a708e2905b26623.tar.gz
talos-hostboot-e36e0019e0b97ee66e649fd32a708e2905b26623.zip
HBBL LPC Error Checking
- To avoid IPL delays, the LPC status register should be checked prior to loading the entire PNOR image (done via LPC). If an error condition occurs, HBBL should fail out. Change-Id: I5d716213f468e28191db794bf3e5480af547b26e CQ: SW446254 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68442 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/lpc')
-rw-r--r--src/usr/lpc/lpcdd.C8
-rw-r--r--src/usr/lpc/lpcdd.H4
2 files changed, 5 insertions, 7 deletions
diff --git a/src/usr/lpc/lpcdd.C b/src/usr/lpc/lpcdd.C
index 558ab4d5b..a661bb7f0 100644
--- a/src/usr/lpc/lpcdd.C
+++ b/src/usr/lpc/lpcdd.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
+/* Contributors Listed Below - COPYRIGHT 2014,2019 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -523,7 +523,7 @@ errlHndl_t LpcDD::hwReset( ResetLevels i_resetLevel )
uint32_t * l_status_ptr
= reinterpret_cast<uint32_t*>(l_addr);
//Clear under mask - aka write 1 clears
- *l_status_ptr = OPB_ERROR_MASK;
+ *l_status_ptr = LPC::OPB_ERROR_MASK;
eieio();
//Clear related bits in the LPCM OPB Master Accumulated
@@ -534,7 +534,7 @@ errlHndl_t LpcDD::hwReset( ResetLevels i_resetLevel )
uint32_t * l_accum_status_ptr
= reinterpret_cast<uint32_t*>(l_addr);
//Clear under mask - aka write 1 clears
- *l_accum_status_ptr = OPB_ERROR_MASK;
+ *l_accum_status_ptr = LPC::OPB_ERROR_MASK;
eieio();
//Reset LPCHC Logic
@@ -1116,7 +1116,7 @@ errlHndl_t LpcDD::checkForLpcErrors()
eieio();
// Mask error bits
- opbm_err_union.data32 = (opbm_buffer & OPB_ERROR_MASK);
+ opbm_err_union.data32 = (opbm_buffer & LPC::OPB_ERROR_MASK);
lpchc_err_union.data32 = (lpchc_buffer & LPCHC_ERROR_MASK);
// First look for errors in the OPBM bit mask
diff --git a/src/usr/lpc/lpcdd.H b/src/usr/lpc/lpcdd.H
index be7af6aef..e7f5397f1 100644
--- a/src/usr/lpc/lpcdd.H
+++ b/src/usr/lpc/lpcdd.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2017 */
+/* Contributors Listed Below - COPYRIGHT 2014,2019 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -214,8 +214,6 @@ class LpcDD
/** LPC Host Controller Reset Register */
LPCHC_RESET_REG = 0x20FC,
- OPB_ERROR_MASK = 0x20000FC3, /**< OPBM Error Bits MASK */
-
LPCHC_ERROR_MASK = 0x000004FC /**< LPCHC Error Bits MASK */
};
OpenPOWER on IntegriCloud