summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElizabeth Liner <eliner@us.ibm.com>2015-05-26 16:35:35 -0500
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 13:56:27 -0600
commit12bdd1a279cf7913b5da2010c8cbbc7ccfacf0a6 (patch)
tree376d9128fcb12ad04438794abbaf06d5005a7d99
parentc42a8d760ac7ea3b8529b6ff04d93dc9ac4e0add (diff)
downloadtalos-hostboot-12bdd1a279cf7913b5da2010c8cbbc7ccfacf0a6.tar.gz
talos-hostboot-12bdd1a279cf7913b5da2010c8cbbc7ccfacf0a6.zip
P9 - added new HWP's and removed old functions
Change-Id: Id64878834504858e7febf110bf50413ffaca0b73 RTC: 127334 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17966 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rwxr-xr-xsrc/build/tools/listdeps.pl18
-rw-r--r--src/include/usr/hwas/hostbootIstep.H14
-rw-r--r--src/include/usr/isteps/istep06list.H57
-rw-r--r--src/include/usr/isteps/istep07list.H62
-rw-r--r--src/include/usr/isteps/istep08list.H141
-rw-r--r--src/include/usr/isteps/istep09list.H79
-rw-r--r--src/include/usr/isteps/istep10list.H44
-rw-r--r--src/include/usr/isteps/istep11list.H37
-rw-r--r--src/include/usr/isteps/istep12list.H48
-rw-r--r--src/include/usr/isteps/istep13list.H37
-rw-r--r--src/include/usr/isteps/istep14list.H35
-rw-r--r--src/include/usr/isteps/istep15list.H12
-rw-r--r--src/include/usr/isteps/istep16list.H12
-rw-r--r--src/include/usr/isteps/istep18list.H14
-rw-r--r--src/include/usr/isteps/istep21list.H9
-rw-r--r--src/usr/hwas/hostbootIstep.C47
-rw-r--r--src/usr/hwas/makefile4
-rw-r--r--src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C48
-rw-r--r--src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H20
-rw-r--r--src/usr/hwpf/hwp/mc_config/mc_config.C114
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/makefile11
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C129
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H42
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.C230
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.H91
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml46
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C633
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H119
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml36
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.C218
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.H91
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml46
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.C531
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.H176
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.C72
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.H70
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/makefile5
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C240
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H88
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml49
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.C254
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.H88
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml67
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.C304
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H112
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/slave_sbe.C126
-rw-r--r--src/usr/hwpf/hwp/slave_sbe/slave_sbe.H25
-rw-r--r--src/usr/hwpf/makefile5
48 files changed, 688 insertions, 4068 deletions
diff --git a/src/build/tools/listdeps.pl b/src/build/tools/listdeps.pl
index 25d2e9f7b..02e7bcf57 100755
--- a/src/build/tools/listdeps.pl
+++ b/src/build/tools/listdeps.pl
@@ -169,15 +169,9 @@ else
"libslave_sbe.so",
"libnest_chiplets.so" ,
"libedi_ei_initialization.so" ,
- "libactivate_powerbus.so" ,
"libmc_config.so" ,
- "libdram_training.so" ,
- "libdram_initialization.so" ,
- "libsbe_centaur_init.so" ,
- "libdmi_training.so" ,
"libbuild_winkle_images.so" ,
"libcore_activate.so" ,
- "libtod_init.so" ,
"libstart_payload.so" ,
"libocc.so" ,
);
@@ -223,18 +217,12 @@ my $resident_modules = {
# has with library to istep list file were the DepMod array is kept
my $istepFiles = {
"libslave_sbe.so" => "istep06list.H" ,
- "libnest_chiplets.so" => "istep07list.H" ,
- "libedi_ei_initialization.so" => "istep08list.H" ,
- "libactivate_powerbus.so" => "istep09list.H" ,
- "libsbe_centaur_init.so" => "istep10list.H" ,
- "libdmi_training.so" => "istep11list.H" ,
- "libmc_config.so" => "istep12list.H" ,
- "libdram_training.so" => "istep13list.H" ,
- "libdram_initialization.so" => "istep14list.H" ,
+ "libmc_config.so" => "istep07list.H" ,
+ "libnest_chiplets.so" => "istep08list.H" ,
+ "libedi_ei_initialization.so" => "istep09list.H" ,
"libocc.so" => "istep15list.H" ,
"libbuild_winkle_images.so" => "istep15list.H" ,
"libcore_activate.so" => "istep16list.H" ,
- "libtod_init.so" => "istep18list.H" ,
"libstart_payload.so" => "istep21list.H" ,
};
diff --git a/src/include/usr/hwas/hostbootIstep.H b/src/include/usr/hwas/hostbootIstep.H
index eb7a775d0..4d1702d5c 100644
--- a/src/include/usr/hwas/hostbootIstep.H
+++ b/src/include/usr/hwas/hostbootIstep.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -100,6 +102,16 @@ void* host_discover_targets( void *io_pArgs );
void* host_gard( void *io_pArgs );
/**
+ * @brief p9_revert_sbe_mcs_setup
+ *
+ * Clean up MCS Extent regs
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ */
+void* call_p9_revert_sbe_mcs_setup(void *io_pArgs);
+
+/**
* @brief host_cancontinue_clear Clear deconfigured status
*
* TBD
diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H
index 6c1fade4f..d776c1f31 100644
--- a/src/include/usr/isteps/istep06list.H
+++ b/src/include/usr/isteps/istep06list.H
@@ -50,32 +50,24 @@ namespace INITSERVICE
* @note IStep definition for Hostboot - Slave SBE
*
* IStep 06 Slave SBE
- * IPL FLow Doc v1.37 (08/13/13)
+ * IPL FLow Doc v0.60 (06/02/15)
*
- * 06.1 host_setup
+ * 06.1 host_bootloader
+ * : Host Bootloader (non-executable istep)
+ * 06.2 host_setup
* : Setup host environment (non-executable istep)
- * 06.2 host_istep_enable
+ * 06.3 host_istep_enable
* : Hostboot istep ready (non-executable istep)
- * 06.3 host_init_fsi
+ * 06.4 host_init_fsi
* : Setup the FSI links to slave chips
- * 06.4 host_set_ipl_parms
+ * 06.5 host_set_ipl_parms
* : Build ipl parameters
- * 06.5 host_discover_targets
+ * 06.6 host_discover_targets
* : Builds targeting
- * 06.6 host_gard
+ * 06.7 host_gard
* : Do Gard
- * 06.7 host_cancontinue_clear
- * : Clear deconfigured states
- * 06.8 proc_revert_sbe_mcs_setup
+ * 06.8 host_revert_sbe_mcs_setup
* : Clean up MCS extent regs
- * 06.9 host_slave_sbe_config
- * 06.10 host_sbe_start
- * 06.11 proc_check_slave_sbe_seeprom_complete
- * : Check Slave SBE Complete
- * 06.12 proc_cen_ref_clk_enable
- * : Setup centaur ref clocks
- * 06.13 proc_xmit_sbe
- * : vSBE Init of Slave Chips
*
*/
const TaskInfo g_istep06[] = {
@@ -85,27 +77,46 @@ const TaskInfo g_istep06[] = {
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
{
- ISTEPNAME(06,01,""), // not used.
+ ISTEPNAME(06,01,""), // not used. host bootloader
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
{
- ISTEPNAME(06,02,""), // not used.
+ ISTEPNAME(06,02,""), // not used. host setup
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
-
{
- ISTEPNAME(06,03,"host_init_fsi"),
+ ISTEPNAME(06,03,""), // not used. host istep enable
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
+ {
+ ISTEPNAME(06,04,"host_init_fsi"),
HWAS::host_init_fsi,
{ START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false,
BASE_INITIALIZATION }
},
{
- ISTEPNAME(06,05,"host_discover_targets"),
+ ISTEPNAME(06,05,"host_set_ipl_parms"),
+ HWAS::host_set_ipl_parms,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
+ },
+ {
+ ISTEPNAME(06,06,"host_discover_targets"),
HWAS::host_discover_targets,
{ START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
},
+ {
+ ISTEPNAME(06,07, "host_gard"),
+ HWAS::host_gard,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
+ },
+ {
+ ISTEPNAME(06,08,"host_revert_sbe_mcs_setup"),
+ HWAS::call_p9_revert_sbe_mcs_setup,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
};
const DepModInfo g_istep06Dependancies = {
diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H
index 0563a036e..7520bdbed 100644
--- a/src/include/usr/isteps/istep07list.H
+++ b/src/include/usr/isteps/istep07list.H
@@ -29,26 +29,18 @@
* @file istep07list.H
*
* IStep 07 Nest Chiplets
- * IPL FLow Doc v1.35 (04/11/13)
+ * IPL FLow Doc v0.60 (06/02/15)
*
- * 07.1 proc_attr_update
- * : Proc attr update
- * 07.2 proc_a_x_pci_dmi_pll_initf
- * : PLL Initfile for A, X, PCIe, DMI
- * 07.3 proc_a_x_pci_dmi_pll_setup
- * : Setup PLL for A, X, PCIe, DMI
- * 07.4 proc_startclock_chiplets
- * : Start clocks on A, X, PCIe chiplets
- * 07.5 proc_chiplet_scominit
- * : Apply scom inits to chiplets
- * 07.6 proc_xbus_scominit
- * : Apply scom inits to Xbus
- * 07.7 proc_abus_scominit
- * : Apply scom inits to Abus
- * 07.8 proc_pcie_scominit
- * : Apply scom inits to PCIE chiplets
- * 07.9 proc_scomoverride_chiplets
- * : Apply sequenced scom inits
+ * 07.1 host_collect_dimm_spd
+ * : Collect Master dimm SPD
+ * 07.2 mss_volt
+ * : Calc dimm voltage
+ * 07.3 mss_freq
+ * : Calc dimm frequency
+ * 07.4 mss_eff_config
+ * : Determine effective config
+ * 07.5 mss_attr_update
+ * : MSS ATTR update
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -59,7 +51,7 @@
#include <initservice/initsvcreasoncodes.H>
// include prototypes file
-#include "../../../usr/hwpf/hwp/nest_chiplets/nest_chiplets.H"
+#include "../../../usr/hwpf/hwp/mc_config/mc_config.H"
namespace INITSERVICE
{
@@ -69,14 +61,38 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
+ {
+ ISTEPNAME(07,01,"host_collect_dimm_spd"),
+ MC_CONFIG::call_host_collect_dimm_spd,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
+ {
+ ISTEPNAME(07,02,"mss_volt"),
+ MC_CONFIG::call_mss_volt,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
+ {
+ ISTEPNAME(07,03,"mss_freq"),
+ MC_CONFIG::call_mss_freq,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
+ {
+ ISTEPNAME(07,04,"mss_eff_config"),
+ MC_CONFIG::call_mss_eff_config,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
+ {
+ ISTEPNAME(07,05,"mss_attr_update"),
+ MC_CONFIG::call_mss_attr_update,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
};
const DepModInfo g_istep07Dependancies = {
{
- DEP_LIB(libnest_chiplets.so),
- DEP_LIB(libslave_sbe.so),
- DEP_LIB(libsecure_boot.so),
+ DEP_LIB(libmc_config.so),
+ DEP_LIB(libsbe.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep08list.H b/src/include/usr/isteps/istep08list.H
index 7434b2abf..8bd0f19d1 100644
--- a/src/include/usr/isteps/istep08list.H
+++ b/src/include/usr/isteps/istep08list.H
@@ -28,29 +28,39 @@
/**
* @file istep08list.H
*
- * IStep 08 EDI, EI Initialization
- * IPL FLow Doc v1.28 (12/03/12)
+ * IStep 08 Nest Chiplets
+ * IPL FLow Doc v0.60 (06/02/15)
*
- * 08.1 fabric_erepair
- * : Restore Fabric/EDI Bus eRepair data
- * 08.2 fabric_io_dccal
- * : Calibrate Fabric/EDI interfaces
- * 08.3 fabric_pre_trainadv
- * : Advanced pre EI/EDI training
- * 08.4 fabric_io_run_training
- * : Run training on internal buses
- * 08.5 fabric_post_trainadv
- * : Advanced post EI/EDI training
- * 08.6 host_startprd_pbus
- * : Load prd for powerbus domain
- * 08.7 host_attnlisten_proc
- * : Start listening for attentions
- * 08.8 proc_fab_iovalid
- * : Lower functional fences on local SMP
- *
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1606
- * *****************************************************************
+ * 08.01 host_slave_sbe_config
+ * : Configure host slave sbe
+ * 08.02 host_setup_sbe
+ * : Setup host sbe
+ * 08.03 host_cbs_start
+ * : Start cbs
+ * 08.04 proc_check_slave_sbe_seeprom_complete
+ * : Check Slave SBE Complete
+ * 08.05 proc_cen_ref_clk_enable
+ * : Setup centaur ref clocks
+ * 08.06 proc_attr_update
+ * : Proc ATTR Update
+ * 08.07 proc_enable_osclite
+ * : Enable Osclite
+ * 08.08 proc_chiplet_scominit
+ * : Scom inits to all chiplets (sans Quad)
+ * 08.09 proc_xbus_scominit
+ * : Apply scom inits to Xbus
+ * 08.10 proc_abus_scominit
+ * : Apply scom inits to Abus
+ * 08.11 proc_obus_scominit
+ * : Apply scom inits to Obus
+ * 08.12 proc_npu_scominit
+ * : Apply scom inits to Npu
+ * 08.13 proc_pcie_scominit
+ * : Apply scom inits to PCIechiplets
+ * 08.14 proc_scomoverride_chiplets
+ * : Apply sequenced scom inits
+ * 08.15 proc_chiplet_enable_ridi
+ * : Enable RI/DI chip wide
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -61,7 +71,8 @@
#include <initservice/initsvcreasoncodes.H>
// include prototypes file
-#include "../../../usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H"
+#include "../../../usr/hwpf/hwp/nest_chiplets/nest_chiplets.H"
+#include "../../../usr/hwpf/hwp/slave_sbe/slave_sbe.H"
namespace INITSERVICE
{
@@ -71,20 +82,90 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
+ {
+ ISTEPNAME(08,01,"host_slave_sbe_config"),
+ SLAVE_SBE::call_host_slave_sbe_config,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,02,"host_setup_sbe"),
+ SLAVE_SBE::call_host_setup_sbe,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,03,"host_cbs_start"),
+ SLAVE_SBE::call_host_cbs_start,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,04,"proc_check_slave_sbe_seeprom_complete"),
+ SLAVE_SBE::call_proc_check_slave_sbe_seeprom_complete,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,05,"proc_cen_ref_clk_enable"),
+ SLAVE_SBE::call_proc_cen_ref_clk_enable,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,06,"proc_attr_update"),
+ NEST_CHIPLETS::call_proc_attr_update,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,07,"proc_enable_osclite"),
+ NEST_CHIPLETS::call_proc_enable_osclite,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,08,"proc_chiplet_scominit"),
+ NEST_CHIPLETS::call_proc_chiplet_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,09,"proc_xbus_scominit"),
+ NEST_CHIPLETS::call_proc_xbus_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,10,"proc_abus_scominit"),
+ NEST_CHIPLETS::call_proc_abus_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,11,"proc_obus_scominit"),
+ NEST_CHIPLETS::call_proc_obus_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,12,"proc_npu_scominit"),
+ NEST_CHIPLETS::call_proc_npu_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,13,"proc_pcie_scominit"),
+ NEST_CHIPLETS::call_proc_pcie_scominit,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,14,"proc_scomoverride_chiplets"),
+ NEST_CHIPLETS::call_proc_scomoverride_chiplets,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(08,15,"proc_chiplet_enable_ridi"),
+ NEST_CHIPLETS::call_proc_chiplet_enable_ridi,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+
};
const DepModInfo g_istep08Dependancies = {
{
- DEP_LIB(libedi_ei_initialization.so),
- DEP_LIB(libdmi_training.so),
DEP_LIB(libnest_chiplets.so),
- DEP_LIB(libsecure_boot.so),
DEP_LIB(libslave_sbe.so),
DEP_LIB(libsbe.so),
- DEP_LIB(libbuild_winkle_images.so),
-#ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS
- DEP_LIB(libocc.so),
-#endif
+ DEP_LIB(libpstates.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep09list.H b/src/include/usr/isteps/istep09list.H
index 4ff5b9c2c..42441e25e 100644
--- a/src/include/usr/isteps/istep09list.H
+++ b/src/include/usr/isteps/istep09list.H
@@ -30,16 +30,24 @@
* @file istep09list.H
*
* IStep 09 Activate PowerBus
- * IPL FLow Doc v1.28 (12/03/12)
+ * IPL FLow Doc v0.60 (06/02/15)
*
- * 09.1 proc_build_smp
- * : Integrate PgP Islands into SMP
- * 09.2 host_slave_sbe_update
- * : placeholder for secure boot
- *
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1607
- * *****************************************************************
+ * 09.1 fabric_erepair
+ * : Restore Fabric Bus eRepair data
+ * 09.2 fabric_io_dccal
+ * : Calibrate Fabric interfaces
+ * 09.3 fabric_pre_trainadv
+ * : Advanced pre training
+ * 09.4 fabric_io_run_training
+ * : Run training on internal buses
+ * 09.5 fabric_post_trainadv
+ * : Advanced post EI/EDI training
+ * 09.6 proc_smp_link_layer
+ * : Start SMP link layer
+ * 09.7 host_startprd_pbus
+ * : Load PRD for powerbus domain
+ * 09.9 proc_fab_iovalid
+ * : Lower functional fences on local SMP
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -50,7 +58,7 @@
#include <initservice/initsvcreasoncodes.H>
// include prototypes file
-#include "../../../usr/hwpf/hwp/activate_powerbus/activate_powerbus.H"
+#include "../../../usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H"
#include <config.h>
namespace INITSERVICE
@@ -61,16 +69,57 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
+ {
+ ISTEPNAME(09,01,"fabric_erepair"),
+ EDI_EI_INITIALIZATION::call_fabric_erepair,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,02,"fabric_io_dccal"),
+ EDI_EI_INITIALIZATION::call_fabric_io_dccal,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,03,"fabric_pre_trainadv"),
+ EDI_EI_INITIALIZATION::call_fabric_pre_trainadv,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,04,"fabric_io_run_training"),
+ EDI_EI_INITIALIZATION::call_fabric_io_run_training,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,05,"fabric_post_trainadv"),
+ EDI_EI_INITIALIZATION::call_fabric_post_trainadv,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,06,"proc_smp_link_layer"),
+ EDI_EI_INITIALIZATION::call_proc_smp_link_layer,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,07,"host_startprd_pbus"),
+ EDI_EI_INITIALIZATION::call_host_startprd_pbus,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,08,"host_attnlisten_proc"),
+ EDI_EI_INITIALIZATION::call_host_attnlisten_proc,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+ },
+ {
+ ISTEPNAME(09,09,"proc_fab_iovalid"),
+ EDI_EI_INITIALIZATION::call_proc_fab_iovalid,
+ { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
+ },
};
const DepModInfo g_istep09Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libactivate_powerbus.so),
- DEP_LIB(libdram_initialization.so),
+ DEP_LIB(libedi_ei_initialization.so),
DEP_LIB(libsbe.so),
- DEP_LIB(libbuild_winkle_images.so),
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep10list.H b/src/include/usr/isteps/istep10list.H
index 50f3efcf1..155c924b5 100644
--- a/src/include/usr/isteps/istep10list.H
+++ b/src/include/usr/isteps/istep10list.H
@@ -30,40 +30,10 @@
* @file istep10list.H
*
* Step 10 Hostboot SBE Centaur Init
- * IPL FLow Doc v1.28 (12/03/12)
+ * IPL FLow Doc v0.60 (06/02/15)
*
- * 10.1 host_prd_hwreconfig
- * : Hook for prd to handle reconfig
- * 10.2 cen_sbe_tp_chiplet_init1
- * : TP Chiplet init
- * 10.3 cen_sbe_pll_initf
- * : Program Nest PLL
- * 10.4 cen_sbe_pll_setup
- * : Setup Nest PLL
- * 10.5 cen_sbe_tp_chiplet_init2
- * : Cen TP Chiplet init 2
- * 10.6 cen_sbe_tp_arrayinit
- * : Cen TP Chiplet array init
- * 10.7 cen_sbe_tp_chiplet_init3
- * : Cen TP Chiplet Start clocks
- * 10.8 cen_sbe_chiplet_init
- * : Cen Chiplet Init
- * 10.9 cen_sbe_arrayinit
- * : Chiplet arrayinit
- * 10.10 cen_sbe_dts_init
- * : Cen DTS init
- * 10.11 cen_sbe_initf
- * : Cen Scan overrides
- * 10.12 cen_sbe_do_manual_inits
- * : Manual Cen Scans
- * 10.13 cen_sbe_nest_startclocks
- * : Start Cen Nest
- * 10.14 cen_sbe_scominits
- * : Perform any Cen scom inits
-
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
- *
*/
#include <initservice/initsvcstructs.H>
@@ -86,18 +56,6 @@ const TaskInfo g_istep10[] = {
const DepModInfo g_istep10Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libsbe_centaur_init.so),
- DEP_LIB(libfapiporeve.so),
- DEP_LIB(libporeve.so),
- DEP_LIB(libbuild_winkle_images.so),
- DEP_LIB(libsbe.so),
- DEP_LIB(libproc_hwreconfig.so),
- DEP_LIB(libslave_sbe.so),
-#ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS
- DEP_LIB(libocc.so),
-#endif
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep11list.H b/src/include/usr/isteps/istep11list.H
index b92df8018..df30a3758 100644
--- a/src/include/usr/isteps/istep11list.H
+++ b/src/include/usr/isteps/istep11list.H
@@ -26,35 +26,9 @@
#define __ISTEPS_ISTEP11LIST_H
/**
- * list of functions called for DMI Training - ISTEP 11 according to Dean's
- * IPL Flow Doc v1.35 (04/11/13)
+ * list of functions called for ISTEP 11 according to Dean's
+ * IPL Flow Doc v0.60 (06/02/15)
*
- * 11.1 mss_getecid
- * : Read out ECID orff all Centaurs
- * 11.2 dmi_attr_update
- * :DMI ATTR update
- * 11.3 proc_dmi_scominit
- * : DMI Scom setup on P8 MCS
- * 11.4 dmi_scominit
- * : Scom setup on centaur
- * 11.5 dmi_erepair
- * : Restore EDI Bus eRepair data
- * 11.6 dmi_io_dccal
- * : Calibrate DMI interfaces
- * 11.7 dmi_pre_trainadv
- * : Advanced pre DMI training
- * 11.8 dmi_io_run_training
- * : Run training on MC buses
- * 11.9 dmi_post_trainadv
- * : Advanced post DMI training
- * 11.10 proc_cen_framelock
- * : Initialize EDI Frame
- * 11.11 host_startprd_dmi
- * : Load prd for DMI domain
- * 11.12 host_attnlisten_cen
- * : Start listening for attentions
- * 11.13 cen_set_inband_addr
- * : Set the Inband base addresses
*/
/**
@@ -86,13 +60,6 @@ const TaskInfo g_istep11[] = {
const DepModInfo g_istep11Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libdmi_training.so),
- DEP_LIB(libedi_ei_initialization.so),
- DEP_LIB(libnest_chiplets.so),
- DEP_LIB(libsecure_boot.so),
- DEP_LIB(libslave_sbe.so),
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep12list.H b/src/include/usr/isteps/istep12list.H
index 9d2c213f4..111a16b58 100644
--- a/src/include/usr/isteps/istep12list.H
+++ b/src/include/usr/isteps/istep12list.H
@@ -29,23 +29,8 @@
/**
* @file istep12list.H
*
- * IStep 12 Step 12 MC Config
- * IPL FLow Doc v1.35 (04/11/13)
- *
- * 12.1 host_collect_dimm_spd
- * : Collect Master dimm SPD
- * 12.2 mss_volt
- * : Calc dimm voltage
- * 12.3 mss_freq
- * : Calc dimm frequency
- * 12.4 mss_eff_config
- * : Determine effective config
- * 12.5 mss_attr_update
- * : MSS ATTR update
-*
-* *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-03-01:1032
- * *****************************************************************
+ * IStep 12 Step 12 DMI Training
+ * IPL FLow Doc v0.60 (06/02/15)
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -69,40 +54,11 @@ const TaskInfo g_istep12[] = {
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
-// To reduce extended image size for VPO
-#ifndef CONFIG_VPO_COMPILE
- {
- ISTEPNAME(12,01,"host_collect_dimm_spd"),
- MC_CONFIG::call_host_collect_dimm_spd,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
- },
- {
- ISTEPNAME(12,02,"mss_volt"),
- MC_CONFIG::call_mss_volt,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
- },
- {
- ISTEPNAME(12,03,"mss_freq"),
- MC_CONFIG::call_mss_freq,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
- },
- {
- ISTEPNAME(12,04,"mss_eff_config"),
- MC_CONFIG::call_mss_eff_config,
- { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
- },
-#endif
};
const DepModInfo g_istep12Dependancies = {
{
-// To reduce extended image size for VPO
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libmc_config.so),
-#endif
- DEP_LIB(libsbe.so),
- DEP_LIB(libbuild_winkle_images.so),
NULL
}
};
diff --git a/src/include/usr/isteps/istep13list.H b/src/include/usr/isteps/istep13list.H
index 73ea3483b..b8169edcc 100644
--- a/src/include/usr/isteps/istep13list.H
+++ b/src/include/usr/isteps/istep13list.H
@@ -30,36 +30,8 @@
/**
* @file istep13list.H
*
- * IStep 13 Step 13 DRAM Training
- * IPL FLow Doc v1.37 (08/13/13)
- *
- * 13.1 host_disable_vddr
- * : Disable VDDR on CanContinue loops
- * 13.2 mem_pll_initf
- * : PLL Initfile for MBAs
- * 13.3 mem_pll_setup
- * : Setup PLL for MBAs
- * 13.4 mem_startclocks
- * : Start clocks on MBAs
- * 13.5 host_enable_vddr
- * : Enable the VDDR3 Voltage Rail
- * 13.6 mss_scominit
- * : Perform scom inits to MC and PHY
- * 13.7 mss_ddr_phy_reset
- * : Soft reset of DDR PHY macros
- * 13.8 mss_draminit
- * : Dram initialize
- * 13.9 mss_draminit_training
- * : Dram training
- * 13.10 mss_draminit_trainadv
- * : Advanced dram training
- * 13.11 mss_draminit_mc
- * : Hand off control to MC
- * 13.12 mss_dimm_power_test
- *
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-02-27:2142
- * *****************************************************************
+ * IStep 13 Step 13
+ * IPL FLow Doc v0.60 (06/02/15)
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -85,11 +57,6 @@ const TaskInfo g_istep13[] = {
const DepModInfo g_istep13Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libdram_training.so),
- DEP_LIB(libdram_initialization.so),
- DEP_LIB(libmc_config.so),
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep14list.H b/src/include/usr/isteps/istep14list.H
index db0acb600..b21d9c728 100644
--- a/src/include/usr/isteps/istep14list.H
+++ b/src/include/usr/isteps/istep14list.H
@@ -28,28 +28,10 @@
/**
* @file istep14list.H
*
- * IStep 14 Dram Initialization
- * IPL FLow Doc v1.41 (11/08/13)
- *
- * 14.1 host_startprd_dram
- * : Load prd for DRAM domain
- * 14.2 mss_extent_setup
- * : MSS Extent Setup
- * 14.3 mss_memdiag
- * : Mainstore Pattern Testing
- * 14.4 mss_thermal_init
- * : Initialize the thermal sensor
- * 14.5 proc_pcie_config
- * : Configure the PHBs
- * 14.6 mss_power_cleanup
- * : Clean up any MCS/Centaurs
+ * IStep 14
+ * IPL FLow Doc v0.60 (06/02/15)
* 14.7 proc_setup_bars
* : Setup Memory BARs
- * 14.8 proc_exit_cache_contained
- * : Allow execution from memory
- * 14.9 host_mpipl_service
- * : Perform MPIPL tasks
- *
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -71,28 +53,15 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
-
-// Reduce ext img for VPO
-#ifndef CONFIG_VPO_COMPILE
{
ISTEPNAME(14,07,"proc_setup_bars"),
DRAM_INITIALIZATION::call_proc_setup_bars,
{ START_FN, EXT_IMAGE, NORMAL_IPL_OP, true }
},
-#endif
};
const DepModInfo g_istep14Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libdram_initialization.so),
- DEP_LIB(libdram_training.so),
- DEP_LIB(libdump.so),
- DEP_LIB(libnest_chiplets.so),
-#ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS
- DEP_LIB(libocc.so),
-#endif
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H
index 659e57620..120828eda 100644
--- a/src/include/usr/isteps/istep15list.H
+++ b/src/include/usr/isteps/istep15list.H
@@ -29,15 +29,10 @@
* @file istep15list.H
*
* IStep 15 Build Winkle Images
- * IPL FLow Doc v1.28 (12/03/12)
+ * IPL FLow Doc v0.60 (06/02/15)
*
* 15.1 host_build_winkle
* : Build runtime winkle images
- * 15.2 proc_set_pore_bar
- * : Tell SLW Eng where winkle image is
- * 15.3 proc_poreslw_init
- * : Initialize the PORE-SLW engine
- *
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -60,25 +55,20 @@ namespace INITSERVICE
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
-// To reduce extended image size for VPO, don't run these isteps in VPO
-#ifndef CONFIG_VPO_COMPILE
{
ISTEPNAME(15,01,"host_build_winkle"),
BUILD_WINKLE_IMAGES::call_host_build_winkle,
{ START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, true,
SEC_PROCESSOR_INIT }
},
-#endif
};
const DepModInfo g_istep15Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
DEP_LIB(libocc.so),
DEP_LIB(libbuild_winkle_images.so),
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep16list.H b/src/include/usr/isteps/istep16list.H
index 9fab5aa6c..1dc407687 100644
--- a/src/include/usr/isteps/istep16list.H
+++ b/src/include/usr/isteps/istep16list.H
@@ -30,20 +30,10 @@
* @file istep16list.H
*
* IStep 16 Core Activate
- * IPL FLow Doc v1.41 (11/08/13)
+ * IPL FLow Doc v0.60 (06/02/15)
*
* 16.1 host_activate_master
* : Activate master core
- * 16.2 host_activate_slave_cores
- * : Activate slave cores
- * 16.3 mss_scrub
- * : Start background scrub
- * 16.4 host_ipl_complete
- * : Notify FSP drawer ipl complete
- *
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1609
- * *****************************************************************
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
diff --git a/src/include/usr/isteps/istep18list.H b/src/include/usr/isteps/istep18list.H
index b96fcd36f..b9112ce29 100644
--- a/src/include/usr/isteps/istep18list.H
+++ b/src/include/usr/isteps/istep18list.H
@@ -29,16 +29,7 @@
* @file istep18list.H
*
* IStep 18 Establish System SMP
- * IPL FLow Doc v1.39 (12/09/13)
- *
- * 18.13 proc_tod_setup
- * : Create TOD topology
- * 18.14 proc_tod_init
- * : Start TOD to running state
- *
- * *****************************************************************
- * THIS FILE WAS PARTIALLY GENERATED ON 2012-04-11:1611
- * *****************************************************************
+ * IPL FLow Doc v0.60 (06/02/15)
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -120,9 +111,6 @@ namespace INITSERVICE
const DepModInfo g_istep18Dependancies = {
{
-#ifndef CONFIG_VPO_COMPILE
- DEP_LIB(libtod_init.so),
-#endif
NULL
}
};
diff --git a/src/include/usr/isteps/istep21list.H b/src/include/usr/isteps/istep21list.H
index d69184b44..5215368b1 100644
--- a/src/include/usr/isteps/istep21list.H
+++ b/src/include/usr/isteps/istep21list.H
@@ -31,7 +31,7 @@
* @file istep21list.H
*
* IStep 21 Start Payload
- * IPL FLow Doc v1.18 (10/18/12)
+ * IPL FLow Doc v0.60 (06/02/15)
*
* 21.1 host_runtime_setup
* : Start Payload
@@ -40,9 +40,6 @@
* 21.3 host_start_payload
* : Start Payload
*
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1613
- * *****************************************************************
*
* Please see the note in initsvcstructs.H for description of
* the ISTEPNAME macro.
@@ -64,9 +61,6 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
-
-// To reduce extended image size for VPO, don't run these isteps in VPO
-#ifndef CONFIG_VPO_COMPILE
{
ISTEPNAME(21,01,"host_runtime_setup"),
START_PAYLOAD::call_host_runtime_setup,
@@ -82,7 +76,6 @@ namespace INITSERVICE
START_PAYLOAD::call_host_start_payload,
{ START_FN, EXT_IMAGE, MPIPL_OP | NORMAL_IPL_OP, false }
},
-#endif
};
diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C
index cdc4fbc72..491d35db7 100644
--- a/src/usr/hwas/hostbootIstep.C
+++ b/src/usr/hwas/hostbootIstep.C
@@ -364,6 +364,53 @@ void* host_gard( void *io_pArgs )
}
//******************************************************************************
+// call_p9_revert_sbe_mcs_setup function
+//******************************************************************************
+void* call_p9_revert_sbe_mcs_setup(void *io_pArgs)
+{
+ errlHndl_t l_errl = NULL;
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_p9_revert_sbe_mcs_setup entry" );
+
+ TARGETING::Target* l_pProcTarget = NULL;
+ TARGETING::targetService().masterProcChipTargetHandle(l_pProcTarget);
+
+ fapi::Target l_fapiProcTarget(fapi::TARGET_TYPE_PROC_CHIP, l_pProcTarget);
+
+ // Invoke the HWP
+ // FAPI_INVOKE_HWP(l_errl, p9_revert_sbe_mcs_setup, l_fapiProcTarget);
+
+ if (l_errl)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR : failed executing p9_revert_sbe_mcs_setup "
+ "returning error");
+
+ // capture the target data in the elog
+ ERRORLOG::ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl );
+
+ // Create IStep error log and cross reference error that occurred
+ l_stepError.addErrorDetails( l_errl );
+
+ errlCommit( l_errl, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : p9_revert_sbe_mcs_setup completed ok");
+ }
+
+ TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_p9_revert_sbe_mcs_setup exit");
+
+ // end task, returning any errorlogs to IStepDisp
+ return l_stepError.getErrorHandle();
+}
+
+
+//******************************************************************************
// host_cancontinue_clear function
//******************************************************************************
void* host_cancontinue_clear( void *io_pArgs )
diff --git a/src/usr/hwas/makefile b/src/usr/hwas/makefile
index e8e5aae67..46ad8e32e 100644
--- a/src/usr/hwas/makefile
+++ b/src/usr/hwas/makefile
@@ -5,7 +5,9 @@
#
# OpenPOWER HostBoot Project
#
-# COPYRIGHT International Business Machines Corp. 2011,2014
+# Contributors Listed Below - COPYRIGHT 2011,2015
+# [+] International Business Machines Corp.
+#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
index 98a398a1e..29b4937e8 100644
--- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
+++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C
@@ -29,10 +29,6 @@
* Support file for IStep: edi_ei_initialization
* EDI, EI Initialization
*
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1606
- * *****************************************************************
- *
* HWP_IGNORE_VERSION_CHECK
*
*/
@@ -218,11 +214,11 @@ void* call_fabric_erepair( void *io_pArgs )
// call the io_restore_erepair HWP to restore eRepair
// lanes of endp1
- FAPI_INVOKE_HWP(l_errl,
- io_restore_erepair,
- l_fapi_endp1_target,
- l_endp1_txFaillanes,
- l_endp1_rxFaillanes);
+ //FAPI_INVOKE_HWP(l_errl,
+ // p9_io_restore_erepair,
+ // l_fapi_endp1_target,
+ // l_endp1_txFaillanes,
+ // l_endp1_rxFaillanes);
}
if(l_errl)
@@ -371,7 +367,7 @@ void* call_fabric_io_dccal( void *io_pArgs )
(const_cast<TARGETING::Target*>(l_itr->second)));
// call the HWP with each bus connection
- FAPI_INVOKE_HWP( l_errl, fabric_io_dccal, l_fapi_endp1_target );
+ //FAPI_INVOKE_HWP( l_errl, io_dccal, l_fapi_endp1_target );
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"%s : %cbus connection fabric_io_dccal. Target 0x%.8X",
@@ -463,7 +459,8 @@ void* call_fabric_pre_trainadv( void *io_pArgs )
(const_cast<TARGETING::Target*>(l_itr->second)));
// call the HWP with each bus connection
- FAPI_INVOKE_HWP( l_errl, io_pre_trainadv, l_fapi_endp1_target );
+ //FAPI_INVOKE_HWP( l_errl, p9_io_pre_trainadv,
+ //l_fapi_endp1_target );
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"%s : %cbus connection fabric_pre_trainadv. Target 0x%.8X",
@@ -559,8 +556,8 @@ void* call_fabric_io_run_training( void *io_pArgs )
(const_cast<TARGETING::Target*>(l_itr->second)));
// call the HWP with each bus connection
- FAPI_INVOKE_HWP( l_errl, fabric_io_run_training,
- l_fapi_endp1_target, l_fapi_endp2_target );
+ //FAPI_INVOKE_HWP( l_errl, p9_io_run_training,
+ // l_fapi_endp1_target, l_fapi_endp2_target );
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"%s : %cbus connection io_run_training",
@@ -630,7 +627,8 @@ void* call_fabric_post_trainadv( void *io_pArgs )
(const_cast<TARGETING::Target*>(l_itr->second)));
// call the HWP with each bus connection
- FAPI_INVOKE_HWP( l_errl, io_post_trainadv, l_fapi_endp1_target );
+ //FAPI_INVOKE_HWP( l_errl, p9_io_post_trainadv,
+ //l_fapi_endp1_target );
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"%s : %cbus connection fabric_post_trainadv. Target 0x%.8X",
@@ -680,6 +678,26 @@ void* call_fabric_post_trainadv( void *io_pArgs )
return l_StepError.getErrorHandle();
}
+//
+// Wrapper function to call proc_smp_link_layer
+//
+void* call_proc_smp_link_layer( void *io_pArgs )
+{
+ errlHndl_t l_errl = NULL;
+ IStepError l_StepError;
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_smp_link_layer entry" );
+ //call HWP
+ //FAPI_INVOKE_HWP(l_errl,p9_smp_link_layer);
+ if(l_errl)
+ {
+ l_StepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
+ return l_StepError.getErrorHandle();
+
+}
//
// Wrapper function to call host_startprd_pbus
@@ -894,7 +912,7 @@ void* call_proc_fab_iovalid( void *io_pArgs )
if (!l_errl)
{
- FAPI_INVOKE_HWP( l_errl, proc_fab_iovalid, l_smp, true );
+ //FAPI_INVOKE_HWP( l_errl, p9_fab_iovalid, l_smp, true );
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"%s : proc_fab_iovalid HWP.",
diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H
index b95c04218..00985dbae 100644
--- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H
+++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -31,10 +33,6 @@
* All of the following routines are "named isteps" - they are invoked as
* tasks by the @ref IStepDispatcher.
*
- * *****************************************************************
- * THIS FILE WAS GENERATED ON 2012-04-11:1606
- * *****************************************************************
- *
* HWP_IGNORE_VERSION_CHECK
*
*/
@@ -177,6 +175,18 @@ void* call_fabric_post_trainadv( void *io_pArgs );
/**
+ * @brief proc_smp_link_layer
+ *
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any errlogs to istep
+ *
+ */
+void* call_proc_smp_link_layer( void *io_pArgs );
+
+
+
+/**
* @brief host_startprd_pbus
*
* Load PRD for powerbus domain
diff --git a/src/usr/hwpf/hwp/mc_config/mc_config.C b/src/usr/hwpf/hwp/mc_config/mc_config.C
index d1e0c59f7..f6e8c1028 100644
--- a/src/usr/hwpf/hwp/mc_config/mc_config.C
+++ b/src/usr/hwpf/hwp/mc_config/mc_config.C
@@ -384,6 +384,9 @@ void* call_host_collect_dimm_spd( void *io_pArgs )
const fapi::Target l_fapiMba1Target(TARGET_TYPE_MBA_CHIPLET,
(const_cast<TARGETING::Target*>(l_presMbas[1])));
// call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, p9_mss_attr_cleanup, l_fapiCentaurTarget,
+ // l_fapiMba0Target, l_fapiMba1Target);
+ //Remove when above HWP is working:
FAPI_INVOKE_HWP(l_err, mss_attr_cleanup, l_fapiCentaurTarget,
l_fapiMba0Target, l_fapiMba1Target);
if (l_err)
@@ -725,9 +728,13 @@ void call_mss_volt_hwp (std::vector<TARGETING::ATTR_VMEM_ID_type>& i_VmemList,
}
}
- TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "Calling mss_volt_hwp...");
- FAPI_INVOKE_HWP(l_err, mss_volt_hwp, l_membufFapiTargets);
+ //now have the a list of fapi membufs with just the one VmemId
+ //call the HWP on the list of fapi targets
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "===== mss_volt HWP( vector )" );
+ //FAPI_INVOKE_HWP(l_err, p9_mss_volt, l_membufFapiTargets);
+ //Remove when above HWP is working:
+ FAPI_INVOKE_HWP(l_err, mss_volt, l_membufFapiTargets);
// process return code.
if ( l_err )
@@ -1319,6 +1326,8 @@ void* call_mss_freq( void *io_pArgs )
fapi::Target l_fapi_membuf_target(fapi::TARGET_TYPE_MEMBUF_CHIP,
(const_cast<TARGETING::Target*>(l_membuf_target)) );
+ //FAPI_INVOKE_HWP(l_err, p9_mss_freq, l_fapi_membuf_target);
+ //Remove when above HWP is working:
FAPI_INVOKE_HWP(l_err, mss_freq, l_fapi_membuf_target);
// process return code.
@@ -1413,7 +1422,10 @@ errlHndl_t call_mss_eff_grouping()
l_associated_centaurs.push_back(l_fapi_centaur_target);
}
- FAPI_INVOKE_HWP(l_err, mss_eff_grouping,
+ //FAPI_INVOKE_HWP(l_err, p9_mss_eff_grouping,
+ //l_fapi_cpu_target, l_associated_centaurs);
+ //Remove when above HWP is working
+ FAPI_INVOKE_HWP(l_err,mss_eff_grouping,
l_fapi_cpu_target, l_associated_centaurs);
// process return code.
@@ -1462,7 +1474,9 @@ errlHndl_t call_opt_memmap( bool i_initBase )
l_fapi_procs.push_back(l_fapi_target);
}
- FAPI_INVOKE_HWP(l_err, opt_memmap, l_fapi_procs, i_initBase);
+ //FAPI_INVOKE_HWP(l_err, p9_opt_memmap, l_fapi_procs, i_initBase);
+ //Remove when above HWP is working
+ FAPI_INVOKE_HWP(l_err,opt_memmap, l_fapi_procs,i_initBase);
if ( l_err )
{
@@ -1478,6 +1492,41 @@ errlHndl_t call_opt_memmap( bool i_initBase )
return l_err;
}
+errlHndl_t call_mss_eff_mb_interleave()
+{
+ errlHndl_t l_err = NULL;
+
+ TARGETING::TargetHandleList l_membufTargetList;
+ getAllChips(l_membufTargetList, TYPE_MEMBUF);
+ for (TargetHandleList::const_iterator
+ l_membuf_iter = l_membufTargetList.begin();
+ l_membuf_iter != l_membufTargetList.end();
+ ++l_membuf_iter)
+ {
+ const TARGETING::Target* l_membuf_target = *l_membuf_iter;
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "===== Running mss_eff_mb_interleave HWP on HUID %.8X",
+ TARGETING::get_huid(l_membuf_target));
+ fapi::Target l_membuf_fapi_target(fapi::TARGET_TYPE_MEMBUF_CHIP,
+ (const_cast<TARGETING::Target*>(l_membuf_target)) );
+ FAPI_INVOKE_HWP(l_err, mss_eff_mb_interleave, l_membuf_fapi_target);
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mss_eff_mb_interleave HWP returns error",
+ l_err->reasonCode());
+ }
+ else
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "Successfully ran mss_eff_mb_interleave HWP on HUID %.8X",
+ TARGETING::get_huid(l_membuf_target));
+ }
+ }
+ return l_err;
+}
+
+
//
// Wrapper function to call mss_eff_config
//
@@ -1525,9 +1574,15 @@ void* call_mss_eff_config( void *io_pArgs )
const fapi::Target l_fapi_mba_target(fapi::TARGET_TYPE_MBA_CHIPLET,
(const_cast<TARGETING::Target*>(l_mba_target)));
+ // Call the mss_eff_config_vpd_decode HWP
+ //FAPI_INVOKE_HWP(l_err,p9_mss_eff_config_vpd_decode,
+ //l_fapi_mba_target);
+
// Call the mss_eff_config HWP
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"===== mss_eff_config HWP. MBA HUID %.8X", l_huid);
+ //FAPI_INVOKE_HWP(l_err, p9_mss_eff_config, l_fapi_mba_target);
+ //Remove when above HWP is working:
FAPI_INVOKE_HWP(l_err, mss_eff_config, l_fapi_mba_target);
if (l_err)
@@ -1548,7 +1603,8 @@ void* call_mss_eff_config( void *io_pArgs )
// Call the mss_eff_config_thermal HWP
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"===== mss_eff_config_thermal HWP. MBA HUID %.8X", l_huid);
- FAPI_INVOKE_HWP(l_err, mss_eff_config_thermal, l_fapi_mba_target);
+ //FAPI_INVOKE_HWP(l_err, p9_mss_eff_config_thermal,
+ //l_fapi_mba_target);
if (l_err)
{
@@ -1587,6 +1643,12 @@ void* call_mss_eff_config( void *io_pArgs )
{
// Stack the memory again based on system-wide positions
l_err = call_mss_eff_grouping();
+
+ /*if(!l_err) //Cumulus only
+ {
+ l_err = call_mss_eff_mb_interleave();
+ }*/
+
}
}
}
@@ -1602,35 +1664,11 @@ void* call_mss_eff_config( void *io_pArgs )
// Calling mss_eff_mb_interleave
if (l_StepError.isNull())
{
- TARGETING::TargetHandleList l_membufTargetList;
- getAllChips(l_membufTargetList, TYPE_MEMBUF);
- for (TargetHandleList::const_iterator
- l_membuf_iter = l_membufTargetList.begin();
- l_membuf_iter != l_membufTargetList.end();
- ++l_membuf_iter)
+ l_err = call_mss_eff_mb_interleave();
+ if(l_err)
{
- const TARGETING::Target* l_membuf_target = *l_membuf_iter;
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "===== Running mss_eff_mb_interleave HWP on HUID %.8X",
- TARGETING::get_huid(l_membuf_target));
- fapi::Target l_membuf_fapi_target(fapi::TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_membuf_target)) );
- FAPI_INVOKE_HWP(l_err, mss_eff_mb_interleave, l_membuf_fapi_target);
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mss_eff_mb_interleave HWP returns error",
- l_err->reasonCode());
- ErrlUserDetailsTarget(l_membuf_target).addToLog(l_err);
- l_StepError.addErrorDetails(l_err);
- errlCommit(l_err, HWPF_COMP_ID);
- }
- else
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "Successfully ran mss_eff_mb_interleave HWP on HUID %.8X",
- TARGETING::get_huid(l_membuf_target));
- }
+ l_StepError.addErrorDetails(l_err);
+ errlCommit( l_err, HWPF_COMP_ID );
}
}
@@ -1645,8 +1683,16 @@ void* call_mss_attr_update( void *io_pArgs )
{
IStepError l_StepError;
+ errlHndl_t l_err = NULL;
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update entry");
+ //FAPI_INVOKE_HWP(l_err, p9_mss_attr_update);
+ if(l_err)
+ {
+ l_StepError.addErrorDetails(l_err);
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update exit" );
return l_StepError.getErrorHandle();
diff --git a/src/usr/hwpf/hwp/nest_chiplets/makefile b/src/usr/hwpf/hwp/nest_chiplets/makefile
index 18cf3d680..abc06223a 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/makefile
+++ b/src/usr/hwpf/hwp/nest_chiplets/makefile
@@ -39,10 +39,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include
## NOTE: add a new EXTRAINCDIR when you add a new HWP
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_start_clocks_chiplets
-EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit
-EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup
-EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_slot_power
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/secure_boot
@@ -50,23 +47,15 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/secure_boot
## NOTE: add new object files when you add a new HWP
OBJS += nest_chiplets.o
OBJS += proc_start_clocks_chiplets.o
-OBJS += proc_chiplet_scominit.o
-OBJS += proc_scomoverride_chiplets.o
OBJS += proc_a_x_pci_dmi_pll_initf.o
OBJS += proc_a_x_pci_dmi_pll_setup.o
-OBJS += proc_pcie_scominit.o
-OBJS += proc_abus_scominit.o
-OBJS += proc_xbus_scominit.o
OBJS += proc_a_x_pci_dmi_pll_utils.o
OBJS += proc_pcie_slot_power.o
## NOTE: add a new directory onto the vpaths when you add a new HWP
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_start_clocks_chiplets
-VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit
-VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_a_x_pci_dmi_pll_setup
-VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_slot_power
include ${ROOTPATH}/config.mk
diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
index c69c50a52..b53199fce 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
+++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C
@@ -68,13 +68,8 @@
// #include "nest_chiplets_custom.H"
#include "nest_chiplets.H"
#include "proc_start_clocks_chiplets/proc_start_clocks_chiplets.H"
-#include "proc_chiplet_scominit/proc_chiplet_scominit.H"
-#include "proc_chiplet_scominit/proc_xbus_scominit.H"
-#include "proc_chiplet_scominit/proc_abus_scominit.H"
-#include "proc_scomoverride_chiplets/proc_scomoverride_chiplets.H"
#include "proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_setup.H"
#include "proc_a_x_pci_dmi_pll_setup/proc_a_x_pci_dmi_pll_initf.H"
-#include "proc_pcie_scominit/proc_pcie_scominit.H"
#include "../bus_training/pbusLinkSvc.H"
#include <fapiHwpExecInitFile.H>
#include "proc_pcie_slot_power.H"
@@ -97,16 +92,48 @@ using namespace fapi;
void * call_proc_attr_update( void * io_pArgs )
{
IStepError l_StepError;
+ errlHndl_t l_err = NULL;
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_attr_update entry" );
+ //FAPI_INVOKE_HWP(l_err,p9_attr_update);
+ if(l_err)
+ {
+ l_StepError.addErrorDetails(l_err);
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_attr_update exit" );
return l_StepError.getErrorHandle();
}
+
+//*****************************************************************************
+// wrapper function to call proc_enable_osclite
+//*****************************************************************************
+void* call_proc_enable_osclite(void *io_pArgs)
+{
+ errlHndl_t l_errl = NULL;
+ IStepError l_stepError;
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_enable_osclite" );
+
+ //call p9_enable_osclite
+ //Cumulus only
+ //FAPI_INVOKE_HWP(l_errl,p9_enable_osclite);
+ if(l_errl)
+ {
+ l_stepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_enable_osclite" );
+ return l_stepError.getErrorHandle();
+}
+
//*****************************************************************************
// wrapper function to call proc_a_x_pci_dmi_pll_initf
//*****************************************************************************
@@ -702,7 +729,7 @@ void* call_proc_chiplet_scominit( void *io_pArgs )
"target HUID %.8X", TARGETING::get_huid(l_cpu_target));
// call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, proc_chiplet_scominit, l_fapi_proc_target);
+ //FAPI_INVOKE_HWP(l_err, p9_chiplet_scominit, l_fapi_proc_target);
if (l_err)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : "
@@ -719,6 +746,8 @@ void* call_proc_chiplet_scominit( void *io_pArgs )
// after committing
errlCommit(l_err, HWPF_COMP_ID);
}
+ //call p9_psi_scominit
+ //FAPI_INVOKE_HWP(l_err,p9_psi_scominit);
}
} while (0);
@@ -787,8 +816,8 @@ void* call_proc_xbus_scominit( void *io_pArgs )
TARGET_TYPE_XBUS_ENDPOINT,
(const_cast<TARGETING::Target*>(l_connectedXbusTarget)));
- FAPI_INVOKE_HWP(l_err, proc_xbus_scominit,
- l_thisXbusFapiTarget, l_connectedXbusFapiTarget);
+ //FAPI_INVOKE_HWP(l_err, p9_xbus_scominit,
+ // l_thisXbusFapiTarget, l_connectedXbusFapiTarget);
if (l_err)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
@@ -892,9 +921,9 @@ void* call_proc_abus_scominit( void *io_pArgs )
TARGETING::get_huid(l_thisAbusTarget),
TARGETING::get_huid(l_connectedAbusTarget));
- FAPI_INVOKE_HWP(l_err, proc_abus_scominit,
- l_fapi_this_abus_target,
- l_fapi_connected_abus_target);
+ //FAPI_INVOKE_HWP(l_err, p9_abus_scominit,
+ // l_fapi_this_abus_target,
+ // l_fapi_connected_abus_target);
if (l_err)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
@@ -924,6 +953,56 @@ void* call_proc_abus_scominit( void *io_pArgs )
}
//******************************************************************************
+// wrapper function to call proc_obus_scominit
+//******************************************************************************
+void* call_proc_obus_scominit( void *io_pArgs )
+{
+
+ errlHndl_t l_err = NULL;
+ IStepError l_StepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_obus_scominit entry" );
+ //Call HWP
+ //FAPI_INVOKE_HWP(l_err,p9_obus_scominit);
+ if(l_err)
+ {
+ l_StepError.addErrorDetails(l_err);
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_obus_scominit exit");
+
+ return l_StepError.getErrorHandle();
+}
+
+//******************************************************************************
+// wrapper function to call proc_npu_scominit
+//******************************************************************************
+void* call_proc_npu_scominit( void *io_pArgs )
+{
+
+ errlHndl_t l_err = NULL;
+ IStepError l_StepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_npu_scominit entry" );
+ //Call HWP
+ //FAPI_INVOKE_HWP(l_err,p9_npu_scominit);
+ if(l_err)
+ {
+ l_StepError.addErrorDetails(l_err);
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_npu_scominit exit");
+
+ return l_StepError.getErrorHandle();
+}
+
+//******************************************************************************
// _queryIopsToBifurcateAndPhbsToDisable
//******************************************************************************
@@ -1921,7 +2000,7 @@ void* call_proc_pcie_scominit( void *io_pArgs )
"target HUID %.8X", TARGETING::get_huid(l_proc_target));
// call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_errl, proc_pcie_scominit, l_fapi_proc_target);
+ //FAPI_INVOKE_HWP(l_errl, p9_pcie_scominit, l_fapi_proc_target);
if (l_errl)
{
@@ -1965,7 +2044,7 @@ void* call_proc_scomoverride_chiplets( void *io_pArgs )
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_scomoverride_chiplets entry" );
- FAPI_INVOKE_HWP(l_errl, proc_scomoverride_chiplets);
+ //FAPI_INVOKE_HWP(l_errl, p9_scomoverride_chiplets);
if (l_errl)
{
@@ -1993,5 +2072,29 @@ void* call_proc_scomoverride_chiplets( void *io_pArgs )
return l_StepError.getErrorHandle();
}
+//******************************************************************************
+// wrapper function to call proc_chiplet_enable_ridi
+//******************************************************************************
+void* call_proc_chiplet_enable_ridi( void *io_pArgs )
+{
+
+ errlHndl_t l_err = NULL;
+ IStepError l_StepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_chiplet_enable_ridi entry" );
+ //Call HWP
+ //FAPI_INVOKE_HWP(l_err,p9_chiplet_enable_ridi);
+ if(l_err)
+ {
+ l_StepError.addErrorDetails(l_err);
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_chiplet_enable_ridi");
+
+ return l_StepError.getErrorHandle();
+}
}; // end namespace
diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H
index 01246b53e..75f8b756c 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H
+++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.H
@@ -226,6 +226,16 @@ uint8_t UnsupportedLanesx40[] = {0x4,0x5,0x8,0x9,0xA,0xB,0xC};
void * call_proc_attr_update( void * io_pArgs );
/**
+ * @brief proc_enable_osclite
+ *
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ *
+ */
+void* call_proc_enable_osclite(void *io_pArgs);
+
+/**
* @brief proc_a_x_pci_dmi_pll_initf
*
* PLL init file for A, X, PCIe, DMI
@@ -299,6 +309,28 @@ void* call_proc_xbus_scominit( void *io_pArgs );
void* call_proc_abus_scominit( void *io_pArgs );
/**
+ * @brief proc_obus_scominit
+ *
+ * Apply scom inits to OBUS
+ *
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ */
+void* call_proc_obus_scominit( void *io_pArgs );
+
+/**
+ * @brief proc_npu_scominit
+ *
+ * Apply scom inits to NPU
+ *
+ * param[in.out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ */
+void* call_proc_npu_scominit( void *io_pArgs );
+
+/**
* @brief proc_pcie_scominit
*
* Apply scom inits to PCIe chiplets
@@ -323,6 +355,16 @@ void* call_proc_pcie_scominit( void *io_pArgs );
void* call_proc_scomoverride_chiplets( void *io_pArgs );
/**
+ * @brief proc_chiplet_enable_ridi
+ *
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ *
+ */
+void* call_proc_chiplet_enable_ridi( void *io_pArgs );
+
+/**
* @brief Setup the ATTR_CHIP_REGIONS_TO_ENABLE attribute for input proc.
*
* @param[in] i_procTarget Processor target to customize data for.
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.C b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.C
deleted file mode 100644
index 918758938..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.C
+++ /dev/null
@@ -1,230 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_abus_scominit.C,v 1.6 2014/03/12 18:56:56 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_abus_scominit.C,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_abus_scominit.C
-// *! DESCRIPTION : Invoke ABUS initfile (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-//------------------------------------------------------------------------------
-// Version Date Owner Description
-//------------------------------------------------------------------------------
-// 1.6 03/10/14 jmcgill Add endpoint power up
-// 1.5 11/08/13 jmcgill Updates for RAS review
-// 1.4 02/18/13 thomsen Changed targeting to use Abus_chiplet,
-// chip, connected_Abus_chiplet &
-// connected_chip to match Xbus and DMI
-// target list so they are common
-// 1.3 02/10/13 jmcgill Leverage chiplet level targeting, invoke
-// custom initfile
-// 1.2 01/20/13 jmcgill Add consistency check for A chiplet
-// partial good support
-// 1.1 8/11/12 jmcgill Initial release
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapiHwpExecInitFile.H>
-#include <proc_abus_scominit.H>
-#include <p8_scom_addresses.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-// map ABUS chiplet ID -> associated bus IORESET bit in ABUS SCOM_MODE_PB
-// register
-const uint8_t ABUS_SCOM_MODE_PB_IORESET_BIT[3] = { 2,3,4 };
-
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-// HWP entry point, comments in header
-fapi::ReturnCode proc_abus_scominit(const fapi::Target & i_abus_target,
- const fapi::Target & i_connected_abus_target)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0x0;
-
- std::vector<fapi::Target> targets;
- fapi::Target this_pu_target;
- fapi::Target connected_pu_target;
- uint8_t abus_enable_attr;
- uint8_t abus_pos;
-
- ecmdDataBufferBase data(64);
-
- // mark HWP entry
- FAPI_INF("proc_abus_scominit: Start");
-
- do
- {
- // test target types to confirm correctness before calling initfile(s)
- // to execute
- if ((i_abus_target.getType() == fapi::TARGET_TYPE_ABUS_ENDPOINT) &&
- (i_connected_abus_target.getType() == fapi::TARGET_TYPE_ABUS_ENDPOINT))
- {
- // get parent chip targets
- rc = fapiGetParentChip(i_abus_target, this_pu_target);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiGetParentChip (this target, %s)",
- i_abus_target.toEcmdString());
- break;
- }
-
- rc = fapiGetParentChip(i_connected_abus_target, connected_pu_target);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiGetParentChip (connected target, %s)",
- i_connected_abus_target.toEcmdString());
- break;
- }
-
- // populate targets vector
- targets.push_back(i_abus_target); // chiplet target
- targets.push_back(this_pu_target); // chip target
- targets.push_back(i_connected_abus_target); // connected chiplet target
- targets.push_back(connected_pu_target); // connected chip target
-
- // query ABUS partial good attribute
- rc = FAPI_ATTR_GET(ATTR_PROC_A_ENABLE,
- &this_pu_target,
- abus_enable_attr);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error querying ATTR_PROC_A_ENABLE (%s)",
- this_pu_target.toEcmdString());
- break;
- }
-
- if (abus_enable_attr != fapi::ENUM_ATTR_PROC_A_ENABLE_ENABLE)
- {
- FAPI_ERR("proc_abus_scominit: Partial good attribute error");
- const fapi::Target & TARGET = this_pu_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_ABUS_SCOMINIT_PARTIAL_GOOD_ERR);
- break;
- }
-
- // assert IO reset to power-up bus endpoint logic
- rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS, &i_abus_target, abus_pos);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from FAPI_ATTR_GET (ATTR_CHIP_UNIT_POS) on %s",
- i_abus_target.toEcmdString());
- break;
- }
-
- // read-modify-write, set single reset bit (HW auto-clears)
- // on writeback
- rc = fapiGetScom(i_abus_target, A_ABUS_SCOM_MODE_PB_0x08010C20, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiGetScom (A_ABUS_SCOM_MODE_PB_0x08010C20) on %s",
- i_abus_target.toEcmdString());
- break;
- }
-
- rc_ecmd |= data.setBit(ABUS_SCOM_MODE_PB_IORESET_BIT[abus_pos]);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_abus_scominit: Error 0x%x forming ABUS SCOM Mode PB register data buffer on %s",
- rc_ecmd, i_abus_target.toEcmdString());
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutScom(i_abus_target, A_ABUS_SCOM_MODE_PB_0x08010C20, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiPutScom (A_ABUS_SCOM_MODE_PB_0x08010C20) on %s",
- i_abus_target.toEcmdString());
- break;
- }
-
-
- // Call BASE ABUS SCOMINIT
- FAPI_INF("proc_abus_scominit: fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- ABUS_BASE_IF,
- i_abus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_abus_target.toEcmdString(), connected_pu_target.toEcmdString());
- FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, ABUS_BASE_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- ABUS_BASE_IF,
- i_abus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_abus_target.toEcmdString(), connected_pu_target.toEcmdString());
- break;
- }
-
- // Call CUSTOMIZED ABUS SCOMINIT
- FAPI_INF("proc_abus_scominit: fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- ABUS_CUSTOM_IF,
- i_abus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_abus_target.toEcmdString(), connected_pu_target.toEcmdString());
- FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, ABUS_CUSTOM_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_abus_scominit: Error from fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- ABUS_BASE_IF,
- i_abus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_abus_target.toEcmdString(), connected_pu_target.toEcmdString());
- break;
- }
- }
- // unsupported target type
- else
- {
- FAPI_ERR("proc_abus_scominit: Unsupported target type(s)");
- const fapi::Target & THIS_ABUS_TARGET = i_abus_target;
- const fapi::Target & CONNECTED_ABUS_TARGET = i_connected_abus_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_ABUS_SCOMINIT_INVALID_TARGET);
- break;
- }
- } while (0);
-
- // mark HWP exit
- FAPI_INF("proc_abus_scominit: End");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.H b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.H
deleted file mode 100644
index 1616cf0c0..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.H
+++ /dev/null
@@ -1,91 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_abus_scominit.H,v 1.4 2013/11/09 18:37:40 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_abus_scominit.H,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_abus_scominit.H
-// *! DESCRIPTION : Invoke ABUS initfile (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef PROC_ABUS_SCOMINIT_H_
-#define PROC_ABUS_SCOMINIT_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-const char * const ABUS_BASE_IF = "p8.abus.scom.if";
-const char * const ABUS_CUSTOM_IF = "p8.abus.custom.scom.if";
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_abus_scominit_FP_t)(const fapi::Target & i_abus_target,
- const fapi::Target & i_connected_abus_target);
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-/**
- * @brief HWP that calls the ABUS SCOM initfiles
- *
- * Should be called for all valid/connected ABUS endpoints
- *
- * @param[in] i_abus_target Reference to ABUS chiplet target
- * i_connected_abus_target Reference to connected ABUS chiplet target
- * If TARGET_TYPE_ABUS_ENDPOINT, calls:
- * - p8.abus.scom.initfile
- * - p8.abus.custom.scom.initfile
- *
- * @return ReturnCode
- */
-fapi::ReturnCode proc_abus_scominit(
- const fapi::Target & i_abus_target,
- const fapi::Target & i_connected_abus_target);
-
-
-} // extern "C"
-
-#endif // PROC_ABUS_SCOMINIT_H_
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml
deleted file mode 100644
index 71c0dea71..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<!-- IBM_PROLOG_BEGIN_TAG -->
-<!-- This is an automatically generated prolog. -->
-<!-- -->
-<!-- $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml $ -->
-<!-- -->
-<!-- OpenPOWER HostBoot Project -->
-<!-- -->
-<!-- COPYRIGHT International Business Machines Corp. 2013,2014 -->
-<!-- -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
-<!-- you may not use this file except in compliance with the License. -->
-<!-- You may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. See the License for the specific language governing -->
-<!-- permissions and limitations under the License. -->
-<!-- -->
-<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: proc_abus_scominit_errors.xml,v 1.4 2013/11/09 18:38:44 jmcgill Exp $ -->
-<!-- Error definitions for proc_abus_scominit procedure -->
-<hwpErrors>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_ABUS_SCOMINIT_INVALID_TARGET</rc>
- <ffdc>THIS_ABUS_TARGET</ffdc>
- <ffdc>CONNECTED_ABUS_TARGET</ffdc>
- <description>Invalid target type(s) presented to proc_abus_scominit HWP (expects TARGET_TYPE_ABUS_ENDPOINT).</description>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
- <hwpError>
- <rc>RC_PROC_ABUS_SCOMINIT_PARTIAL_GOOD_ERR</rc>
- <ffdc>TARGET</ffdc>
- <description>Partial good attribute state does not allow for action on chiplet target.</description>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
-</hwpErrors>
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C
deleted file mode 100644
index ef92513d4..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C
+++ /dev/null
@@ -1,633 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_chiplet_scominit.C,v 1.29 2015/08/10 15:15:06 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_chiplet_scominit.C,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_chiplet_scominit.C
-// *! DESCRIPTION : Invoke initfiles for proc_chiplet_scominit istep (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapiHwpExecInitFile.H>
-#include <proc_chiplet_scominit.H>
-#include <p8_scom_addresses.H>
-#include <proc_check_master_sbe_seeprom.H>
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-// HWP entry point, comments in header
-fapi::ReturnCode proc_chiplet_scominit(const fapi::Target & i_target)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0;
-
- fapi::TargetType target_type;
- std::vector<fapi::Target> initfile_targets;
- std::vector<fapi::Target> ex_targets;
- std::vector<fapi::Target> mcs_targets;
- uint8_t nx_enabled;
- uint8_t mcs_pos;
- uint8_t ex_pos;
- uint8_t num_ex_targets;
- uint8_t master_mcs_pos = 0xFF;
- fapi::Target master_mcs;
- uint8_t enable_xbus_resonant_clocking = 0x0;
- uint8_t i2c_slave_address = 0x0;
- uint8_t dual_capp_present = 0x0;
-
- ecmdDataBufferBase data(64);
- ecmdDataBufferBase cfam_data(32);
- ecmdDataBufferBase mask(64);
-
- bool is_master = false;
-
- // mark HWP entry
- FAPI_INF("proc_chiplet_scominit: Start");
-
- do
- {
- rc = proc_check_master_sbe_seeprom(i_target, is_master);
- if (!rc.ok())
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error from proc_check_master_sbe_seeprom");
- break;
- }
-
- // obtain target type to determine which initfile(s) to execute
- target_type = i_target.getType();
-
- // chip level target
- if (target_type == fapi::TARGET_TYPE_PROC_CHIP)
- {
- // execute FBC SCOM initfile
- initfile_targets.push_back(i_target);
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_FBC_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_FBC_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_FBC_IF,
- i_target.toEcmdString());
- break;
- }
-
- // execute PSI SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_PSI_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_PSI_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_PSI_IF,
- i_target.toEcmdString());
- break;
- }
-
- // execute TP bridge SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_TPBRIDGE_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_TPBRIDGE_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_TPBRIDGE_IF,
- i_target.toEcmdString());
- break;
- }
-
- // query NX partial good attribute
- rc = FAPI_ATTR_GET(ATTR_PROC_NX_ENABLE,
- &i_target,
- nx_enabled);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error querying ATTR_PROC_NX_ENABLE");
- break;
- }
-
- // apply NX/AS SCOM initfiles only if partial good attribute is set
- if (nx_enabled == fapi::ENUM_ATTR_PROC_NX_ENABLE_ENABLE)
- {
- // execute NX SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NX_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_NX_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NX_IF,
- i_target.toEcmdString());
- break;
- }
-
- // execute CXA SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_CXA_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_CXA_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_CXA_IF,
- i_target.toEcmdString());
- break;
- }
-
- // configure CXA APC master LCO settings
- rc = fapiGetChildChiplets(i_target,
- fapi::TARGET_TYPE_EX_CHIPLET,
- ex_targets,
- fapi::TARGET_STATE_FUNCTIONAL);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiGetChildChiplets (EX) on %s",
- i_target.toEcmdString());
- break;
- }
-
- // form valid LCO target list
- for (std::vector<fapi::Target>::iterator i = ex_targets.begin();
- i != ex_targets.end();
- i++)
- {
- // determine EX chiplet number
- rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS, &(*i), ex_pos);
-
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from FAPI_ATTR_GET (ATTR_CHIP_UNIT_POS) on %s",
- i->toEcmdString());
- break;
- }
-
- rc_ecmd |= data.setBit(ex_pos-((ex_pos < 8)?(1):(3)));
- }
- if (!rc.ok())
- {
- break;
- }
-
- num_ex_targets = ex_targets.size();
- rc_ecmd |= data.insertFromRight(
- num_ex_targets,
- CAPP_APC_MASTER_LCO_TARGET_MIN_START_BIT,
- (CAPP_APC_MASTER_LCO_TARGET_MIN_END_BIT-
- CAPP_APC_MASTER_LCO_TARGET_MIN_START_BIT+1));
-
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%x setting APC Master LCO Target register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutScom(i_target,
- CAPP_APC_MASTER_LCO_TARGET_0x02013021,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (CAPP_APC_MASTER_LCO_TARGET_0x02013021) on %s",
- i_target.toEcmdString());
- break;
- }
-
- // get dual CAPP presence attribute
- FAPI_DBG("proc_chiplet_scominit: Querying dual CAPP feature attribute");
- rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_DUAL_CAPP_PRESENT,
- &i_target,
- dual_capp_present);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error querying ATTR_CHIP_EC_FEATURE_DUAL_CAPP_PRESENT");
- break;
- }
-
- if (dual_capp_present != 0)
- {
- rc = fapiPutScom(i_target,
- CAPP1_APC_MASTER_LCO_TARGET_0x020131A1,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (CAPP1_APC_MASTER_LCO_TARGET_0x020131A1) on %s",
- i_target.toEcmdString());
- break;
- }
- }
-
- // execute AS SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_AS_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_AS_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_AS_IF,
- i_target.toEcmdString());
- break;
- }
- }
- else
- {
- FAPI_DBG("proc_chiplet_scominit: Skipping execution of %s/%s/%s (partial good)",
- PROC_CHIPLET_SCOMINIT_NX_IF, PROC_CHIPLET_SCOMINIT_CXA_IF, PROC_CHIPLET_SCOMINIT_AS_IF);
- }
-
- // conditionally enable I2C Slave
- rc = FAPI_ATTR_GET(ATTR_I2C_SLAVE_ADDRESS,
- &i_target,
- i2c_slave_address);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error querying ATTR_I2C_SLAVE_ADDRESS on %s",
- i_target.toEcmdString());
- break;
- }
- rc = fapiGetScom(i_target,
- I2C_SLAVE_CONFIG_REG_0x000D0000,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiGetScom error (I2C_SLAVE_CONFIG_REG_0x000D0000) on %s",
- i_target.toEcmdString());
- break;
- }
- if (i2c_slave_address)
- {
- FAPI_DBG("proc_chiplet_scominit: I2C Slave enabled (%s) address = %d",
- i_target.toEcmdString(),i2c_slave_address);
-
- //set I2C address
- rc_ecmd |= data.insert(i2c_slave_address,0,7);
-
- // disable error state. when this is enabled and there
- // is an error from I2CS it locks up the I2CS and no
- // more operations are allowed unless cleared
- // through FSI. Not good for a FSPless system.
- rc_ecmd |= data.clearBit(23);
-
- // enable I2C interface
- rc_ecmd |= data.setBit(21);
-
- }
- else
- {
- FAPI_DBG("proc_chiplet_scominit: I2C Slave disabled (%s)",
- i_target.toEcmdString());
-
- // disable I2C interface when attribute = 0x0
- rc_ecmd |= data.clearBit(21);
- }
-
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%x setting I2C Slave register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutScom(i_target,
- I2C_SLAVE_CONFIG_REG_0x000D0000,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (I2C_SLAVE_CONFIG_REG_0x000D0000) on %s",
- i_target.toEcmdString());
- break;
- }
-
- // conditionally enable resonant clocking for XBUS
- rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_XBUS_RESONANT_CLK_VALID,
- &i_target,
- enable_xbus_resonant_clocking);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error querying ATTR_CHIP_EC_FEATURE_XBUS_RESONANT_CLK_VALID on %s",
- i_target.toEcmdString());
- break;
- }
-
- if (enable_xbus_resonant_clocking)
- {
- FAPI_DBG("proc_chiplet_scominit: Enabling XBUS resonant clocking");
- rc = fapiGetScom(i_target,
- MBOX_FSIGP6_0x00050015,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiGetScom error (MBOX_FSIGP6_0x00050015) on %s",
- i_target.toEcmdString());
- break;
- }
-
- rc_ecmd |= data.insertFromRight(
- XBUS_RESONANT_CLOCK_CONFIG,
- MBOX_FSIGP6_XBUS_RESONANT_CLOCK_CONFIG_START_BIT,
- (MBOX_FSIGP6_XBUS_RESONANT_CLOCK_CONFIG_END_BIT-
- MBOX_FSIGP6_XBUS_RESONANT_CLOCK_CONFIG_START_BIT+1));
-
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%x setting FSI GP6 register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- if (is_master)
- {
- rc = fapiPutScom(i_target,
- MBOX_FSIGP6_0x00050015,
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (MBOX_FSIGP6_0x00050015) on %s",
- i_target.toEcmdString());
- break;
- }
- }
- else
- {
- cfam_data.insert(data, 0, 32, 0);
- rc = fapiPutCfamRegister(i_target, CFAM_FSI_GP6_0x00002815, cfam_data);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: fapiPutCfamRegister error (CFAM_FSI_GP8_0x00001017)");
- break;
- }
- }
- }
-
- // execute A/X/PCI/DMI FIR init SCOM initfile
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_A_X_PCI_DMI_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_A_X_PCI_DMI_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_A_X_PCI_DMI_IF,
- i_target.toEcmdString());
- break;
- }
-
- // execute NV scominit file
- uint8_t exist_NV = 0x00;
- rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_NV_PRESENT, &i_target, exist_NV);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error getting attribute value ATTR_CHIP_EC_FEATURE_NV_PRESENT");
- break;
- }
- if (exist_NV)
- {
- // mask NPU FIR bit 27
- rc_ecmd = data.flushTo0();
- rc_ecmd = data.setBit(NPU_FIR_NTL_DL2TL_PARITY_ERR_BIT);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%Xforming NPU FIR mask data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
- rc = fapiPutScom(i_target, NPU_FIR_MASK_OR_0x08013D85, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (NPU_FIR_MASK_OR_0x08013D85) on %s",
- i_target.toEcmdString());
- break;
- }
-
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NPU_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_NPU_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NPU_IF,
- i_target.toEcmdString());
- break;
- }
-
- // cleanup FIR bit (NPU FIR bit 27) caused by NDL/NTL parity error
- rc_ecmd = data.invert();
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%Xforming NPU FIR cleanup data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
- rc = fapiPutScom(i_target, NPU_FIR_AND_0x08013D81, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (NPU_FIR_AND_0x08013D81) on %s",
- i_target.toEcmdString());
- break;
- }
- rc = fapiPutScom(i_target, NPU_FIR_MASK_AND_0x08013D84, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (NPU_FIR_MASK_AND_0x08013D84) on %s",
- i_target.toEcmdString());
- break;
- }
- }
- else
- {
- FAPI_INF("proc_chiplet_scominit: NV link logic not present, scom initfile processing skipped");
- }
-
- // determine set of functional MCS chiplets
- rc = fapiGetChildChiplets(i_target,
- fapi::TARGET_TYPE_MCS_CHIPLET,
- mcs_targets,
- fapi::TARGET_STATE_FUNCTIONAL);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiGetChildChiplets (MCS) on %s",
- i_target.toEcmdString());
- break;
- }
-
- // apply MCS SCOM initfile only for functional chiplets
- for (std::vector<fapi::Target>::iterator i = mcs_targets.begin();
- (i != mcs_targets.end()) && rc.ok();
- i++)
- {
- // execute MCS SCOM initfile
- initfile_targets.clear();
- initfile_targets.push_back(*i);
- initfile_targets.push_back(i_target);
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_MCS_IF, i->toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_MCS_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_MCS_IF,
- i->toEcmdString());
- break;
- }
-
- // determine MCS position
- rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS, &(*i), mcs_pos);
-
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from FAPI_ATTR_GET (ATTR_CHIP_UNIT_POS) on %s",
- i->toEcmdString());
- break;
- }
-
- if (mcs_pos < master_mcs_pos)
- {
- fapi::Target cen_target_unused;
- rc = fapiGetOtherSideOfMemChannel(*i,
- cen_target_unused,
- fapi::TARGET_STATE_FUNCTIONAL);
- // use return code only to indicate presence of connected Centaur,
- // do not propogate/emit error if not connected
- if (rc.ok())
- {
- FAPI_DBG("Updating master_mcs_pos to %d", mcs_pos);
- FAPI_DBG(" Target: %s", cen_target_unused.toEcmdString());
- master_mcs = *i;
- master_mcs_pos = mcs_pos;
- }
- else
- {
- rc = fapi::FAPI_RC_SUCCESS;
- }
- }
-
- }
- if (!rc.ok())
- {
- break;
- }
-
- if (master_mcs.getType() == fapi::TARGET_TYPE_MCS_CHIPLET)
- {
- // set MCMODE0Q_ENABLE_CENTAUR_SYNC on first target only
- // (this bit is required to be set on at most one MCS/chip)
- rc_ecmd |= data.flushTo0();
- rc_ecmd |= data.setBit(MCSMODE0_EN_CENTAUR_SYNC_BIT);
- rc_ecmd |= mask.setBit(MCSMODE0_EN_CENTAUR_SYNC_BIT);
-
- // check buffer manipulation return codes
- if (rc_ecmd)
- {
- FAPI_ERR("proc_chiplet_scominit: Error 0x%X setting up MCSMODE0 data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write register with updated content
- rc = fapiPutScomUnderMask(master_mcs,
- MCS_MCSMODE0_0x02011807,
- data,
- mask);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: fapiPutScomUnderMask error (MCS_MCSMODE0_0x02011807) on %s",
- master_mcs.toEcmdString());
- break;
- }
-
- }
- }
- // unsupported target type
- else
- {
- FAPI_ERR("proc_chiplet_scominit: Unsupported target type");
- const fapi::Target & TARGET = i_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_CHIPLET_SCOMINIT_INVALID_TARGET);
- break;
- }
- } while(0);
-
- // mark HWP exit
- FAPI_INF("proc_chiplet_scominit: End");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H
deleted file mode 100644
index 8548fb7c2..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H
+++ /dev/null
@@ -1,119 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_chiplet_scominit.H,v 1.17 2015/03/17 18:54:30 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_chiplet_scominit.H,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_chiplet_scominit.H
-// *! DESCRIPTION : Invoke initfiles for proc_chiplet_scominit istep (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef PROC_CHIPLET_SCOMINIT_H_
-#define PROC_CHIPLET_SCOMINIT_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-const char * const PROC_CHIPLET_SCOMINIT_FBC_IF = "p8.fbc.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_PSI_IF = "p8.psi.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_TPBRIDGE_IF = "p8.tpbridge.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_NX_IF = "p8.nx.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_AS_IF = "p8.as.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_CXA_IF = "p8.cxa.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_A_X_PCI_DMI_IF = "p8.a_x_pci_dmi_fir.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_NPU_IF = "p8.npu.scom.if";
-const char * const PROC_CHIPLET_SCOMINIT_MCS_IF = "p8.mcs.scom.if";
-
-
-// FSI GP6 Register field/bit definitions
-const uint32_t MBOX_FSIGP6_XBUS_RESONANT_CLOCK_CONFIG_START_BIT = 0;
-const uint32_t MBOX_FSIGP6_XBUS_RESONANT_CLOCK_CONFIG_END_BIT = 15;
-
-const uint16_t XBUS_RESONANT_CLOCK_CONFIG = 0xF180;
-
-// MCS Mode0 Register field/bit definitions
-const uint32_t MCSMODE0_EN_CENTAUR_SYNC_BIT = 61;
-
-// CAPP APC Master LCO Target Register field/bit definitions
-const uint32_t CAPP_APC_MASTER_LCO_TARGET_MIN_START_BIT = 13;
-const uint32_t CAPP_APC_MASTER_LCO_TARGET_MIN_END_BIT = 15;
-
-// NPU FIR Register field/bit definitions
-const uint32_t NPU_FIR_NTL_DL2TL_PARITY_ERR_BIT = 27;
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_chiplet_scominit_FP_t)(const fapi::Target & i_target);
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-/**
- * @brief HWP which invokes initfiles for proc_chiplet_scominit istep
- *
- * Should be called with all functional proc chips. It invokes initfiles
- * on chiplets.
- *
- * @param[in] i_target Reference to target
- * If TARGET_TYPE_PROC_CHIP, calls:
- * - p8.fbc.scom.initfile
- * - p8.psi.scom.initfile
- * - p8.tpbridge.scom.initfile
- * - p8.nx.scom.initfile
- * - p8.cxa.scom.initfile
- * - p8.a_x_pci_dmi_fir.scom.initfile
- * - p8.as.scom.initfile
- * - p8.mcs.scom.initfile for each functional MCS chiplet
- *
- * @return ReturnCode
- */
-fapi::ReturnCode proc_chiplet_scominit(const fapi::Target & i_target);
-
-
-} // extern "C"
-
-#endif // PROC_CHIPLET_SCOMINIT_H_
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml
deleted file mode 100644
index 26df32962..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!-- IBM_PROLOG_BEGIN_TAG -->
-<!-- This is an automatically generated prolog. -->
-<!-- -->
-<!-- $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml $ -->
-<!-- -->
-<!-- OpenPOWER HostBoot Project -->
-<!-- -->
-<!-- COPYRIGHT International Business Machines Corp. 2012,2014 -->
-<!-- -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
-<!-- you may not use this file except in compliance with the License. -->
-<!-- You may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. See the License for the specific language governing -->
-<!-- permissions and limitations under the License. -->
-<!-- -->
-<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: proc_chiplet_scominit_errors.xml,v 1.3 2013/10/28 02:10:52 jmcgill Exp $ -->
-<!-- Error definitions for proc_chiplet_scominit procedure -->
-<hwpErrors>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_CHIPLET_SCOMINIT_INVALID_TARGET</rc>
- <ffdc>TARGET</ffdc>
- <description>Invalid target type presented to proc_chiplet_scominit HWP (expects TARGET_TYPE_PROC_CHIP).</description>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
-</hwpErrors>
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.C b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.C
deleted file mode 100644
index 44e28600b..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.C
+++ /dev/null
@@ -1,218 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_xbus_scominit.C,v 1.6 2014/03/12 18:56:56 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_xbus_scominit.C,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_xbus_scominit.C
-// *! DESCRIPTION : Invoke XBUS initfile (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-//------------------------------------------------------------------------------
-// Version Date Owner Description
-//------------------------------------------------------------------------------
-// 1.6 03/10/14 jmcgill Add endpoint power up
-// 1.5 11/08/13 jmcgill Updates for RAS review
-// 1.4 02/06/13 thomsen Changed order of targets expected by
-// initfile
-// 1.3 01/31/13 thomsen Added separate calls to base &
-// customized scominit files. Removed
-// separate calls to SIM vs. HW scominit
-// files
-// 1.2 01/09/13 thomsen Added separate calls to SIM vs. HW
-// scominit files
-// Added parent chip and connected targets
-// to vector of passed targets. This is to
-// match scominit file updates.
-// Added commented-out call to OVERRIDE
-// initfile for system/bus/lane specific
-// inits
-// 1.1 8/11/12 jmcgill Initial release
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapiHwpExecInitFile.H>
-#include <proc_xbus_scominit.H>
-#include <p8_scom_addresses.H>
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-// HWP entry point, comments in header
-fapi::ReturnCode proc_xbus_scominit(const fapi::Target & i_xbus_target,
- const fapi::Target & i_connected_xbus_target)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0x0;
-
- std::vector<fapi::Target> targets;
- fapi::Target this_pu_target;
- fapi::Target connected_pu_target;
- uint8_t xbus_enable_attr;
-
- ecmdDataBufferBase data(64);
-
- // mark HWP entry
- FAPI_INF("proc_xbus_scominit: Start");
-
- do
- {
- // test target types to confirm correctness before calling initfile(s)
- // to execute
- if ((i_xbus_target.getType() == fapi::TARGET_TYPE_XBUS_ENDPOINT) &&
- (i_connected_xbus_target.getType() == fapi::TARGET_TYPE_XBUS_ENDPOINT))
- {
- // get parent chip targets
- rc = fapiGetParentChip(i_xbus_target, this_pu_target);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiGetParentChip (this target, %s)",
- i_xbus_target.toEcmdString());
- break;
- }
-
- rc = fapiGetParentChip(i_connected_xbus_target, connected_pu_target);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiGetParentChip (connected target, %s)",
- i_connected_xbus_target.toEcmdString());
- break;
- }
-
- // populate targets vector
- targets.push_back(i_xbus_target); // chiplet target
- targets.push_back(this_pu_target); // chip target
- targets.push_back(i_connected_xbus_target); // connected chiplet target
- targets.push_back(connected_pu_target); // connected chip target
-
- // query XBUS partial good attribute
- rc = FAPI_ATTR_GET(ATTR_PROC_X_ENABLE,
- &this_pu_target,
- xbus_enable_attr);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error querying ATTR_PROC_X_ENABLE (%s)",
- this_pu_target.toEcmdString());
- break;
- }
-
- if (xbus_enable_attr != fapi::ENUM_ATTR_PROC_X_ENABLE_ENABLE)
- {
- FAPI_ERR("proc_xbus_scominit: Partial good attribute error");
- const fapi::Target & TARGET = this_pu_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_XBUS_SCOMINIT_PARTIAL_GOOD_ERR);
- break;
- }
-
- // assert IO reset to power-up bus endpoint logic
- // read-modify-write, set single reset bit (HW auto-clears)
- // on writeback
- rc = fapiGetScom(i_xbus_target, X_XBUS_SCOM_MODE_PB_0x04011020, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiGetScom (X_XBUS_SCOM_MODE_PB_0x04011020) on %s",
- i_xbus_target.toEcmdString());
- break;
- }
-
- rc_ecmd |= data.setBit(2,5);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_xbus_scominit: Error 0x%x forming XBUS SCOM Mode PB register data buffer on %s",
- rc_ecmd, i_xbus_target.toEcmdString());
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutScom(i_xbus_target, X_XBUS_SCOM_MODE_PB_0x04011020, data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiPutScom (X_XBUS_SCOM_MODE_PB_0x04011020) on %s",
- i_xbus_target.toEcmdString());
- break;
- }
-
-
- // Call BASE XBUS SCOMINIT
- FAPI_INF("proc_xbus_scominit: fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- XBUS_BASE_IF,
- i_xbus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_xbus_target.toEcmdString(), connected_pu_target.toEcmdString());
- FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, XBUS_BASE_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- XBUS_BASE_IF,
- i_xbus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_xbus_target.toEcmdString(), connected_pu_target.toEcmdString());
- break;
- }
-
- // Call CUSTOMIZED XBUS SCOMINIT
- FAPI_INF("proc_xbus_scominit: fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- XBUS_CUSTOM_IF,
- i_xbus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_xbus_target.toEcmdString(), connected_pu_target.toEcmdString());
- FAPI_EXEC_HWP(rc, fapiHwpExecInitFile, targets, XBUS_CUSTOM_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_xbus_scominit: Error from fapiHwpExecInitfile executing %s on %s, %s, %s, %s",
- XBUS_BASE_IF,
- i_xbus_target.toEcmdString(), this_pu_target.toEcmdString(),
- i_connected_xbus_target.toEcmdString(), connected_pu_target.toEcmdString());
- break;
- }
- }
- // unsupported target type
- else
- {
- FAPI_ERR("proc_xbus_scominit: Unsupported target type(s)");
- const fapi::Target & THIS_XBUS_TARGET = i_xbus_target;
- const fapi::Target & CONNECTED_XBUS_TARGET = i_connected_xbus_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_XBUS_SCOMINIT_INVALID_TARGET);
- break;
- }
- } while (0);
-
- // mark HWP exit
- FAPI_INF("proc_xbus_scominit: End");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.H b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.H
deleted file mode 100644
index 328f1b0be..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.H
+++ /dev/null
@@ -1,91 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_xbus_scominit.H,v 1.3 2013/11/09 18:37:40 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_xbus_scominit.H,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_xbus_scominit.H
-// *! DESCRIPTION : Invoke XBUS initfile (FAPI)
-// *!
-// *! OWNER NAME : Mike Jones Email: mjjones@us.ibm.com
-// *! BACKUP NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef PROC_XBUS_SCOMINIT_H_
-#define PROC_XBUS_SCOMINIT_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-const char * const XBUS_BASE_IF = "p8.xbus.scom.if";
-const char * const XBUS_CUSTOM_IF = "p8.xbus.custom.scom.if";
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_xbus_scominit_FP_t)(const fapi::Target & i_xbus_target,
- const fapi::Target & i_connected_xbus_target);
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-/**
- * @brief HWP that calls the XBUS SCOM initfiles
- *
- * Should be called for all valid/connected XBUS endpoints
- *
- * @param[in] i_xbus_target Reference to XBUS chiplet target
- * i_connected_xbus_target Reference to connected XBUS chiplet target
- * If TARGET_TYPE_XBUS_ENDPOINT, calls:
- * - p8.xbus.scom.initfile
- * - p8.xbus.custom.scom.initfile
- *
- * @return ReturnCode
- */
-fapi::ReturnCode proc_xbus_scominit(
- const fapi::Target & i_xbus_target,
- const fapi::Target & i_connected_xbus_target);
-
-
-} // extern "C"
-
-#endif // PROC_XBUS_SCOMINIT_H_
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml
deleted file mode 100644
index 5d13d6b0a..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<!-- IBM_PROLOG_BEGIN_TAG -->
-<!-- This is an automatically generated prolog. -->
-<!-- -->
-<!-- $Source: src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml $ -->
-<!-- -->
-<!-- OpenPOWER HostBoot Project -->
-<!-- -->
-<!-- COPYRIGHT International Business Machines Corp. 2013,2014 -->
-<!-- -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
-<!-- you may not use this file except in compliance with the License. -->
-<!-- You may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. See the License for the specific language governing -->
-<!-- permissions and limitations under the License. -->
-<!-- -->
-<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: proc_xbus_scominit_errors.xml,v 1.4 2013/11/09 18:38:44 jmcgill Exp $ -->
-<!-- Error definitions for proc_xbus_scominit procedure -->
-<hwpErrors>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_XBUS_SCOMINIT_INVALID_TARGET</rc>
- <ffdc>THIS_XBUS_TARGET</ffdc>
- <ffdc>CONNECTED_XBUS_TARGET</ffdc>
- <description>Invalid target type presented to proc_xbus_scominit HWP (expects TARGET_TYPE_XBUS_ENDPOINT).</description>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
- <hwpError>
- <rc>RC_PROC_XBUS_SCOMINIT_PARTIAL_GOOD_ERR</rc>
- <ffdc>TARGET</ffdc>
- <description>Partial good attribute state does not allow for action on chiplet target.</description>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
-</hwpErrors>
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.C b/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.C
deleted file mode 100644
index ee4080bbf..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.C
+++ /dev/null
@@ -1,531 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_pcie_scominit.C,v 1.11 2014/11/18 17:38:50 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_pcie_scominit.C,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_pcie_scominit.C
-// *! DESCRIPTION : Perform PCIe Physical IO Inits (Phase 1, Steps 1-9) (FAPI)
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapiHwpExecInitFile.H>
-#include <proc_pcie_scominit.H>
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// function: initialize IOP/PHB
-// set master IOP lane configuration and IOP swap bits via PCIe GP4
-// set PHB iovalids via PCIe GP0
-// remove IOP logic from reset via PCIe GP4
-// parameters: i_target => processor chip target
-// i_num_iop => number of IOP units
-// i_num_phb => number of PHB units
-// returns: FAPI_RC_SUCCESS if all actions are successful,
-// RC_PROC_PCIE_SCOMINIT_IOP_CONFIG_ATTR_ERR if invalid IOP lane
-// configuration attribute value is presented,
-// RC_PROC_PCIE_SCOMINIT_IOP_SWAP_ATTR_ERR if invalid IOP swap
-// attribute value is presented,
-// else error
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_pcie_scominit_iop_init(
- const fapi::Target & i_target,
- uint8_t i_num_iop,
- uint8_t i_num_phb)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0;
-
- // attribute storage
- uint8_t iop_config;
- uint8_t iop_swap[PROC_PCIE_SCOMINIT_NUM_IOP];
- uint8_t phb_active_mask;
- bool phb_active[PROC_PCIE_SCOMINIT_NUM_PHB];
- uint8_t refclock_active_mask;
- bool refclock_active[PROC_PCIE_SCOMINIT_NUM_PHB];
-
- // data buffers for GP4/GP0 accesses
- ecmdDataBufferBase gp4_data(64);
- ecmdDataBufferBase gp0_data(64);
-
- // mark function entry
- FAPI_INF("proc_pcie_scominit_iop_init: Start");
-
- do
- {
- // retrieve IOP lane configuration and check value received
- FAPI_DBG("proc_pcie_scominit_iop_init: Querying IOP lane configuration attribute");
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_IOP_CONFIG,
- &i_target,
- iop_config);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_IOP_CONFIG)");
- break;
- }
- FAPI_DBG("proc_pcie_scominit_iop_init: ATTR_PROC_PCIE_IOP_CONFIG = %02X",
- iop_config);
- // ensure that encoded value is supported
- if (iop_config > PCIE_GP4_IOP_LANE_CFG_MAX)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Invalid IOP lane configuration attribute value 0x%02X",
- iop_config);
- const fapi::Target & TARGET = i_target;
- const uint8_t& ATTR_DATA = iop_config;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_PCIE_SCOMINIT_IOP_CONFIG_ATTR_ERR);
- break;
- }
-
- // retrieve per-IOP swap configuration and check value received
- FAPI_DBG("proc_pcie_scominit_iop_init: Querying per-IOP swap attribute");
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_IOP_SWAP,
- &i_target,
- iop_swap);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_IOP_SWAP)");
- break;
- }
- for (size_t i = 0; (i < i_num_iop) && rc.ok(); i++)
- {
- FAPI_DBG("proc_pcie_scominit_iop_init: ATTR_PROC_PCIE_IOP_SWAP[%zd]= %02X",
- i, iop_swap[i]);
- if (iop_swap[i] > PCIE_GP4_IOP_SWAP_MAX)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Invalid IOP%zd swap attribute value 0x%02X",
- i, iop_swap[i]);
- const fapi::Target & TARGET = i_target;
- const uint8_t& IOP_DATA = i;
- const uint8_t ATTR_DATA = iop_swap[i];
- FAPI_SET_HWP_ERROR(rc, RC_PROC_PCIE_SCOMINIT_IOP_SWAP_ATTR_ERR);
- break;
- }
- }
- if (!rc.ok())
- {
- break;
- }
-
- // set PCIe GP4 mask for IOP lane configuration/swap setup
- rc_ecmd |= gp4_data.insertFromRight(
- iop_config,
- PCIE_GP4_IOP_LANE_CFG_START_BIT,
- (PCIE_GP4_IOP_LANE_CFG_END_BIT-
- PCIE_GP4_IOP_LANE_CFG_START_BIT+1));
-
- for (size_t i = 0; (i < i_num_iop) && !rc_ecmd; i++)
- {
- rc_ecmd |= gp4_data.insertFromRight(
- iop_swap[i],
- PCIE_GP4_IOP_SWAP_START_BIT[i],
- (PCIE_GP4_IOP_SWAP_END_BIT[i]-
- PCIE_GP4_IOP_SWAP_START_BIT[i]+1));
- }
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error 0x%x setting up PCIe GP4 IOP config data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write PCIe GP4 data via OR mask register
- FAPI_DBG("proc_pcie_scominit_iop_init: Writing PCIe GP4 to set IOP configuration");
- rc = fapiPutScom(i_target, PCIE_GP4_OR_0x09000007, gp4_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from fapiPutScom (PCIE_GP4_OR_0x09000007)");
- break;
- }
-
- // retrieve active PHB/refclock enable attributes and check value received
- FAPI_DBG("proc_pcie_scominit_iop_init: Querying PHB active attribute");
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_PHB_ACTIVE,
- &i_target,
- phb_active_mask);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_PHB_ACTIVE)");
- break;
- }
-
- FAPI_DBG("proc_pcie_scominit_iop_init: Querying refclock enable attribute");
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_REFCLOCK_ENABLE,
- &i_target,
- refclock_active_mask);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_REFCLOCK_ENABLE)");
- break;
- }
-
- for (size_t i = 0; (i < i_num_phb); i++)
- {
- phb_active[i] = ((phb_active_mask >> (7-i)) & 0x1)?(true):(false);
- refclock_active[i] = ((refclock_active_mask >> (7-i)) & 0x1)?(true):(false);
- }
-
- // set PCIe GP0 mask for PHB iovalid/refclock enable
- for (size_t i = 0; (i < i_num_phb) && !rc_ecmd; i++)
- {
- rc_ecmd |= gp0_data.writeBit(
- PCIE_GP0_PHB_IOVALID_BIT[i],
- phb_active[i]);
- rc_ecmd |= gp0_data.writeBit(
- PCIE_GP0_PHB_REFCLOCK_DRIVE_EN_BIT[i],
- refclock_active[i]);
- }
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error 0x%x setting up PCIe GP0 data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write PCIe GP0 data via OR mask register
- FAPI_DBG("proc_pcie_scominit_iop_init: Writing PCIe GP0 to set PHB iovalids and refclock drive enables");
- rc = fapiPutScom(i_target, PCIE_GP0_OR_0x09000005, gp0_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from fapiPutScom (PCIE_GP0_OR_0x09000005)");
- break;
- }
-
- // set PCIe GP4 mask for IOP reset
- rc_ecmd |= gp4_data.flushTo0();
- for (size_t i = 0; (i < i_num_iop) && !rc_ecmd; i++)
- {
- rc_ecmd |= gp4_data.setBit(
- PCIE_GP4_IOP_RESET_BIT[i]);
- }
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error 0x%x setting up PCIe GP4 IOP reset data buffer (set)",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write PCIe GP4 OR mask register (set reset bit)
- FAPI_DBG("proc_pcie_scominit_iop_init: Writing PCIe GP4 to set IOP reset");
- rc = fapiPutScom(i_target, PCIE_GP4_OR_0x09000007, gp4_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from fapiPutScom (PCIE_GP4_OR_0x09000007)");
- break;
- }
-
- // invert data buffer to clear reset bits
- rc_ecmd |= gp4_data.invert();
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error 0x%x setting up PCIe GP4 IOP reset data buffer (clear)",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write PCIe GP4 AND mask register (clear reset bit)
- FAPI_DBG("proc_pcie_scominit_iop_init: Writing PCIe GP4 to clear IOP reset");
- rc = fapiPutScom(i_target, PCIE_GP4_AND_0x09000006, gp4_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_init: Error from fapiPutScom (PCIE_GP4_AND_0x09000006)");
- break;
- }
-
- } while(0);
-
- // mark function exit
- FAPI_INF("proc_pcie_scominit_iop_init: End");
- return rc;
-}
-
-
-//------------------------------------------------------------------------------
-// function: apply IOP customization via SCOM initfile
-// parameters: i_target => processor chip target
-// returns: FAPI_RC_SUCCESS if initfile evaluation is successful,
-// else error
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_pcie_scominit_iop_config(
- const fapi::Target & i_target)
-{
- fapi::ReturnCode rc;
- std::vector<fapi::Target> targets;
-
- // mark function entry
- FAPI_INF("proc_pcie_scominit_iop_config: Start");
-
- do
- {
- // execute Phase1 SCOM initfile
- targets.push_back(i_target);
- FAPI_INF("proc_pcie_scominit_iop_config: Executing %s on %s",
- PROC_PCIE_SCOMINIT_PHASE1_IF, i_target.toEcmdString());
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- targets,
- PROC_PCIE_SCOMINIT_PHASE1_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_config: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_PCIE_SCOMINIT_PHASE1_IF,
- i_target.toEcmdString());
- break;
- }
- } while(0);
-
- // mark function exit
- FAPI_INF("proc_pcie_scominit_iop_config: End");
- return rc;
-}
-
-
-//------------------------------------------------------------------------------
-// function: mark IOP programming complete (executed after all IOP
-// customization is complete)
-// parameters: i_target => processor chip target
-// i_num_iop => number of IOP units
-// returns: FAPI_RC_SUCCESS if program complete is successful for all IOPs,
-// else error
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_pcie_scominit_iop_complete(
- const fapi::Target & i_target,
- uint8_t i_num_iop)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0;
- ecmdDataBufferBase data(64), mask(64);
-
- // mark function entry
- FAPI_INF("proc_pcie_scominit_iop_complete: Start");
-
- do
- {
- // configure data/mask required to set program complete data pattern
- rc_ecmd |= data.setBit(PLL_GLOBAL_CONTROL2_PROG_COMPLETE_BIT);
- rc_ecmd |= mask.setBit(PLL_GLOBAL_CONTROL2_PROG_COMPLETE_BIT);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error 0x%x setting up PCIe PLL Global Control 2 register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // set IOP program complete
- for (size_t i = 0; i < i_num_iop; i++)
- {
- rc = fapiPutScomUnderMask(i_target,
- PROC_PCIE_SCOMINIT_PLL_GLOBAL_CONTROL2[i],
- data,
- mask);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error from fapiPutScomUnderMask (PCIE_IOP%zd_PLL_GLOBAL_CONTROL2_0x%016llX)",
- i, PROC_PCIE_SCOMINIT_PLL_GLOBAL_CONTROL2[i]);
- break;
- }
- }
- if (!rc.ok())
- {
- break;
- }
-
- // configure IOP FIR
- for (size_t i = 0; i < i_num_iop; i++)
- {
- rc_ecmd |= data.flushTo0();
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error 0x%x setting up PLL FIR register clear data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // clear FIR
- rc = fapiPutScom(i_target,
- PROC_PCIE_SCOMINIT_PLL_FIR[i],
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error from fapiPutScom (PCIE_IOP%zd_PLL_FIR_0x%08X)",
- i, PROC_PCIE_SCOMINIT_PLL_FIR[i]);
- break;
- }
-
- // clear FIR WOF
- rc = fapiPutScom(i_target,
- PROC_PCIE_SCOMINIT_PLL_FIR_WOF[i],
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error from fapiPutScom (PCIE_IOP%zd_PLL_FIR_WOF_0x%08X)",
- i, PROC_PCIE_SCOMINIT_PLL_FIR_WOF[i]);
- break;
- }
-
- rc_ecmd |= data.setDoubleWord(0, PCIE_PLL_FIR_MASK_VAL);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error 0x%x setting up PLL FIR mask register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // unmask
- rc = fapiPutScom(i_target,
- PROC_PCIE_SCOMINIT_PLL_FIR_MASK[i],
- data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit_iop_complete: Error from fapiPutScom (PCIE_IOP%zd_PLL_FIR_MASK_0x%08X)",
- i, PROC_PCIE_SCOMINIT_PLL_FIR_MASK[i]);
- break;
- }
- }
- if (!rc.ok())
- {
- break;
- }
-
- } while(0);
-
- // mark function exit
- FAPI_INF("proc_pcie_scominit_iop_complete: End");
- return rc;
-}
-
-
-// HWP entry point, comments in header
-fapi::ReturnCode proc_pcie_scominit(
- const fapi::Target & i_target)
-{
- fapi::ReturnCode rc;
- uint8_t pcie_enabled;
- uint8_t num_phb;
- uint8_t num_iop;
-
- // mark HWP entry
- FAPI_INF("proc_pcie_scominit: Start");
-
- do
- {
- // check for supported target type
- if (i_target.getType() != fapi::TARGET_TYPE_PROC_CHIP)
- {
- FAPI_ERR("proc_pcie_scominit: Unsupported target type");
- const fapi::Target & TARGET = i_target;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_PCIE_SCOMINIT_INVALID_TARGET);
- break;
- }
-
- // query PCIE partial good attribute
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_ENABLE,
- &i_target,
- pcie_enabled);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error querying ATTR_PROC_PCIE_ENABLE");
- break;
- }
-
- // initialize/configure/finalize PHB & IOP programming (only if partial good
- // attribute is set)
- if (pcie_enabled == fapi::ENUM_ATTR_PROC_PCIE_ENABLE_ENABLE)
- {
- // determine PHB/IOP configuration
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_NUM_PHB,
- &i_target,
- num_phb);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_NUM_PHB)");
- break;
- }
-
- rc = FAPI_ATTR_GET(ATTR_PROC_PCIE_NUM_IOP,
- &i_target,
- num_iop);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error from FAPI_ATTR_GET (ATTR_PROC_PCIE_NUM_IOP)");
- break;
- }
-
- rc = proc_pcie_scominit_iop_init(i_target, num_iop, num_phb);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error from proc_pcie_scominit_iop_init");
- break;
- }
-
- rc = proc_pcie_scominit_iop_config(i_target);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error from proc_pcie_scominit_iop_config");
- break;
- }
-
- rc = proc_pcie_scominit_iop_complete(i_target, num_iop);
- if (!rc.ok())
- {
- FAPI_ERR("proc_pcie_scominit: Error from proc_pcie_scominit_iop_complete");
- break;
- }
- }
- else
- {
- FAPI_DBG("proc_pcie_scominit: Skipping initialization (partial good)");
- }
-
- } while(0);
-
- // mark HWP exit
- FAPI_INF("proc_pcie_scominit: End");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.H b/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.H
deleted file mode 100644
index 59797ffa1..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.H
+++ /dev/null
@@ -1,176 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_pcie_scominit/proc_pcie_scominit.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_pcie_scominit.H,v 1.7 2014/11/18 17:38:50 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_pcie_scominit.H,v $
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE : proc_pcie_scominit.H
-// *! DESCRIPTION : Perform PCIe Physical IO Inits (Phase 1, Steps 1-9 &
-// *! Phase 2, Step 33) (FAPI)
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS :
-// *! Set IOP lane config/swap bits
-// *! Set iovalid for active PHBs
-// *! Remove active IOPs from reset
-// *! Perform IOP overrides/customization
-// *! Mark IOP programming complete
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef PROC_PCIE_SCOMINIT_H_
-#define PROC_PCIE_SCOMINIT_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <fapi.H>
-#include <p8_scom_addresses.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-// SCOM initfile to execute
-const char * const PROC_PCIE_SCOMINIT_PHASE1_IF = "p8.pe.phase1.scom.if";
-
-// PCIe physical constants
-const uint8_t PROC_PCIE_SCOMINIT_NUM_IOP = 3;
-const uint8_t PROC_PCIE_SCOMINIT_NUM_PHB = 4;
-
-// PCIe GP0 register field/bit definitions
-const uint32_t PCIE_GP0_PHB_IOVALID_BIT[PROC_PCIE_SCOMINIT_NUM_PHB] =
-{
- 48,
- 49,
- 50,
- 51
-};
-
-const uint32_t PCIE_GP0_PHB_REFCLOCK_DRIVE_EN_BIT[PROC_PCIE_SCOMINIT_NUM_PHB] =
-{
- 52,
- 53,
- 54,
- 55
-};
-
-// PCIe GP4 register field/bit definitions
-const uint32_t PCIE_GP4_IOP_RESET_BIT[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- 37,
- 38,
- 39
-};
-const uint32_t PCIE_GP4_IOP_LANE_CFG_START_BIT = 41;
-const uint32_t PCIE_GP4_IOP_LANE_CFG_END_BIT = 44;
-const uint32_t PCIE_GP4_IOP_SWAP_START_BIT[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- 47,
- 53,
- 50
-};
-const uint32_t PCIE_GP4_IOP_SWAP_END_BIT[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- 49,
- 55,
- 52
-};
-
-// Murano/Venice support lane configurations bewtween 0x0 & 0xC,
-// swap values between 0x0 & 0x7
-const uint8_t PCIE_GP4_IOP_LANE_CFG_MAX = 0xC;
-const uint8_t PCIE_GP4_IOP_SWAP_MAX = 0x7;
-
-
-// PCIe PLL Global Control Register 2 field/bit definitions
-const uint64_t PROC_PCIE_SCOMINIT_PLL_GLOBAL_CONTROL2[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- PCIE_IOP0_PLL_GLOBAL_CONTROL2_0x8000080A0901143F,
- PCIE_IOP1_PLL_GLOBAL_CONTROL2_0x8000080A0901187F,
- PCIE_IOP2_PLL_GLOBAL_CONTROL2_0x8000080A09011C7F
-};
-const uint32_t PLL_GLOBAL_CONTROL2_PROG_COMPLETE_BIT = 50;
-
-// PCIe PLL FIR register field/bit definitions
-const uint32_t PROC_PCIE_SCOMINIT_PLL_FIR[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- PCIE_IOP0_PLL_FIR_0x09011400,
- PCIE_IOP1_PLL_FIR_0x09011840,
- PCIE_IOP2_PLL_FIR_0x09011C40
-};
-
-const uint32_t PROC_PCIE_SCOMINIT_PLL_FIR_WOF[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- PCIE_IOP0_PLL_FIR_WOF_0x09011408,
- PCIE_IOP1_PLL_FIR_WOF_0x09011848,
- PCIE_IOP2_PLL_FIR_WOF_0x09011C48
-};
-
-const uint32_t PROC_PCIE_SCOMINIT_PLL_FIR_MASK[PROC_PCIE_SCOMINIT_NUM_IOP] =
-{
- PCIE_IOP0_PLL_FIR_MASK_0x09011403,
- PCIE_IOP1_PLL_FIR_MASK_0x09011843,
- PCIE_IOP2_PLL_FIR_MASK_0x09011C43
-};
-
-const uint64_t PCIE_PLL_FIR_MASK_VAL = 0x0080000000000000ULL;
-
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_pcie_scominit_FP_t)(const fapi::Target & i_target);
-
-extern "C" {
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// function: perform PCIe Physical IO Inits (Phase 1, Steps 1-9)
-// parameters: i_target => processor chip target
-// returns: FAPI_RC_SUCCESS if all programming is successful,
-// RC_PROC_PCIE_SCOMINIT_IOP_CONFIG_ATTR_ERR if invalid IOP lane
-// configuration attribute value is presented,
-// RC_PROC_PCIE_SCOMINIT_IOP_SWAP_ATTR_ERR if invalid IOP swap
-// attribute value is presented,
-// RC_PROC_PCIE_SCOMINIT_INVALID_TARGET if invalid target is supplied,
-// else error
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_pcie_scominit(const fapi::Target & i_target);
-
-
-} // extern "C"
-
-#endif // PROC_PCIE_SCOMINIT_H_
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.C
deleted file mode 100644
index 260f3563d..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.C
+++ /dev/null
@@ -1,72 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_scomoverride_chiplets.C,v 1.3 2013/10/28 03:57:15 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_scomoverride_chiplets.C,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_scomoverride_chiplets.C
-// *! DESCRIPTION : Placeholder for chiplet SCOM overrides
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *! OWNER NAME : Jeshua Smith Email: jeshua@us.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <proc_scomoverride_chiplets.H>
-
-extern "C"
-{
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// HWP entry point
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_scomoverride_chiplets()
-{
- // return code
- fapi::ReturnCode rc;
-
- // mark HWP entry
- FAPI_IMP("proc_scomoverride_chiplets : Entering ...");
-
-
- // log function exit
- FAPI_IMP("proc_scomoverride_chiplets : Exiting ...");
- return rc;
-}
-
-}
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.H b/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.H
deleted file mode 100644
index 99b5c69ce..000000000
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.H
+++ /dev/null
@@ -1,70 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/nest_chiplets/proc_scomoverride_chiplets/proc_scomoverride_chiplets.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_scomoverride_chiplets.H,v 1.1 2012/03/13 06:02:39 venton Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_scomoverride_chiplets.H,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_scomoverride_chiplets.H
-// *! DESCRIPTION :
-// *!
-// *! OWNER NAME : Jeshua Smith Email: jeshua@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS:
-// *!
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef _PROC_SCOMOVERRIDE_CHIPLETS_H_
-#define _PROC_SCOMOVERRIDE_CHIPLETS_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_scomoverride_chiplets_FP_t)();
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-extern "C"
-{
-fapi::ReturnCode proc_scomoverride_chiplets();
-
-} // extern "C"
-
-#endif // _PROC_SCOMOVERRIDE_CHIPLETS_H_
diff --git a/src/usr/hwpf/hwp/slave_sbe/makefile b/src/usr/hwpf/hwp/slave_sbe/makefile
index 93a08aef3..876ebaaac 100644
--- a/src/usr/hwpf/hwp/slave_sbe/makefile
+++ b/src/usr/hwpf/hwp/slave_sbe/makefile
@@ -38,7 +38,6 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include
## Include sub dirs
## NOTE: add a new EXTRAINCDIR when you add a new HWP
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe
-EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_getecid
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable
@@ -53,12 +52,9 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_stop_deadman_time
## NOTE: add new object files when you add a new HWP
OBJS += slave_sbe.o
-OBJS += proc_revert_sbe_mcs_setup.o
-OBJS += proc_check_slave_sbe_seeprom_complete.o
OBJS += proc_extract_sbe_rc.o
OBJS += proc_read_seeprom.o
OBJS += proc_getecid.o
-OBJS += proc_cen_ref_clk_enable.o
OBJS += proc_spless_sbe_startWA.o
OBJS += proc_reset_i2cm_bus_fence.o
OBJS += proc_check_master_sbe_seeprom.o
@@ -69,7 +65,6 @@ OBJS += proc_extract_pore_halt_ffdc.o
## NOTE: add a new directory onto the vpaths when you add a new HWP
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable
-VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_getecid
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_spless_sbe_startWA
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C
deleted file mode 100644
index 0f585da26..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C
+++ /dev/null
@@ -1,240 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_cen_ref_clk_enable.C,v 1.4 2014/04/14 18:57:01 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_cen_ref_clk_enable.C,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_cen_ref_clk_enable.C
-// *! DESCRIPTION : Enable Centaur reference clocks (FAPI)
-// *!
-// *! OWNER NAME : Benedikt Geukes Email: benedikt.geukes@de.ibm.com
-// *! BACKUP NAME : Ralph Koester Email: rkoester@de.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include "proc_check_master_sbe_seeprom.H"
-#include "proc_cen_ref_clk_enable.H"
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-extern "C"
-{
-
-
-//------------------------------------------------------------------------------
-// Hardware Procedure
-//------------------------------------------------------------------------------
-// parameters: i_target => chip target
-// i_attached_centaurs => bitmask representing attached Centaur
-// positions
-// returns: FAPI_RC_SUCCESS if operation was successful, else error
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_cen_ref_clk_enable(const fapi::Target & i_target,
- const uint8_t i_attached_centaurs)
-{
-
- ecmdDataBufferBase reg_data(32);
- uint32_t rc_ecmd = 0;
- fapi::ReturnCode rc;
- bool is_master = false;
- uint8_t configured_centaurs = 0x00;
- std::vector<fapi::Target> mcs_targets;
-
-
- do
- {
- // determine chip status (master/slave) to differentiate access path to FSI GP8 register
- // master: SCOM
- // slave: CFAM
- rc = proc_check_master_sbe_seeprom(i_target, is_master);
- if (!rc.ok())
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error from proc_check_master_sbe_seeprom");
- break;
- }
-
- FAPI_INF("proc_cen_ref_clk_enable: Target %s is %s, attached Centaurs: 0x%02X",
- i_target.toEcmdString(), (is_master)?("master"):("slave"), i_attached_centaurs);
-
- // obtain set of functional MCS chiplets
- rc = fapiGetChildChiplets(i_target,
- fapi::TARGET_TYPE_MCS_CHIPLET,
- mcs_targets,
- fapi::TARGET_STATE_FUNCTIONAL);
- if (!rc.ok())
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error from fapiGetChildChiplets");
- break;
- }
-
- // loop through MCS chiplets, match with attached Centaurs
- for (std::vector<fapi::Target>::iterator i = mcs_targets.begin();
- (i != mcs_targets.end()) && !rc && !rc_ecmd;
- i++)
- {
- uint8_t mcs_unit_id = 0x00;
- uint8_t refclock_bit = 0x00;
-
- rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS,
- &(*i),
- mcs_unit_id);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error querying ATTR_CHIP_UNIT_POS");
- break;
- }
-
- // continue to next iteration if this MCS is not connected to a Centaur
- if (!(i_attached_centaurs & (1 << ((NUM_CENTAUR_POS-1)-mcs_unit_id))))
- {
- FAPI_DBG("proc_cen_ref_clk_enable: MCS %d is not connected to a Centaur, skipping...\n", mcs_unit_id);
- }
- else
- {
- // mark that we have configured this MCS/Centaur pair
- configured_centaurs |= (1 << ((NUM_CENTAUR_POS-1)-mcs_unit_id));
- FAPI_DBG("proc_cen_ref_clk_enable: MCS %d is connected to a Centaur, configured_centaurs: %02X\n", mcs_unit_id,configured_centaurs);
-
- // query attribute which defines reflock bit associated with this Centaur
- rc = FAPI_ATTR_GET(ATTR_DMI_REFCLOCK_SWIZZLE,
- &(*i),
- refclock_bit);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error querying ATTR_DMI_REFCLOCK_SWIZZLE");
- break;
- }
- FAPI_DBG("proc_cen_ref_clk_enable: refclock_bit: %02X\n", refclock_bit);
-
- if ((FSI_GP8_CENTAUR_REFCLOCK_START_BIT + refclock_bit) > FSI_GP8_CENTAUR_REFCLOCK_END_BIT)
- {
- // bit offset exceeds field range
- FAPI_ERR("proc_cen_ref_clk_enable: Translated Centaur refclock enable bit position is out of range!");
- const fapi::Target& PROC_TARGET = i_target;
- const uint8_t& CENTAUR_POSITION = mcs_unit_id;
- const uint8_t& REFCLOCK_BIT = refclock_bit;
- FAPI_SET_HWP_ERROR(rc,
- RC_PROC_CEN_REF_CLK_ENABLE_SWIZZLE_ERR);
- break;
- }
-
- rc_ecmd |= reg_data.setBit(FSI_GP8_CENTAUR_REFCLOCK_START_BIT+
- refclock_bit);
- }
- }
- if (rc)
- {
- break;
- }
- if (rc_ecmd)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error (0x%x) setting up refclock enable OR data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- if (configured_centaurs != i_attached_centaurs)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Not all Centaurs marked as attached were configured");
- const fapi::Target& PROC_TARGET = i_target;
- const uint8_t& CONFIGURED_CENTAUR_POSITIONS = configured_centaurs;
- const uint8_t& ATTACHED_CENTAUR_POSITIONS = i_attached_centaurs;
- FAPI_SET_HWP_ERROR(rc,
- RC_PROC_CEN_REF_CLK_ENABLE_CONFIG_ERR);
- break;
- }
-
- FAPI_INF("proc_cen_ref_clk_enable: Enable refclk for functional Centaur chips...");
- if (is_master)
- {
- ecmdDataBufferBase scom_data(64);
- rc = fapiGetScom(i_target, MBOX_FSIGP8_0x00050017, scom_data);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: fapiGetScom error (MBOX_FSIGP8_0x00050017)");
- break;
- }
-
- rc_ecmd |= scom_data.setOr(reg_data.getWord(0), 0, 32);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error (0x%x) setting up FSI GP8 write data buffer (SCOM)",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutScom(i_target, MBOX_FSIGP8_0x00050017, scom_data);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: fapiPutScom error (MBOX_FSIGP8_0x00050017)");
- break;
- }
- }
- else
- {
- ecmdDataBufferBase cfam_data(32);
- rc = fapiGetCfamRegister(i_target, CFAM_FSI_GP8_0x00002817, cfam_data);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: fapiGetCfamRegister error (CFAM_FSI_GP8_0x00001017)");
- break;
- }
-
- rc_ecmd |= cfam_data.setOr(reg_data.getWord(0), 0, 32);
- if (rc_ecmd)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: Error (0x%x) setting up FSI GP8 write data buffer (CFAM)",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- rc = fapiPutCfamRegister(i_target, CFAM_FSI_GP8_0x00002817, cfam_data);
- if (rc)
- {
- FAPI_ERR("proc_cen_ref_clk_enable: fapiPutCfamRegister error (CFAM_FSI_GP8_0x00001017)");
- break;
- }
- }
- } while(0); // end do
-
- // mark function exit
- FAPI_INF("proc_cen_ref_clk_enable: Exit");
- return rc;
-} // end FAPI procedure proc_cen_ref_clk_enable
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H
deleted file mode 100644
index ee23ec1d7..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H
+++ /dev/null
@@ -1,88 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_cen_ref_clk_enable.H,v 1.1 2013/08/12 18:19:30 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_cen_ref_clk_enable.H,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_cen_ref_clk_enable.H
-// *! DESCRIPTION : Enable Centaur reference clocks (FAPI)
-// *!
-// *! OWNER NAME : Benedikt Geukes Email: benedikt.geukes@de.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef _PROC_CEN_REF_CLK_ENABLE_H_
-#define _PROC_CEN_REF_CLK_ENABLE_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-
-#include <fapi.H>
-#include "p8_scom_addresses.H"
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode (*proc_cen_ref_clk_enable_FP_t)(const fapi::Target &,
- const uint8_t);
-
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-const uint8_t NUM_CENTAUR_POS = 8;
-const uint8_t FSI_GP8_CENTAUR_REFCLOCK_START_BIT = 16;
-const uint8_t FSI_GP8_CENTAUR_REFCLOCK_END_BIT = (FSI_GP8_CENTAUR_REFCLOCK_START_BIT + NUM_CENTAUR_POS - 1);
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-
-extern "C"
-{
-
-/**
- * @brief Enble Centaur reference clocks
- *
- * @param[in] i_target chip target
- * @param[in] i_attached_centaurs Bitmask representing attached Centaur positions
- *
- * @return ReturnCode
- */
- fapi::ReturnCode proc_cen_ref_clk_enable(const fapi::Target & i_target,
- const uint8_t i_attached_centaurs);
-
-} // extern "C"
-
-#endif // _PROC_CEN_REF_CLK_ENABLE_H
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml
deleted file mode 100644
index 46a7fabfd..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<!-- IBM_PROLOG_BEGIN_TAG -->
-<!-- This is an automatically generated prolog. -->
-<!-- -->
-<!-- $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml $ -->
-<!-- -->
-<!-- OpenPOWER HostBoot Project -->
-<!-- -->
-<!-- COPYRIGHT International Business Machines Corp. 2013,2014 -->
-<!-- -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
-<!-- you may not use this file except in compliance with the License. -->
-<!-- You may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. See the License for the specific language governing -->
-<!-- permissions and limitations under the License. -->
-<!-- -->
-<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: proc_cen_ref_clk_enable_errors.xml,v 1.2 2014/02/28 17:53:41 jmcgill Exp $ -->
-<!-- Error definitions for proc_cen_ref_clk_enable -->
-<hwpErrors>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_CEN_REF_CLK_ENABLE_SWIZZLE_ERR</rc>
- <description>Translated Centaur refclock enable bit position is out of range.</description>
- <ffdc>PROC_TARGET</ffdc>
- <ffdc>CENTAUR_POSITION</ffdc>
- <ffdc>REFCLOCK_BIT</ffdc>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
- <hwpError>
- <rc>RC_PROC_CEN_REF_CLK_ENABLE_CONFIG_ERR</rc>
- <description>Not all Centaurs marked as attached were configured.</description>
- <ffdc>PROC_TARGET</ffdc>
- <ffdc>CONFIGURED_CENTAUR_POSITIONS</ffdc>
- <ffdc>ATTACHED_CENTAUR_POSITIONS</ffdc>
- <callout>
- <procedure>CODE</procedure>
- <priority>HIGH</priority>
- </callout>
- </hwpError>
-</hwpErrors>
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.C b/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.C
deleted file mode 100644
index 7f13acc5c..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.C
+++ /dev/null
@@ -1,254 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// -*- mode: C++; c-file-style: "linux"; -*-
-// $Id: proc_check_slave_sbe_seeprom_complete.C,v 1.18 2015/07/27 00:36:23 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_check_slave_sbe_seeprom_complete.C,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_check_slave_sbe_seeprom_complete.C
-// *! DESCRIPTION : Check if a slave has completed the seeprom code
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include <proc_check_slave_sbe_seeprom_complete.H>
-#include <p8_scom_addresses.H>
-#include <p8_istep_num.H>
-#include <proc_sbe_check_master.H>
-#include <proc_sbe_enable_pnor.H>
-#include <proc_sbe_scan_service.H>
-#include <proc_extract_sbe_rc.H>
-#include <proc_reset_i2cm_bus_fence.H>
-#include <proc_sbe_utils.H>
-
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-const uint64_t NS_TO_FINISH = 10000000; //(10 ms)
-const uint64_t MS_TO_FINISH = NS_TO_FINISH/1000000;
-const uint64_t SIM_CYCLES_TO_FINISH = 10000000;
-
-const uint8_t SBE_EXIT_SUCCESS_0xF = 0xF;
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-extern "C"
-{
-
-fapi::ReturnCode proc_check_slave_sbe_seeprom_complete(
- const fapi::Target & i_target,
- const void * i_pSEEPROM,
- const size_t i_wait_in_ms)
-{
- // return codes
- fapi::ReturnCode rc;
-
- // track if procedure has cleared I2C master bus fence
- bool i2cm_bus_fence_cleared = false;
-
- // mark function entry
- FAPI_INF("Start");
-
- do
- {
- //
- // ensure SBE was started
- //
-
- ecmdDataBufferBase sbe_vital_data(32);
- FAPI_DBG("Checking SBE Vital register");
- rc = fapiGetCfamRegister(i_target, CFAM_FSI_SBE_VITAL_0x0000281C, sbe_vital_data);
- if (!rc.ok())
- {
- FAPI_ERR("Error reading SBE Vital register");
- break;
- }
- if (sbe_vital_data.isBitClear(12,20))
- {
- // status has not been updated, something is wrong
- FAPI_ERR("SBE does not appear to have started");
- // Call proc_extract_sbe_rc here to see what went wrong
- FAPI_EXEC_HWP(rc, proc_extract_sbe_rc, i_target, NULL, i_pSEEPROM, SBE);
- break;
- }
-
- //
- // check SBE progress
- // Loop until:
- // SBE stopped OR
- // scan service ready loop is reached OR
- // loop time is exceeded
- //
-
- bool sbe_running = true;
- size_t loop_time = 0;
- uint8_t halt_code = 0;
- uint16_t istep_num = 0;
- uint8_t substep_num = 0;
- bool scan_service_loop_reached = false;
- while (sbe_running &&
- !scan_service_loop_reached &&
- (loop_time < i_wait_in_ms))
- {
- // sleep 10ms, then check again
- loop_time += MS_TO_FINISH;
- rc = fapiDelay(NS_TO_FINISH, SIM_CYCLES_TO_FINISH);
- if (rc)
- {
- FAPI_ERR("Error from fapiDelay");
- break;
- }
-
- // retrieve status
- rc = proc_sbe_utils_check_status(
- i_target,
- sbe_running,
- halt_code,
- istep_num,
- substep_num);
- if (!rc.ok())
- {
- FAPI_ERR("Error from proc_check_sbe_state_check_status");
- break;
- }
-
- scan_service_loop_reached =
- sbe_running &&
- !halt_code &&
- (istep_num == PROC_SBE_SCAN_SERVICE_ISTEP_NUM) &&
- (substep_num == SUBSTEP_SBE_READY);
- }
-
- // break if we took an error in the while loop
- if (rc)
- {
- break;
- }
-
- FAPI_INF("SBE is running [%d], loop time [%zd], scan service loop reached [%d]",
- sbe_running, loop_time, scan_service_loop_reached);
-
-
- // two valid possibilities
- // 1) SBE halted with success
- // 2) scan service routine is running
- if (!sbe_running)
- {
- //SBE is stopped. Let's see where
- // before analysis proceeds, make sure that I2C master bus fence is cleared
- FAPI_EXEC_HWP(rc, proc_reset_i2cm_bus_fence, i_target);
- if (!rc.ok())
- {
- FAPI_ERR("Error from proc_reset_i2cm_bus_fence");
- break;
- }
- // mark that fence has been cleared
- i2cm_bus_fence_cleared = true;
-
- // did it stop with success?
- if (halt_code != SBE_EXIT_SUCCESS_0xF)
- {
- FAPI_ERR("SBE halted with error %i (istep 0x%X, substep %i)",
- halt_code,
- istep_num,
- substep_num);
- FAPI_EXEC_HWP(rc, proc_extract_sbe_rc, i_target, NULL, i_pSEEPROM, SBE);
- break;
- }
-
- // did it stop in the correct istep?
- if (!(((istep_num == PROC_SBE_CHECK_MASTER_MAGIC_ISTEP_NUM ) &&
- (substep_num == SUBSTEP_CHECK_MASTER_SLAVE_CHIP)) ||
- ((istep_num == PROC_SBE_ENABLE_PNOR_MAGIC_ISTEP_NUM ) &&
- (substep_num == SUBSTEP_ENABLE_PNOR_SLAVE_CHIP)) ||
- (istep_num == PROC_SBE_EX_HOST_RUNTIME_SCOM_MAGIC_ISTEP_NUM)))
- {
- FAPI_ERR(
- "SBE halted in wrong istep (istep 0x%X, substep %i)",
- istep_num,
- substep_num);
- const fapi::Target & CHIP_IN_ERROR = i_target;
- uint16_t & ISTEP_NUM = istep_num;
- uint8_t & SUBSTEP_NUM = substep_num;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_BAD_ISTEP_NUM);
- break;
- }
-
- // reset the SBE so it can be used for MPIPL if needed
- rc = proc_sbe_utils_reset_sbe(i_target);
- if (!rc.ok())
- {
- FAPI_ERR("Error from proc_sbe_utils_reset_sbe");
- break;
- }
- }
- else if (scan_service_loop_reached)
- {
- FAPI_INF("SBE finished, scan service is running!");
- break;
- }
- // error
- else
- {
- FAPI_ERR("SBE did not reach acceptable final state!");
- const fapi::Target & CHIP_IN_ERROR = i_target;
- const bool & SBE_RUNNING = sbe_running;
- const uint8_t & HALT_CODE = halt_code;
- const uint16_t & ISTEP_NUM = istep_num;
- const uint8_t & SUBSTEP_NUM = substep_num;
- FAPI_SET_HWP_ERROR(rc, RC_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_UNEXPECTED_FINAL_STATE);
- break;
- }
-
- } while (0);
-
- // if an error occurred prior to the I2C master bus fence
- // being cleared, attempt to clear it prior to exit
- if (!rc.ok() && !i2cm_bus_fence_cleared)
- {
- // discard rc, return that of original fail
- fapi::ReturnCode rc_unused;
- FAPI_EXEC_HWP(rc_unused, proc_reset_i2cm_bus_fence, i_target);
- }
-
- // mark function exit
- FAPI_INF("Exit");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.H b/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.H
deleted file mode 100644
index fba9ca5bb..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.H
+++ /dev/null
@@ -1,88 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_check_slave_sbe_seeprom_complete.H,v 1.5 2014/06/10 12:41:42 dsanner Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_check_slave_sbe_seeprom_complete.H,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2012
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_check_slave_sbe_seeprom_complete.H
-// *! DESCRIPTION : Check if a slave has completed the seeprom code
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef _PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_H_
-#define _PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode (*proc_check_slave_sbe_seeprom_complete_FP_t)(const fapi::Target &,
- const void *,
- const size_t);
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-
-extern "C"
-{
-
-/**
- * @brief Check if the slave chip stopped successfully at the end of
- * proc_sbe_check_master / proc_sbe_enable_pnor
- *
- * @param[in] i_target Reference to processor slave chip target
- * @param[in] i_pSEEPROM Pointer to the seeprom image (for errors)
- * @param[in] i_wait_in_ms Amount of time to wait in ms for SBE to complete
- *
- * @return ReturnCode Success if slave chip stopped at correct place,
- * else error
- */
- fapi::ReturnCode proc_check_slave_sbe_seeprom_complete(
- const fapi::Target & i_target,
- const void * i_pSEEPROM,
- const size_t i_wait_in_ms = 1000);
-
-} // extern "C"
-
-#endif // _PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_H_
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml b/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml
deleted file mode 100644
index ee658c384..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<!-- IBM_PROLOG_BEGIN_TAG -->
-<!-- This is an automatically generated prolog. -->
-<!-- -->
-<!-- $Source: src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml $ -->
-<!-- -->
-<!-- OpenPOWER HostBoot Project -->
-<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2012,2015 -->
-<!-- [+] International Business Machines Corp. -->
-<!-- -->
-<!-- -->
-<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
-<!-- you may not use this file except in compliance with the License. -->
-<!-- You may obtain a copy of the License at -->
-<!-- -->
-<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
-<!-- -->
-<!-- Unless required by applicable law or agreed to in writing, software -->
-<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
-<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
-<!-- implied. See the License for the specific language governing -->
-<!-- permissions and limitations under the License. -->
-<!-- -->
-<!-- IBM_PROLOG_END_TAG -->
-<!-- $Id: proc_check_slave_sbe_seeprom_complete_errors.xml,v 1.8 2015/07/27 00:37:13 jmcgill Exp $ -->
-<!-- Error definitions for proc_check_slave_sbe_seeprom_complete procedure -->
-<hwpErrors>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_BAD_ISTEP_NUM</rc>
- <description>
- Procedure: proc_check_slave_sbe_seeprom_complete
- The slave SBE is not at the correct istep number
- </description>
- <ffdc>ISTEP_NUM</ffdc>
- <ffdc>SUBSTEP_NUM</ffdc>
- <collectRegisterFfdc>
- <id>REG_FFDC_PROC_STATUS_AND_SBE_VITAL_REGISTERS</id>
- <id>REG_FFDC_PROC_SBE_REGISTERS</id>
- <target>CHIP_IN_ERROR</target>
- </collectRegisterFfdc>
- <deconfigure>
- <target>CHIP_IN_ERROR</target>
- </deconfigure>
- </hwpError>
- <!-- *********************************************************************** -->
- <hwpError>
- <rc>RC_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE_UNEXPECTED_FINAL_STATE</rc>
- <description>
- Procedure: proc_check_slave_sbe_seeprom_complete
- The slave SBE did not reach a valid final state
- </description>
- <ffdc>SBE_RUNNING</ffdc>
- <ffdc>HALT_CODE</ffdc>
- <ffdc>ISTEP_NUM</ffdc>
- <ffdc>SUBSTEP_NUM</ffdc>
- <collectRegisterFfdc>
- <id>REG_FFDC_PROC_STATUS_AND_SBE_VITAL_REGISTERS</id>
- <id>REG_FFDC_PROC_SBE_REGISTERS</id>
- <target>CHIP_IN_ERROR</target>
- </collectRegisterFfdc>
- <deconfigure>
- <target>CHIP_IN_ERROR</target>
- </deconfigure>
- </hwpError>
- <!-- *********************************************************************** -->
-</hwpErrors>
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.C b/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.C
deleted file mode 100644
index ecd211596..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.C
+++ /dev/null
@@ -1,304 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_revert_sbe_mcs_setup.C,v 1.7 2013/04/27 17:23:41 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_revert_sbe_mcs_setup.C,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_revert_sbe_mcs_setup.C
-// *! DESCRIPTION : Revert MCS configuration applied by SBE (FAPI)
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-#include "p8_scom_addresses.H"
-#include "proc_revert_sbe_mcs_setup.H"
-
-extern "C"
-{
-
-//------------------------------------------------------------------------------
-// Function definitions
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-// function: translate base SCOM address to chiplet specific offset
-// parameters: i_input_addr => input SCOM address
-// i_mcs_unit_num => chip unit number
-// returns: translated SCOM address
-//------------------------------------------------------------------------------
-uint64_t proc_revert_sbe_mcs_setup_xlate_address(
- const uint64_t i_input_addr,
- const uint8_t i_mcs_unit_num)
-{
- return(i_input_addr +
- (0x400 * (i_mcs_unit_num / 4)) +
- (0x80 * (i_mcs_unit_num % 4)));
-}
-
-
-//------------------------------------------------------------------------------
-// function: reset MCFGP BAR valid bit, base address and size fields to restore
-// register flush state
-// parameters: i_target => chip target
-// i_mcs_unit_num => chip unit number
-// returns: FAPI_RC_SUCCESS if register write is successful,
-// else failing return code
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_revert_sbe_mcs_setup_reset_mcfgp(
- const fapi::Target& i_target,
- const uint8_t i_mcs_unit_num)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0x0;
- ecmdDataBufferBase mcfgp_data(64);
- ecmdDataBufferBase mcfgp_mask(64);
-
- // mark function entry
- FAPI_DBG("proc_revert_sbe_mcs_setup_reset_mcfgp: Start");
-
- do
- {
- // clear fields manipulated by SBE (to restore logic flush state)
- rc_ecmd |= mcfgp_mask.setBit(MCFGP_VALID_BIT);
- rc_ecmd |= mcfgp_mask.setBit(
- MCFGP_UNITS_PER_GROUP_START_BIT,
- (MCFGP_UNITS_PER_GROUP_END_BIT -
- MCFGP_UNITS_PER_GROUP_START_BIT + 1));
- rc_ecmd |= mcfgp_mask.setBit(
- MCFGP_GROUP_MEMBER_ID_START_BIT,
- (MCFGP_GROUP_MEMBER_ID_END_BIT -
- MCFGP_GROUP_MEMBER_ID_START_BIT + 1));
- rc_ecmd |= mcfgp_mask.setBit(
- MCFGP_GROUP_SIZE_START_BIT,
- (MCFGP_GROUP_SIZE_END_BIT -
- MCFGP_GROUP_SIZE_START_BIT + 1));
- rc_ecmd |= mcfgp_mask.setBit(MCFGP_FASTPATH_ENABLE_BIT);
- rc_ecmd |= mcfgp_mask.setBit(
- MCFGP_GROUP_BASE_ADDR_START_BIT,
- (MCFGP_GROUP_BASE_ADDR_END_BIT -
- MCFGP_GROUP_BASE_ADDR_START_BIT + 1));
-
- // check buffer manipulation return code
- if (rc_ecmd)
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup_reset_mcfgp: Error 0x%X setting up MCFGP mask data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write register
- rc = fapiPutScomUnderMask(
- i_target,
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCFGP_0x02011800,
- i_mcs_unit_num),
- mcfgp_data,
- mcfgp_mask);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup_reset_mcfgp: fapiPutScomUnderMask error (MCS_MCFGP_0x%08llX)",
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCFGP_0x02011800,
- i_mcs_unit_num));
- break;
- }
- } while(0);
-
- // mark function exit
- FAPI_DBG("proc_revert_sbe_mcs_setup_reset_mcfgp: End");
- return rc;
-}
-
-
-//------------------------------------------------------------------------------
-// function: set MCI FIR Mask channel timeout bits, to restore register flush
-// state
-// parameters: i_target => chip target
-// i_mcs_unit_num => chip unit number
-// returns: FAPI_RC_SUCCESS if register write is successful,
-// else failing return code
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_revert_sbe_mcs_setup_reset_mcifirmask(
- const fapi::Target& i_target,
- const uint8_t i_mcs_unit_num)
-{
- fapi::ReturnCode rc;
- uint32_t rc_ecmd = 0x0;
- ecmdDataBufferBase mcifirmask_or_data(64);
-
- // mark function entry
- FAPI_DBG("proc_revert_sbe_mcs_setup_reset_mcifirmask: Start");
-
- do
- {
- // set fields manipulated by SBE (to restore logic flush state)
- rc_ecmd |= mcifirmask_or_data.setBit(
- MCIFIR_CL_TIMEOUT_BIT);
- rc_ecmd |= mcifirmask_or_data.setBit(
- MCIFIR_CL_TIMEOUT_DUE_TO_CHANNEL_BIT);
-
- // check buffer manipulation return code
- if (rc_ecmd)
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup_reset_mcifirmask: Error 0x%X setting up MCI FIR Mask register data buffer",
- rc_ecmd);
- rc.setEcmdError(rc_ecmd);
- break;
- }
-
- // write register
- rc = fapiPutScom(
- i_target,
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCIFIRMASK_OR_0x02011845,
- i_mcs_unit_num),
- mcifirmask_or_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup_reset_mcifirmask: fapiPutScom error (MCS_MCIFIRMASK_OR_0x%08llX)",
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCIFIRMASK_OR_0x02011845,
- i_mcs_unit_num));
- break;
- }
- } while(0);
-
- // mark function exit
- FAPI_DBG("proc_revert_sbe_mcs_setup_reset_mcifirmask: End");
- return rc;
-}
-
-
-//------------------------------------------------------------------------------
-// function: proc_revert_sbe_mcs_setup HWP entry point
-// NOTE: see comments above function prototype in header
-//------------------------------------------------------------------------------
-fapi::ReturnCode proc_revert_sbe_mcs_setup(
- const fapi::Target& i_target)
-{
- fapi::ReturnCode rc;
- ecmdDataBufferBase gp0_data(64);
- ecmdDataBufferBase mcsmode1_reset_data(64);
- bool mc_fenced[2] = { true, true };
- uint8_t mcs_unit_id = 0x0;
-
- // vector to hold MCS chiplet targets
- std::vector<fapi::Target> mcs_chiplets;
-
- // mark HWP entry
- FAPI_IMP("proc_revert_sbe_mcs_setup: Entering ...");
-
- do
- {
- // read GP0 to determine MCL/MCR partial good state
- rc = fapiGetScom(i_target, NEST_GP0_0x02000000, gp0_data);
-
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: fapiGetScom error (NEST_GP0_0x02000000)");
- break;
- }
-
- mc_fenced[0] = gp0_data.isBitClear(NEST_GP0_MCL_FENCE_B_BIT);
- mc_fenced[1] = gp0_data.isBitClear(NEST_GP0_MCR_FENCE_B_BIT);
-
- // loop over all present MCS chiplets, revert SBE configuration
- // of BAR/FIR mask registers back to flush state
- rc = fapiGetChildChiplets(i_target,
- fapi::TARGET_TYPE_MCS_CHIPLET,
- mcs_chiplets,
- fapi::TARGET_STATE_PRESENT);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: Error from fapiGetChildChiplets");
- break;
- }
-
- for (std::vector<fapi::Target>::iterator i = mcs_chiplets.begin();
- i != mcs_chiplets.end();
- i++)
- {
- // read chip unit number
- rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS,
- &(*i),
- mcs_unit_id);
-
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: Error from FAPI_ATTR_GET (ATTR_CHIP_UNIT_POS)");
- break;
- }
-
- // reset all chiplets which are present (based on GP0 partial good data)
- // this handles the case of reverting configuration which was written
- // by SBE code for chiplets which are not considered functional by platform
- if (!mc_fenced[mcs_unit_id / 4])
- {
- rc = proc_revert_sbe_mcs_setup_reset_mcfgp(i_target,
- mcs_unit_id);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: Error from proc_revert_sbe_mcs_setup_reset_mcfgp");
- break;
- }
-
- FAPI_DBG("proc_revert_sbe_mcs_setup: reset MCSMODE1");
- rc = fapiPutScom(
- i_target,
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCSMODE1_0x02011808,
- mcs_unit_id),
- mcsmode1_reset_data);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: fapiPutScom error (MCS_MCSMODE1_0x%08llX)",
- proc_revert_sbe_mcs_setup_xlate_address(MCS_MCSMODE1_0x02011808, mcs_unit_id));
- break;
- }
-
- rc = proc_revert_sbe_mcs_setup_reset_mcifirmask(i_target,
- mcs_unit_id);
- if (!rc.ok())
- {
- FAPI_ERR("proc_revert_sbe_mcs_setup: Error from proc_revert_sbe_mcs_setup_reset_mcfgp");
- break;
- }
- }
- }
- } while(0);
-
- // log function exit
- FAPI_IMP("proc_revert_sbe_mcs_setup: Exiting ...");
- return rc;
-}
-
-
-} // extern "C"
diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H b/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H
deleted file mode 100644
index 92d3f6942..000000000
--- a/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H
+++ /dev/null
@@ -1,112 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-// $Id: proc_revert_sbe_mcs_setup.H,v 1.4 2013/04/27 17:23:43 jmcgill Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_revert_sbe_mcs_setup.H,v $
-//------------------------------------------------------------------------------
-// *|
-// *! (C) Copyright International Business Machines Corp. 2011
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-// *|
-// *! TITLE : proc_revert_sbe_mcs_setup.H
-// *! DESCRIPTION : Revert MCS configuration applied by SBE (FAPI)
-// *!
-// *! OWNER NAME : Joe McGill Email: jmcgill@us.ibm.com
-// *!
-// *! ADDITIONAL COMMENTS:
-// *!
-// *! Disable MCS configuration written by SBE to enable initial phase of
-// *! HBI execution (providing lpc_ack for dcbz prior to initialization
-// *! of memory). Registers touched by SBE (MCFGP, MCIFIRMASK) will be
-// *! reset to flush state by this procedure.
-// *!
-//------------------------------------------------------------------------------
-
-#ifndef _PROC_REVERT_SBE_MCS_SETUP_H_
-#define _PROC_REVERT_SBE_MCS_SETUP_H_
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-
-#include <vector>
-#include <fapi.H>
-
-//------------------------------------------------------------------------------
-// Constant definitions
-//------------------------------------------------------------------------------
-
-// Nest GP0 register constants
-const uint32_t NEST_GP0_MCL_FENCE_B_BIT = 51;
-const uint32_t NEST_GP0_MCR_FENCE_B_BIT = 52;
-
-// MCFGP register constants
-const uint32_t MCFGP_VALID_BIT = 0;
-const uint32_t MCFGP_UNITS_PER_GROUP_START_BIT = 1;
-const uint32_t MCFGP_UNITS_PER_GROUP_END_BIT = 3;
-const uint32_t MCFGP_GROUP_MEMBER_ID_START_BIT = 4;
-const uint32_t MCFGP_GROUP_MEMBER_ID_END_BIT = 8;
-const uint32_t MCFGP_GROUP_SIZE_START_BIT = 11;
-const uint32_t MCFGP_GROUP_SIZE_END_BIT = 23;
-const uint32_t MCFGP_FASTPATH_ENABLE_BIT = 25;
-const uint32_t MCFGP_GROUP_BASE_ADDR_START_BIT = 26;
-const uint32_t MCFGP_GROUP_BASE_ADDR_END_BIT = 43;
-
-// MCIFIR register constants
-const uint32_t MCIFIR_CL_TIMEOUT_BIT = 27;
-const uint32_t MCIFIR_CL_TIMEOUT_DUE_TO_CHANNEL_BIT = 40;
-
-
-//------------------------------------------------------------------------------
-// Structure definitions
-//------------------------------------------------------------------------------
-
-// function pointer typedef definition for HWP call support
-typedef fapi::ReturnCode
-(*proc_revert_sbe_mcs_setup_FP_t)(const fapi::Target&);
-
-
-extern "C"
-{
-
-//------------------------------------------------------------------------------
-// Function prototypes
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-// function: disable MCS configuration written by SBE to enable initial phase of
-// HBI execution (providing lpc_ack for dcbz prior to initialization
-// of memory)
-// parameters: i_target => P8 master chip target
-// returns: FAPI_RC_SUCCESS if all register writes are successful,
-// else failing return code
-fapi::ReturnCode proc_revert_sbe_mcs_setup(
- const fapi::Target& i_target);
-
-
-} // extern "C"
-
-
-#endif // _PROC_REVERT_SBE_MCS_SETUP_H_
diff --git a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C
index 1634d6c06..5bdeee5e0 100644
--- a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C
+++ b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C
@@ -58,10 +58,7 @@
#include <fapi.H>
#include <fapiPlatHwpInvoker.H>
-#include "proc_cen_ref_clk_enable.H"
#include "slave_sbe.H"
-#include "proc_revert_sbe_mcs_setup.H"
-#include "proc_check_slave_sbe_seeprom_complete.H"
#include "proc_getecid.H"
#include "proc_spless_sbe_startWA.H"
#include <sbe/sbeif.H>
@@ -82,56 +79,6 @@ uint8_t getMembufsAttachedBitMask( TARGETING::Target * i_procChipHandle );
void fenceAttachedMembufs( TARGETING::Target * i_procChipHandle );
//******************************************************************************
-// call_proc_revert_sbe_mcs_setup function
-//******************************************************************************
-void* call_proc_revert_sbe_mcs_setup(void *io_pArgs)
-{
- errlHndl_t l_errl = NULL;
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_proc_revert_sbe_mcs_setup entry" );
-
- // Note: Even though Cronus trace shows this HWP runs on all proc,
- // this should be done only for Master chip per Dean.
-
- TARGETING::Target* l_pProcTarget = NULL;
- TARGETING::targetService().masterProcChipTargetHandle(l_pProcTarget);
-
- fapi::Target l_fapiProcTarget(fapi::TARGET_TYPE_PROC_CHIP, l_pProcTarget);
-
- // Invoke the HWP
- FAPI_INVOKE_HWP(l_errl, proc_revert_sbe_mcs_setup, l_fapiProcTarget);
-
- if (l_errl)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR : failed executing proc_revert_sbe_mcs_setup "
- "returning error");
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl );
-
- // Create IStep error log and cross reference error that occurred
- l_stepError.addErrorDetails( l_errl );
-
- errlCommit( l_errl, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : proc_revert_sbe_mcs_setup completed ok");
- }
-
- TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "call_proc_revert_sbe_mcs_setup exit");
-
- // end task, returning any errorlogs to IStepDisp
- return l_stepError.getErrorHandle();
-}
-
-
-//******************************************************************************
// call_host_slave_sbe function
//******************************************************************************
void* call_host_slave_sbe_config(void *io_pArgs)
@@ -142,7 +89,13 @@ void* call_host_slave_sbe_config(void *io_pArgs)
"call_host_slave_sbe_config entry" );
// execute proc_read_nest_freq.C
- // execute proc_setup_sbe_config.C
+ // execute p9_setup_sbe_config.C
+ // FAPI_INVOKE_HWP(l_errl,p9_setup_sbe_config);
+ if(l_errl)
+ {
+ l_stepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
#ifdef CONFIG_HTMGT
// Set system frequency attributes
@@ -205,6 +158,50 @@ void* call_host_slave_sbe_config(void *io_pArgs)
}
+//******************************************************************************
+// call_host_setup_sbe()
+//******************************************************************************
+void* call_host_setup_sbe(void *io_pArgs)
+{
+ errlHndl_t l_errl = NULL;
+ IStepError l_stepError;
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_setup_sbe entry" );
+
+ //call host_setup_sbe
+ //FAPI_INVOKE_HWP(l_errl,p9_set_fsi_gp_shadow);
+ if(l_errl)
+ {
+ l_stepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_setup_sbe exit" );
+ return l_stepError.getErrorHandle();
+}
+
+//******************************************************************************
+// call_host_cbs_start()
+//******************************************************************************
+void* call_host_cbs_start(void *io_pArgs)
+{
+ errlHndl_t l_errl = NULL;
+ IStepError l_stepError;
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_cbs_start entry" );
+
+ //call host_cbs_start
+ //FAPI_INVOKE_HWP(l_errl,p9_start_cbs);
+ if(l_errl)
+ {
+ l_stepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_cbs_start exit" );
+ return l_stepError.getErrorHandle();
+}
+
//******************************************************************************
// set_proc_boot_voltage_vid
@@ -440,17 +437,17 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs )
IStepError l_stepError;
void* sbeImgPtr = NULL;
size_t sbeImgSize = 0;
- size_t l_wait_time = MS_TO_WAIT_OTHERS;
+ //size_t l_wait_time = MS_TO_WAIT_OTHERS;
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_check_slave_sbe_seeprom_complete entry" );
//If in FSPless environment -- give time for SBE to complete on first chip
- if (!INITSERVICE::spBaseServicesEnabled())
+ /*if (!INITSERVICE::spBaseServicesEnabled())
{
l_wait_time = MS_TO_WAIT_FIRST;
- }
+ }*/
//
// get the master Proc target, we want to IGNORE this one.
@@ -501,11 +498,11 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs )
// Invoke the HWP
fapi::ReturnCode rc_fapi = fapi::FAPI_RC_SUCCESS;
- FAPI_EXEC_HWP(rc_fapi,
- proc_check_slave_sbe_seeprom_complete,
+ /*FAPI_EXEC_HWP(rc_fapi,
+ p9_check_slave_sbe_seeprom_complete,
l_fapiProcTarget,
sbeImgPtr,
- l_wait_time);
+ l_wait_time);*/
// check for re ipl request
if(static_cast<uint32_t>(rc_fapi) ==
@@ -559,7 +556,7 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs )
}
//after first one default to quick check time
- l_wait_time = MS_TO_WAIT_OTHERS;
+ //l_wait_time = MS_TO_WAIT_OTHERS;
} // endfor
@@ -705,9 +702,10 @@ void* call_proc_cen_ref_clk_enable(void *io_pArgs )
// Invoke the HWP passing in the proc target and
// a bit mask indicating connected centaurs
- FAPI_INVOKE_HWP(l_errl,
- proc_cen_ref_clk_enable,
- l_fapiProcTarget, l_membufsAttached );
+ // Cumulus only
+ //FAPI_INVOKE_HWP(l_errl,
+ // p9_proc_cen_ref_clk_enable,
+ // l_fapiProcTarget, l_membufsAttached );
if (l_errl)
{
diff --git a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H
index ccb5733be..0a42ce9e4 100644
--- a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H
+++ b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H
@@ -48,12 +48,6 @@
* @istepdesc Slave SBE
*
* @{
- * @substepnum 8
- * @substepname proc_revert_sbe_mcs_setup
- * @substepdesc : Clean up MCS Extent regs
- * @target_sched serial
- * @}
- * @{
* @substepnum 9
* @substepname host_slave_sbe_config
* @substepdesc :
@@ -78,24 +72,31 @@ namespace SLAVE_SBE
{
/**
- * @brief proc_revert_sbe_mcs_setup
+ * @brief host_slave_sbe_config
*
- * Clean up MCS Extent regs
+ * param[in,out] - pointer to any arguments, usually NULL
+ *
+ * return any error logs to istep
+ */
+void* call_host_slave_sbe_config(void *io_pArgs);
+
+/**
+ * @brief call_host_setup_sbe
*
* param[in,out] - pointer to any arguments, usually NULL
*
* return any error logs to istep
*/
-void* call_proc_revert_sbe_mcs_setup(void *io_pArgs);
+void* call_host_setup_sbe(void *io_pArgs);
/**
- * @brief host_slave_sbe_config
+ * @brief call_host_cbs_start
*
* param[in,out] - pointer to any arguments, usually NULL
*
- * return any error logs to istep
+ * return any error logs to istep
*/
-void* call_host_slave_sbe_config(void *io_pArgs);
+void* call_host_cbs_start(void *io_pArgs);
/**
diff --git a/src/usr/hwpf/makefile b/src/usr/hwpf/makefile
index 895391004..6041b9db2 100644
--- a/src/usr/hwpf/makefile
+++ b/src/usr/hwpf/makefile
@@ -47,7 +47,6 @@ HWP_ERROR_XML_FILES += hwp/pll_accessors/getPllRingInfoAttrErrors.xml
HWP_ERROR_XML_FILES += hwp/pll_accessors/getPllRingAttrErrors.xml
HWP_ERROR_XML_FILES += ../pore/fapiporeve/fapiPoreVe_errors.xml
HWP_ERROR_XML_FILES += hwp/dram_initialization/proc_setup_bars/proc_setup_bars_errors.xml
-HWP_ERROR_XML_FILES += hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit_errors.xml
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_slw_build/p8_slw_build_errors.xml
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_slw_build/p8_xip_customize_errors.xml
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_slw_build/p8_pba_bar_config_errors.xml
@@ -65,7 +64,6 @@ HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_set_pore_bar/p8_set_pore_bar_e
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_set_pore_bar/p8_pmc_deconfig_setup_errors.xml
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_errors.xml
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_set_pore_bar/p8_poreslw_errors.xml
-HWP_ERROR_XML_FILES += hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_check_slave_sbe_seeprom_complete_errors.xml
HWP_ERROR_XML_FILES += hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_extract_sbe_rc_errors.xml
HWP_ERROR_XML_FILES += hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete/proc_read_seeprom_errors.xml
HWP_ERROR_XML_FILES += hwp/proc_sbe_registers.xml
@@ -86,8 +84,6 @@ HWP_ERROR_XML_FILES += hwp/dram_initialization/host_mpipl_service/proc_mpipl_chi
HWP_ERROR_XML_FILES += hwp/build_winkle_images/p8_set_pore_bar/p8_pfet_init_errors.xml
HWP_ERROR_XML_FILES += hwp/poreve_errors.xml
HWP_ERROR_XML_FILES += hwp/proc_fab_iovalid_errors.xml
-HWP_ERROR_XML_FILES += hwp/nest_chiplets/proc_chiplet_scominit/proc_abus_scominit_errors.xml
-HWP_ERROR_XML_FILES += hwp/nest_chiplets/proc_chiplet_scominit/proc_xbus_scominit_errors.xml
HWP_ERROR_XML_FILES += hwp/dmi_training/proc_dmi_scominit_errors.xml
HWP_ERROR_XML_FILES += hwp/dmi_training/cen_dmi_scominit_errors.xml
HWP_ERROR_XML_FILES += hwp/sbe_centaur_init/cen_xip_customize_errors.xml
@@ -118,7 +114,6 @@ HWP_ERROR_XML_FILES += hwp/dram_training/mem_startclocks/memory_cen_stopclocks.x
HWP_ERROR_XML_FILES += hwp/dram_training/mss_scominit/memory_mss_scominit.xml
HWP_ERROR_XML_FILES += hwp/dram_training/mss_draminit_trainadv/memory_mss_mcbist_common.xml
HWP_ERROR_XML_FILES += hwp/dram_initialization/proc_setup_bars/memory_mss_setup_bars.xml
-HWP_ERROR_XML_FILES += hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml
HWP_ERROR_XML_FILES += hwp/dmi_training/mss_getecid/memory_mss_get_cen_ecid.xml
HWP_ERROR_XML_FILES += hwp/dram_initialization/mss_extent_setup/memory_mss_extent_setup.xml
HWP_ERROR_XML_FILES += hwp/dram_initialization/mss_thermal_init/memory_mss_thermal_init.xml
OpenPOWER on IntegriCloud