summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp
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 /src/usr/hwpf/hwp
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>
Diffstat (limited to 'src/usr/hwpf/hwp')
-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
30 files changed, 361 insertions, 3720 deletions
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);
/**
OpenPOWER on IntegriCloud