summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep13
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2019-04-19 13:54:45 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-04-23 09:29:21 -0500
commit2a292b1a81eac36a6307325040483ca7891c150e (patch)
treeed29efa53ddbeb1861dbfb3dd0d2e33353fa2f4a /src/usr/isteps/istep13
parentf39b02dcad91693ec158c4f96146cd922153fd6f (diff)
downloadtalos-hostboot-2a292b1a81eac36a6307325040483ca7891c150e.tar.gz
talos-hostboot-2a292b1a81eac36a6307325040483ca7891c150e.zip
Compile and call exp_draminit_mc
Per the P9A IPL Flow documentation we must call exp_draminit_mc during istep 13.12. On hardware this requires exp_draminit to have been called. But in simulation it shouldnt matter. I make this note because at the time of writing the the exp_draminit HWP is not being called. RTC: 195556 Change-Id: I2db07c461cf9f10b85d51c091964b62574abb62e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76256 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Glenn Miles <milesg@ibm.com> 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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep13')
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit_mc.C56
-rw-r--r--src/usr/isteps/istep13/makefile67
2 files changed, 91 insertions, 32 deletions
diff --git a/src/usr/isteps/istep13/call_mss_draminit_mc.C b/src/usr/isteps/istep13/call_mss_draminit_mc.C
index cee7771bf..0c7136298 100644
--- a/src/usr/isteps/istep13/call_mss_draminit_mc.C
+++ b/src/usr/isteps/istep13/call_mss_draminit_mc.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -44,8 +44,13 @@
//From Import Directory (EKB Repository)
#include <config.h>
#include <fapi2.H>
+#ifdef CONFIG_AXONE
+#include <exp_draminit_mc.H>
+#else
#include <p9_mss_draminit_mc.H>
#include <p9c_mss_draminit_mc.H>
+#endif
+
using namespace ERRORLOG;
@@ -66,6 +71,8 @@ void* call_mss_draminit_mc (void *io_pArgs)
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"call_mss_draminit_mc entry" );
+#ifndef CONFIG_AXONE
+
// Get all MCBIST
TARGETING::TargetHandleList l_mcbistTargetList;
getAllChiplets(l_mcbistTargetList, TYPE_MCBIST);
@@ -153,6 +160,53 @@ void* call_mss_draminit_mc (void *io_pArgs)
}
}
+#else
+
+ // Get all OCMB targets
+ TARGETING::TargetHandleList l_ocmbTargetList;
+ getAllChips(l_ocmbTargetList, TYPE_OCMB_CHIP);
+
+ for (const auto & l_ocmb_target : l_ocmbTargetList)
+ {
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running exp_draminit_mc HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_ocmb_target));
+
+ fapi2::Target <fapi2::TARGET_TYPE_OCMB_CHIP> l_fapi_ocmb_target
+ (l_ocmb_target);
+
+ // call the HWP with each fapi2::Target
+ FAPI_INVOKE_HWP(l_err, exp_draminit_mc, l_fapi_ocmb_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : exp_draminit_mc HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_ocmb_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+
+ break;
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS running exp_draminit_mc HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_ocmb_target));
+ }
+
+ }
+
+#endif
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_mc exit" );
return l_stepError.getErrorHandle();
diff --git a/src/usr/isteps/istep13/makefile b/src/usr/isteps/istep13/makefile
index bd38d4f71..507d1981d 100644
--- a/src/usr/isteps/istep13/makefile
+++ b/src/usr/isteps/istep13/makefile
@@ -25,10 +25,11 @@
ROOTPATH = ../../../..
MODULE = istep13
-PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/p9/procedures
-CEN_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/centaur/procedures
+P9_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/p9/procedures
+CEN_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/centaur/procedures
OCMB_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/ocmb/procedures
-EXP_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/ocmb/explorer/procedures
+EXP_PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/ocmb/explorer/procedures
+EXP_INCLUDE_PATH = ${ROOTPATH}/src/import/chips/ocmb/explorer/common/include/
#Add all the extra include paths
@@ -42,14 +43,14 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/common/utils/imageProcs/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory/lib
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory/lib/utils
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory/lib/mc/
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory/lib/fir/
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/perv
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/nest
-EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/initfiles
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/memory
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/memory/lib
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/memory/lib/utils
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/memory/lib/mc/
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/memory/lib/fir/
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/perv
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/nest
+EXTRAINCDIR += ${P9_PROCEDURES_PATH}/hwp/initfiles
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/centaur/common/include/
EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/
@@ -60,7 +61,10 @@ EXTRAINCDIR += ${CEN_PROCEDURES_PATH}/hwp/memory/lib/utils/
EXTRAINCDIR += ${CEN_PROCEDURES_PATH}/hwp/initfiles
EXTRAINCDIR += ${EXP_PROCEDURES_PATH}/hwp/memory/
EXTRAINCDIR += ${OCMB_PROCEDURES_PATH}/hwp/initfiles/
-
+EXTRAINCDIR += ${EXP_INCLUDE_PATH}/
+EXTRAINCDIR += ${ROOTPATH}/obj/genfiles/
+EXTRAINCDIR += ${ROOTPATH}/obj/genfiles/chips/ocmb/explorer/procedures/hwp/memory/lib/
+EXTRAINCDIR += ${ROOTPATH}/obj/genfiles/generic/memory/lib/
# from src/usr/isteps/istep13
OBJS += call_host_disable_memvolt.o
@@ -81,28 +85,28 @@ OBJS += call_mss_draminit_mc.o
include ${ROOTPATH}/procedure.rules.mk
# PLL HWPs
-include ${PROCEDURES_PATH}/hwp/perv/p9_mem_pll_initf.mk
-include ${PROCEDURES_PATH}/hwp/perv/p9_mem_pll_setup.mk
-include ${PROCEDURES_PATH}/hwp/perv/p9_mem_pll_reset.mk
+include ${P9_PROCEDURES_PATH}/hwp/perv/p9_mem_pll_initf.mk
+include ${P9_PROCEDURES_PATH}/hwp/perv/p9_mem_pll_setup.mk
+include ${P9_PROCEDURES_PATH}/hwp/perv/p9_mem_pll_reset.mk
#Start Memclocks
-include ${PROCEDURES_PATH}/hwp/perv/p9_mem_startclocks.mk
+include ${P9_PROCEDURES_PATH}/hwp/perv/p9_mem_startclocks.mk
#Scom init
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_scominit.mk
-include ${PROCEDURES_PATH}/hwp/nest/p9_throttle_sync.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_scominit.mk
+include ${P9_PROCEDURES_PATH}/hwp/nest/p9_throttle_sync.mk
include ${CEN_PROCEDURES_PATH}/hwp/memory/p9c_mss_scominit.mk
-include ${PROCEDURES_PATH}/hwp/initfiles/p9n_ddrphy_scom.mk
-include ${PROCEDURES_PATH}/hwp/initfiles/p9n_mca_scom.mk
-include ${PROCEDURES_PATH}/hwp/initfiles/p9n_mcbist_scom.mk
+include ${P9_PROCEDURES_PATH}/hwp/initfiles/p9n_ddrphy_scom.mk
+include ${P9_PROCEDURES_PATH}/hwp/initfiles/p9n_mca_scom.mk
+include ${P9_PROCEDURES_PATH}/hwp/initfiles/p9n_mcbist_scom.mk
#Dram init
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_draminit.mk
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_training.mk
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_mc.mk
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_ddr_phy_reset.mk
-include ${PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_training_adv.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_draminit.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_training.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_mc.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_ddr_phy_reset.mk
+include ${P9_PROCEDURES_PATH}/hwp/memory/p9_mss_draminit_training_adv.mk
include ${CEN_PROCEDURES_PATH}/hwp/memory/p9c_mss_mcbist.mk
include ${CEN_PROCEDURES_PATH}/hwp/memory/p9c_mss_mcbist_common.mk
@@ -128,14 +132,15 @@ include ${CEN_PROCEDURES_PATH}/hwp/memory/p9c_mss_row_repair.mk
OBJS += $(if $(CONFIG_AXONE),exp_scominit.o,)
OBJS += $(if $(CONFIG_AXONE),explorer_scom.o,)
+OBJS += $(if $(CONFIG_AXONE),exp_draminit_mc.o,)
include ${ROOTPATH}/config.mk
-VPATH += ${PROCEDURES_PATH}/hwp/memory ${PROCEDURES_PATH}/hwp/nest ${PROCEDURES_PATH}/hwp/perv ${PROCEDURES_PATH}/hwp/initfiles/
-VPATH += ${PROCEDURES_PATH}/hwp/memory/lib/ccs/ ${PROCEDURES_PATH}/hwp/memory/lib/dimm/ ${PROCEDURES_PATH}/hwp/memory/lib/utils/ ${PROCEDURES_PATH}/hwp/memory/lib/phy/
-VPATH += ${PROCEDURES_PATH}/hwp/memory/lib/mc/
-VPATH += ${PROCEDURES_PATH}/hwp/memory/lib/fir/
-VPATH += ${PROCEDURES_PATH}/hwp/memory/lib/dimm/ddr4/
+VPATH += ${P9_PROCEDURES_PATH}/hwp/memory ${P9_PROCEDURES_PATH}/hwp/nest ${P9_PROCEDURES_PATH}/hwp/perv ${P9_PROCEDURES_PATH}/hwp/initfiles/
+VPATH += ${P9_PROCEDURES_PATH}/hwp/memory/lib/ccs/ ${P9_PROCEDURES_PATH}/hwp/memory/lib/dimm/ ${P9_PROCEDURES_PATH}/hwp/memory/lib/utils/ ${P9_PROCEDURES_PATH}/hwp/memory/lib/phy/
+VPATH += ${P9_PROCEDURES_PATH}/hwp/memory/lib/mc/
+VPATH += ${P9_PROCEDURES_PATH}/hwp/memory/lib/fir/
+VPATH += ${P9_PROCEDURES_PATH}/hwp/memory/lib/dimm/ddr4/
VPATH += ${CEN_PROCEDURES_PATH}
VPATH += ${CEN_PROCEDURES_PATH}/hwp/memory/
VPATH += ${CEN_PROCEDURES_PATH}/hwp/memory/lib/
OpenPOWER on IntegriCloud