summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2015-10-23 17:00:16 -0500
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 15:30:27 -0600
commit3f38d7bb2084ab959fd407e4b864e995d2b003a7 (patch)
treea407ea4072d37657f73ce10af7e0cb6aed607918 /src/usr
parent6aab5b3a5300c63bbbfeecf243c8fb2bd6bd0681 (diff)
downloadtalos-hostboot-3f38d7bb2084ab959fd407e4b864e995d2b003a7.tar.gz
talos-hostboot-3f38d7bb2084ab959fd407e4b864e995d2b003a7.zip
P9 Isteps: Created directory structure for istep 13 wrappers
Change-Id: I964a84b630b035ad08569a24879298cacb545a69 RTC:137652 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21463 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/hwpf/hwp/dram_training/dram_training.C900
-rw-r--r--src/usr/hwpf/hwp/dram_training/makefile4
-rw-r--r--src/usr/isteps/istep13/call_host_disable_vddr.C67
-rw-r--r--src/usr/isteps/istep13/call_host_enable_vddr.C76
-rw-r--r--src/usr/isteps/istep13/call_mem_pll_initf.C101
-rw-r--r--src/usr/isteps/istep13/call_mem_pll_setup.C101
-rw-r--r--src/usr/isteps/istep13/call_mem_startclocks.C104
-rw-r--r--src/usr/isteps/istep13/call_mss_ddr_phy_reset.C110
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit.C186
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit_mc.C107
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit_trainadv.C107
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit_training.C111
-rw-r--r--src/usr/isteps/istep13/call_mss_scominit.C156
-rw-r--r--src/usr/isteps/istep13/call_proc_mcs_skewadjust.C38
-rw-r--r--src/usr/isteps/istep13/hbVddrMsg.C (renamed from src/usr/hwpf/hwp/dram_training/hbVddrMsg.C)41
-rw-r--r--src/usr/isteps/istep13/hbVddrMsg.H (renamed from src/usr/hwpf/hwp/dram_training/hbVddrMsg.H)2
-rw-r--r--src/usr/isteps/istep13/istep13consts.H33
-rw-r--r--src/usr/isteps/istep13/makefile43
-rw-r--r--src/usr/isteps/istep13/palmetto_vddr.C (renamed from src/usr/hwpf/hwp/dram_training/palmetto_vddr.C)3
-rw-r--r--src/usr/isteps/istep13/platform_vddr.H (renamed from src/usr/hwpf/hwp/dram_training/platform_vddr.H)3
-rw-r--r--src/usr/isteps/makefile1
21 files changed, 1363 insertions, 931 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C
deleted file mode 100644
index 8613a46aa..000000000
--- a/src/usr/hwpf/hwp/dram_training/dram_training.C
+++ /dev/null
@@ -1,900 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/dram_training.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] Google Inc. */
-/* [+] 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 */
-/**
- * @file dram_training.C
- *
- * Support file for IStep: dram_training
- * Step 13 DRAM Training
- *
- * HWP_IGNORE_VERSION_CHECK
- *
- */
-
-/******************************************************************************/
-// Includes
-/******************************************************************************/
-#include <stdint.h>
-
-#include <trace/interface.H>
-#include <initservice/taskargs.H>
-#include <errl/errlentry.H>
-
-#include <initservice/isteps_trace.H>
-
-// targeting support
-#include <targeting/common/commontargeting.H>
-#include <targeting/common/util.H>
-#include <targeting/common/utilFilter.H>
-
-#include <isteps/hwpisteperror.H>
-#include <errl/errludtarget.H>
-
-// fapi support
-#include <fapi.H>
-#include <fapiPlatHwpInvoker.H>
-
-//hb vddr support
-#include "platform_vddr.H"
-#include <initservice/initserviceif.H>
-
-// Run on all Centaurs/MBAs, but needs to keep this one handy in case we
-// want to limit them in VPO
-const uint8_t UNLIMITED_RUN = 0xFF;
-const uint8_t VPO_NUM_OF_MBAS_TO_RUN = UNLIMITED_RUN;
-const uint8_t VPO_NUM_OF_MEMBUF_TO_RUN = UNLIMITED_RUN;
-
-// -- prototype includes --
-#include "dram_training.H"
-
-#include "mem_pll_setup/cen_mem_pll_initf.H"
-#include "mem_pll_setup/cen_mem_pll_setup.H"
-#include "mem_startclocks/cen_mem_startclocks.H"
-#include "mss_scominit/mss_scominit.H"
-#include "mss_ddr_phy_reset/mss_ddr_phy_reset.H"
-#include "mss_draminit/mss_draminit.H"
-#include "mss_draminit_training/mss_draminit_training.H"
-#include "mss_draminit_trainadv/mss_draminit_training_advanced.H"
-#include "mss_draminit_mc/mss_draminit_mc.H"
-#include "proc_throttle_sync.H"
-
-
-namespace DRAM_TRAINING
-{
-
-using namespace ISTEP;
-using namespace ISTEP_ERROR;
-using namespace ERRORLOG;
-using namespace TARGETING;
-using namespace fapi;
-
-//
-// Wrapper function to call host_disable_vddr
-//
-void* call_host_disable_vddr( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
- IStepError l_StepError;
-
- TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- ENTER_MRK"call_host_disable_vddr");
-
- // This function has Compile-time binding for desired platform
- l_err = platform_disable_vddr();
-
- if(l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: call_host_disable_vddr returns error",
- l_err->reasonCode());
- // Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails( l_err );
-
- errlCommit( l_err, HWPF_COMP_ID );
-
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- EXIT_MRK"call_host_disable_vddr");
-
- return l_StepError.getErrorHandle();
-}
-
-
-//
-// Wrapper function to call mem_pll_initf
-//
-void* call_mem_pll_initf( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_StepError;
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_initf entry" );
-
- // Get all Centaur targets
- 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)
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_pCentaur = *l_membuf_iter;
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running cen_mem_pll_initf HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_pCentaur)));
-
- // call cen_mem_pll_initf to do pll init
- FAPI_INVOKE_HWP(l_err, cen_mem_pll_initf, l_fapi_centaur);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: cen_mem_pll_initf HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err );
-
- //Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails(l_err);
-
- // Commit Error
- errlCommit(l_err, HWPF_COMP_ID);
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS: cen_mem_pll_initf HWP( )" );
- }
- }
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_initf exit" );
-
- return l_StepError.getErrorHandle();
-}
-
-
-//
-// Wrapper function to call mem_pll_setup
-//
-void* call_mem_pll_setup( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_StepError;
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_setup entry" );
-
- // Get all Centaur targets
- 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)
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_pCentaur = *l_membuf_iter;
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mem_pll_setup HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_pCentaur)));
-
- // call cen_mem_pll_setup to verify lock
- FAPI_INVOKE_HWP(l_err, cen_mem_pll_setup, l_fapi_centaur);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mem_pll_setup HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
-
- //Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails(l_err);
-
- // Commit Error
- errlCommit(l_err, HWPF_COMP_ID);
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS: mem_pll_setup HWP( )" );
- }
- }
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_setup exit" );
-
- return l_StepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mem_startclocks
-//
-void* call_mem_startclocks( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_StepError;
-
- TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"call_mem_startclocks entry" );
-
- // Get all Centaur targets
- 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)
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_pCentaur = *l_membuf_iter;
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running cen_mem_startclocks HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_pCentaur)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, cen_mem_startclocks, l_fapi_centaur);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: cen_mem_startclocks HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
-
- //Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
-
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : cen_mem_startclocks HWP( )" );
- }
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mem_startclocks exit" );
-
- return l_StepError.getErrorHandle();
-}
-
-
-
-//
-// Wrapper function to call host_enable_vddr
-//
-void* call_host_enable_vddr( void *io_pArgs )
-{
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- ENTER_MRK"call_host_enable_vddr" );
-
- errlHndl_t l_err = NULL;
- IStepError l_StepError;
-
- // This fuction has compile-time binding for different platforms
- l_err = platform_enable_vddr();
-
- if( l_err )
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: call_host_enable_vddr returns error",
- l_err->reasonCode());
-
- l_StepError.addErrorDetails( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- EXIT_MRK"call_host_enable_vddr" );
-
- return l_StepError.getErrorHandle();
-}
-
-
-
-//
-// Wrapper function to call mss_scominit
-//
-void* call_mss_scominit( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit entry" );
-
- do
- {
- // Get all Centaur targets
- 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)
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_pCentaur = *l_membuf_iter;
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_scominit HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_pCentaur)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_scominit, l_fapi_centaur);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mss_scominit HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
-
- // Create IStep error log and cross reference to error that
- // occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_scominit HWP( )" );
- }
- }
- if (!l_stepError.isNull())
- {
- break;
- }
-
- // Run proc throttle sync
- // Get all functional proc chip targets
- TARGETING::TargetHandleList l_cpuTargetList;
- getAllChips(l_cpuTargetList, TYPE_PROC);
-
- for (TARGETING::TargetHandleList::const_iterator
- l_cpuIter = l_cpuTargetList.begin();
- l_cpuIter != l_cpuTargetList.end();
- ++l_cpuIter)
- {
- const TARGETING::Target* l_pTarget = *l_cpuIter;
- fapi::Target l_fapiproc_target( TARGET_TYPE_PROC_CHIP,
- (const_cast<TARGETING::Target*>(l_pTarget)));
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running proc_throttle_sync HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_pTarget));
-
- // Call proc_throttle_sync
- FAPI_INVOKE_HWP( l_err, proc_throttle_sync, l_fapiproc_target );
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: proc_throttle_sync HWP returns error",
- l_err->reasonCode());
-
- // Capture the target data in the elog
- ErrlUserDetailsTarget(l_pTarget).addToLog(l_err);
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : proc_throttle_sync HWP( )" );
- }
- }
-
- } while (0);
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mss_ddr_phy_reset
-//
-void* call_mss_ddr_phy_reset( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_ddr_phy_reset entry" );
-
- // Get all MBA targets
- TARGETING::TargetHandleList l_mbaTargetList;
- getAllChiplets(l_mbaTargetList, TYPE_MBA);
-
- // Limit the number of MBAs to run in VPO environment to save time.
- uint8_t l_mbaLimit = l_mbaTargetList.size();
- if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
- {
- l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
- }
-
- for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running call_mss_ddr_phy_reset HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_mba_target));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
- (const_cast<TARGETING::Target*>(l_mba_target)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_ddr_phy_reset, l_fapi_mba_target);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mss_ddr_phy_reset HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : call_mss_ddr_phy_reset HWP( )" );
- }
- } // end l_mbaNum loop
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_ddr_phy_reset exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mss_post_draminit
-//
-void mss_post_draminit( IStepError & l_stepError )
-{
- errlHndl_t l_err = NULL;
- bool rerun_vddr = false;
-
- do {
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "mss_post_draminit entry" );
-
- //@TODO RTC: 133831. The helper function is currently commented out because
- //some of the attributes don't exist. uncomment it once attribute support is
- //in place
-// set_eff_config_attrs_helper(ISTEP_07::POST_DRAM_INIT, rerun_vddr);
-
- if ( rerun_vddr == false )
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "mss_post_draminit: nothing to do" );
- break;
- }
-
- // Call mss_volt_vddr_offset to recalculate VDDR voltage
- // @TODO RTC: 133831 Uncomment once attribute support is in place
- /*
- l_err = ISTEP_07::setMemoryVoltageDomainOffsetVoltage<
- TARGETING::ATTR_MSS_VOLT_VDDR_OFFSET_DISABLE,
- TARGETING::ATTR_MEM_VDDR_OFFSET_MILLIVOLTS,
- TARGETING::ATTR_VMEM_ID>();
- */
- if(l_err)
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "mss_post_draminit: "
- "ERROR 0x%08X: setMemoryVoltageDomainOffsetVoltage for VDDR domain",
- l_err->reasonCode());
- l_stepError.addErrorDetails(l_err);
- errlCommit(l_err,HWPF_COMP_ID);
- break;
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "mss_post_draminit: mss_volt_vddr_offset(): SUCCESS");
- }
-
- // Call HWSV to call POWR code
- // This fuction has compile-time binding for different platforms
- l_err = platform_adjust_vddr_post_dram_init();
-
- if( l_err )
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X: mss_post_draminit: "
- "platform_adjust_vddr_post_dram_init() returns error",
- l_err->reasonCode());
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
-
- } while(0);
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "mss_post_draminit exit" );
- return;
-}
-
-
-
-//
-// Wrapper function to call mss_draminit
-//
-void* call_mss_draminit( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit entry" );
-
- // Get all MBA targets
- TARGETING::TargetHandleList l_mbaTargetList;
- getAllChiplets(l_mbaTargetList, TYPE_MBA);
-
- // Limit the number of MBAs to run in VPO environment to save time.
- uint8_t l_mbaLimit = l_mbaTargetList.size();
- if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
- {
- l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
- }
-
- for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
- {
- // Make a local copy of the target for ease of use
- const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_draminit HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_mba_target));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
- (const_cast<TARGETING::Target*>(l_mba_target)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_draminit, l_fapi_mba_target);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X : mss_draminit HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_mba_target).addToLog(l_err);
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_draminit HWP( )" );
- }
-
- } // endfor mba's
-
- // call POST_DRAM_INIT function
- if(INITSERVICE::spBaseServicesEnabled())
- {
- mss_post_draminit(l_stepError);
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-
-//
-// Wrapper function to call mss_draminit_training
-//
-void* call_mss_draminit_training( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_draminit_training entry" );
-
- // Get all MBA targets
- TARGETING::TargetHandleList l_mbaTargetList;
- getAllChiplets(l_mbaTargetList, TYPE_MBA);
-
- // Limit the number of MBAs to run in VPO environment to save time.
- uint8_t l_mbaLimit = l_mbaTargetList.size();
- if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
- {
- l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
- }
-
- for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_draminit_training HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_mba_target));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
- (const_cast<TARGETING::Target*>(l_mba_target)) );
-
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_draminit_training, l_fapi_mba_target);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X : mss_draminit_training HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_draminit_training HWP( )" );
- }
-
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_draminit_training exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mss_draminit_trainadv
-//
-void* call_mss_draminit_trainadv( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_draminit_trainadv entry" );
-
- // Get all MBA targets
- TARGETING::TargetHandleList l_mbaTargetList;
- getAllChiplets(l_mbaTargetList, TYPE_MBA);
-
- // Limit the number of MBAs to run in VPO environment to save time.
- uint8_t l_mbaLimit = l_mbaTargetList.size();
- if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
- {
- l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
- }
-
- for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
- {
- // make a local copy of the target for ease of use
- const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_draminit_training_advanced HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_mba_target));
-
- // Cast to a FAPI type of target.
- const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
- (const_cast<TARGETING::Target*>(l_mba_target)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_draminit_training_advanced,
- l_fapi_mba_target);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X : mss_draminit_training_advanced HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_draminit_training_advanced HWP( )" );
- }
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_draminit_trainadv exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mss_draminit_mc
-//
-void* call_mss_draminit_mc( void *io_pArgs )
-{
- errlHndl_t l_err = NULL;
-
- IStepError l_stepError;
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"call_mss_draminit_mc entry" );
-
- // Get all centaur targets
- TARGETING::TargetHandleList l_mBufTargetList;
- getAllChips(l_mBufTargetList, TYPE_MEMBUF);
-
- // Limit the number of MBAs to run in VPO environment to save time.
- uint8_t l_memBufLimit = l_mBufTargetList.size();
- if (TARGETING::is_vpo() && (VPO_NUM_OF_MEMBUF_TO_RUN < l_memBufLimit))
- {
- l_memBufLimit = VPO_NUM_OF_MEMBUF_TO_RUN;
- }
-
- for ( uint8_t l_mBufNum=0; l_mBufNum < l_memBufLimit; l_mBufNum++ )
- {
- const TARGETING::Target* l_membuf_target = l_mBufTargetList[l_mBufNum];
-
- // Dump current run on target
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "Running mss_draminit_mc HWP on "
- "target HUID %.8X", TARGETING::get_huid(l_membuf_target));
-
- // Cast to a fapi target
- fapi::Target l_fapi_membuf_target( TARGET_TYPE_MEMBUF_CHIP,
- (const_cast<TARGETING::Target*>(l_membuf_target)) );
-
- // call the HWP with each fapi::Target
- FAPI_INVOKE_HWP(l_err, mss_draminit_mc, l_fapi_membuf_target);
-
- if (l_err)
- {
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "ERROR 0x%.8X : mss_draminit_mc HWP returns error",
- l_err->reasonCode());
-
- // capture the target data in the elog
- ErrlUserDetailsTarget(l_membuf_target).addToLog( l_err );
-
- // Create IStep error log and cross reference to error that occurred
- l_stepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
- }
- else
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : mss_draminit_mc HWP( )" );
- }
-
- } // End; memBuf loop
-
- TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_mc exit" );
-
- return l_stepError.getErrorHandle();
-}
-
-//
-// Wrapper function to call mss_dimm_power_test
-//
-void* call_mss_dimm_power_test( void *io_pArgs )
-{
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_dimm_power_test entry" );
-
-// This istep is a place holder
-
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_dimm_power_test exit" );
-
- return NULL;
-}
-
-}; // end namespace
diff --git a/src/usr/hwpf/hwp/dram_training/makefile b/src/usr/hwpf/hwp/dram_training/makefile
index fea2d0120..11496a39b 100644
--- a/src/usr/hwpf/hwp/dram_training/makefile
+++ b/src/usr/hwpf/hwp/dram_training/makefile
@@ -60,7 +60,6 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/cen_stopclocks
EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_initialization/proc_throttle_sync
## NOTE: add new object files when you add a new HWP
-OBJS += dram_training.o
OBJS += mss_draminit.o
OBJS += mss_funcs.o
OBJS += mss_draminit_mc.o
@@ -83,9 +82,6 @@ OBJS += mss_ddr4_pda.o
OBJS += mss_ddr4_funcs.o
OBJS += mss_mrs6_DDR4.o
-#
-OBJS += $(if $(CONFIG_PALMETTO_VDDR),palmetto_vddr.o, hbVddrMsg.o)
-
## NOTE: add a new directory onto the vpaths when you add a new HWP
##@ VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/???
VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_training
diff --git a/src/usr/isteps/istep13/call_host_disable_vddr.C b/src/usr/isteps/istep13/call_host_disable_vddr.C
new file mode 100644
index 000000000..565aab658
--- /dev/null
+++ b/src/usr/isteps/istep13/call_host_disable_vddr.C
@@ -0,0 +1,67 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_host_disable_vddr.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+#include "platform_vddr.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+
+namespace ISTEP_13
+{
+
+void* call_host_disable_vddr (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+ IStepError l_StepError;
+
+ TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ ENTER_MRK"call_host_disable_vddr");
+
+ // This function has Compile-time binding for desired platform
+ l_err = platform_disable_vddr();
+
+ if(l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: call_host_disable_vddr returns error",
+ l_err->reasonCode());
+ // Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ errlCommit( l_err, HWPF_COMP_ID );
+
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ EXIT_MRK"call_host_disable_vddr");
+
+ return l_StepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_host_enable_vddr.C b/src/usr/isteps/istep13/call_host_enable_vddr.C
new file mode 100644
index 000000000..91f05d0df
--- /dev/null
+++ b/src/usr/isteps/istep13/call_host_enable_vddr.C
@@ -0,0 +1,76 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_host_enable_vddr.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+#include "platform_vddr.H"
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_host_enable_vddr (void *io_pArgs)
+{
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ ENTER_MRK"call_host_enable_vddr" );
+
+ errlHndl_t l_err = NULL;
+ IStepError l_StepError;
+
+ // This fuction has compile-time binding for different platforms
+ l_err = platform_enable_vddr();
+
+ if( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: call_host_enable_vddr returns error",
+ l_err->reasonCode());
+
+ l_StepError.addErrorDetails( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ EXIT_MRK"call_host_enable_vddr" );
+
+ return l_StepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mem_pll_initf.C b/src/usr/isteps/istep13/call_mem_pll_initf.C
new file mode 100644
index 000000000..2217ec42b
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mem_pll_initf.C
@@ -0,0 +1,101 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mem_pll_initf.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+namespace ISTEP_13
+{
+void* call_mem_pll_initf (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_StepError;
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_initf entry" );
+
+ // Get all Centaur targets
+ 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)
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_pCentaur = *l_membuf_iter;
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running cen_mem_pll_initf HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
+
+ //@TODO RTC:133831 use fapi2 targets
+ // Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
+ // (const_cast<TARGETING::Target*>(l_pCentaur)));
+
+ //call cen_mem_pll_initf to do pll init
+ //FAPI_INVOKE_HWP(l_err, cen_mem_pll_initf, l_fapi_centaur);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: cen_mem_pll_initf HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err );
+
+ //Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails(l_err);
+
+ // Commit Error
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS: cen_mem_pll_initf HWP( )" );
+ }
+ }
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_initf exit" );
+
+ return l_StepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mem_pll_setup.C b/src/usr/isteps/istep13/call_mem_pll_setup.C
new file mode 100644
index 000000000..9ddddcabd
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mem_pll_setup.C
@@ -0,0 +1,101 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mem_pll_setup.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mem_pll_setup (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_StepError;
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_setup entry" );
+
+ // Get all Centaur targets
+ 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)
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_pCentaur = *l_membuf_iter;
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mem_pll_setup HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
+ // (const_cast<TARGETING::Target*>(l_pCentaur)));
+
+ //call cen_mem_pll_setup to verify lock
+ //FAPI_INVOKE_HWP(l_err, cen_mem_pll_setup, l_fapi_centaur);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mem_pll_setup HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
+
+ //Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails(l_err);
+
+ // Commit Error
+ errlCommit(l_err, HWPF_COMP_ID);
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS: mem_pll_setup HWP( )" );
+ }
+ }
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_pll_setup exit" );
+
+ return l_StepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mem_startclocks.C b/src/usr/isteps/istep13/call_mem_startclocks.C
new file mode 100644
index 000000000..47ed80a6a
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mem_startclocks.C
@@ -0,0 +1,104 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mem_startclocks.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mem_startclocks (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_StepError;
+
+ TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"call_mem_startclocks entry" );
+
+ // Get all Centaur targets
+ 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)
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_pCentaur = *l_membuf_iter;
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running cen_mem_startclocks HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
+ // (const_cast<TARGETING::Target*>(l_pCentaur)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, cen_mem_startclocks, l_fapi_centaur);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: cen_mem_startclocks HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
+
+ //Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : cen_mem_startclocks HWP( )" );
+ }
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mem_startclocks exit" );
+
+ return l_StepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_ddr_phy_reset.C b/src/usr/isteps/istep13/call_mss_ddr_phy_reset.C
new file mode 100644
index 000000000..27084aa4d
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_ddr_phy_reset.C
@@ -0,0 +1,110 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_ddr_phy_reset.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+#include "istep13consts.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mss_ddr_phy_reset (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_ddr_phy_reset entry" );
+
+ // Get all MBA targets
+ TARGETING::TargetHandleList l_mbaTargetList;
+ getAllChiplets(l_mbaTargetList, TYPE_MBA);
+
+ // Limit the number of MBAs to run in VPO environment to save time.
+ uint8_t l_mbaLimit = l_mbaTargetList.size();
+ if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
+ {
+ l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
+ }
+
+ for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running call_mss_ddr_phy_reset HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mba_target));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
+ // (const_cast<TARGETING::Target*>(l_mba_target)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_ddr_phy_reset, l_fapi_mba_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mss_ddr_phy_reset HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : call_mss_ddr_phy_reset HWP( )" );
+ }
+ } // end l_mbaNum loop
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_ddr_phy_reset exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_draminit.C b/src/usr/isteps/istep13/call_mss_draminit.C
new file mode 100644
index 000000000..fa5485739
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_draminit.C
@@ -0,0 +1,186 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_draminit.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+#include <initservice/initserviceif.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+#include "istep13consts.H"
+#include "platform_vddr.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+
+void mss_post_draminit( IStepError & l_stepError )
+{
+ errlHndl_t l_err = NULL;
+ bool rerun_vddr = false;
+
+ do {
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "mss_post_draminit entry" );
+
+ //@TODO RTC: 133831. The helper function is currently commented out because
+ //some of the attributes don't exist. uncomment it once attribute support is
+ //in place
+// set_eff_config_attrs_helper(ISTEP_07::POST_DRAM_INIT, rerun_vddr);
+
+ if ( rerun_vddr == false )
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "mss_post_draminit: nothing to do" );
+ break;
+ }
+
+ // Call mss_volt_vddr_offset to recalculate VDDR voltage
+ // @TODO RTC: 133831 Uncomment once attribute support is in place
+ /*
+ l_err = ISTEP_07::setMemoryVoltageDomainOffsetVoltage<
+ TARGETING::ATTR_MSS_VOLT_VDDR_OFFSET_DISABLE,
+ TARGETING::ATTR_MEM_VDDR_OFFSET_MILLIVOLTS,
+ TARGETING::ATTR_VMEM_ID>();
+ */
+ if(l_err)
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "mss_post_draminit: "
+ "ERROR 0x%08X: setMemoryVoltageDomainOffsetVoltage for VDDR domain",
+ l_err->reasonCode());
+ l_stepError.addErrorDetails(l_err);
+ errlCommit(l_err,HWPF_COMP_ID);
+ break;
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "mss_post_draminit: mss_volt_vddr_offset(): SUCCESS");
+ }
+
+ // Call HWSV to call POWR code
+ // This fuction has compile-time binding for different platforms
+ l_err = platform_adjust_vddr_post_dram_init();
+
+ if( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mss_post_draminit: "
+ "platform_adjust_vddr_post_dram_init() returns error",
+ l_err->reasonCode());
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+
+ } while(0);
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "mss_post_draminit exit" );
+ return;
+}
+
+void* call_mss_draminit (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit entry" );
+
+ // Get all MBA targets
+ TARGETING::TargetHandleList l_mbaTargetList;
+ getAllChiplets(l_mbaTargetList, TYPE_MBA);
+
+ // Limit the number of MBAs to run in VPO environment to save time.
+ uint8_t l_mbaLimit = l_mbaTargetList.size();
+ if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
+ {
+ l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
+ }
+
+ for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
+ {
+ // Make a local copy of the target for ease of use
+ const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_draminit HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mba_target));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
+ // (const_cast<TARGETING::Target*>(l_mba_target)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_draminit, l_fapi_mba_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : mss_draminit HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_mba_target).addToLog(l_err);
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_draminit HWP( )" );
+ }
+
+ } // endfor mba's
+
+ // call POST_DRAM_INIT function
+ if(INITSERVICE::spBaseServicesEnabled())
+ {
+ mss_post_draminit(l_stepError);
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_draminit_mc.C b/src/usr/isteps/istep13/call_mss_draminit_mc.C
new file mode 100644
index 000000000..68d6efd6c
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_draminit_mc.C
@@ -0,0 +1,107 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_draminit_mc.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+#include "istep13consts.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mss_draminit_mc (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"call_mss_draminit_mc entry" );
+
+ // Get all centaur targets
+ TARGETING::TargetHandleList l_mBufTargetList;
+ getAllChips(l_mBufTargetList, TYPE_MEMBUF);
+
+ // Limit the number of MBAs to run in VPO environment to save time.
+ uint8_t l_memBufLimit = l_mBufTargetList.size();
+ if (TARGETING::is_vpo() && (VPO_NUM_OF_MEMBUF_TO_RUN < l_memBufLimit))
+ {
+ l_memBufLimit = VPO_NUM_OF_MEMBUF_TO_RUN;
+ }
+
+ for ( uint8_t l_mBufNum=0; l_mBufNum < l_memBufLimit; l_mBufNum++ )
+ {
+ const TARGETING::Target* l_membuf_target = l_mBufTargetList[l_mBufNum];
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_draminit_mc HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_membuf_target));
+
+ //@TODO RTC:133831 Cast to a fapi target
+ //fapi::Target l_fapi_membuf_target( TARGET_TYPE_MEMBUF_CHIP,
+ // (const_cast<TARGETING::Target*>(l_membuf_target)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_draminit_mc, l_fapi_membuf_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : mss_draminit_mc HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_membuf_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_draminit_mc HWP( )" );
+ }
+
+ } // End; memBuf loop
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_mc exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_draminit_trainadv.C b/src/usr/isteps/istep13/call_mss_draminit_trainadv.C
new file mode 100644
index 000000000..611e49e18
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_draminit_trainadv.C
@@ -0,0 +1,107 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_draminit_trainadv.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+#include "istep13consts.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mss_draminit_trainadv (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_draminit_trainadv entry" );
+
+ // Get all MBA targets
+ TARGETING::TargetHandleList l_mbaTargetList;
+ getAllChiplets(l_mbaTargetList, TYPE_MBA);
+
+ // Limit the number of MBAs to run in VPO environment to save time.
+ uint8_t l_mbaLimit = l_mbaTargetList.size();
+ if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
+ {
+ l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
+ }
+
+ for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_draminit_training_advanced HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mba_target));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
+ // (const_cast<TARGETING::Target*>(l_mba_target)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_draminit_training_advanced,
+ // l_fapi_mba_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : mss_draminit_training_advanced HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_draminit_training_advanced HWP( )" );
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_draminit_trainadv exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_draminit_training.C b/src/usr/isteps/istep13/call_mss_draminit_training.C
new file mode 100644
index 000000000..28f0a879d
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_draminit_training.C
@@ -0,0 +1,111 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_draminit_training.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+#include "istep13consts.H"
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mss_draminit_training (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_draminit_training entry" );
+
+ // Get all MBA targets
+ TARGETING::TargetHandleList l_mbaTargetList;
+ getAllChiplets(l_mbaTargetList, TYPE_MBA);
+
+ // Limit the number of MBAs to run in VPO environment to save time.
+ uint8_t l_mbaLimit = l_mbaTargetList.size();
+ if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit))
+ {
+ l_mbaLimit = VPO_NUM_OF_MBAS_TO_RUN;
+ }
+
+ for ( uint8_t l_mbaNum=0; l_mbaNum < l_mbaLimit; l_mbaNum++ )
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_mba_target = l_mbaTargetList[l_mbaNum];
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_draminit_training HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mba_target));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET,
+ // (const_cast<TARGETING::Target*>(l_mba_target)) );
+
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_draminit_training, l_fapi_mba_target);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : mss_draminit_training HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_mba_target).addToLog( l_err );
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_draminit_training HWP( )" );
+ }
+
+ }
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_draminit_training exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_mss_scominit.C b/src/usr/isteps/istep13/call_mss_scominit.C
new file mode 100644
index 000000000..c6eaae3da
--- /dev/null
+++ b/src/usr/isteps/istep13/call_mss_scominit.C
@@ -0,0 +1,156 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_mss_scominit.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+#include <errl/errlmanager.H>
+#include <errl/errludtarget.H>
+#include <isteps/hwpisteperror.H>
+#include <initservice/isteps_trace.H>
+
+// targeting support
+#include <targeting/common/commontargeting.H>
+#include <targeting/common/util.H>
+#include <targeting/common/utilFilter.H>
+
+using namespace ERRORLOG;
+using namespace ISTEP;
+using namespace ISTEP_ERROR;
+using namespace TARGETING;
+
+namespace ISTEP_13
+{
+void* call_mss_scominit (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+
+ IStepError l_stepError;
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit entry" );
+
+ do
+ {
+ // Get all Centaur targets
+ 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)
+ {
+ // make a local copy of the target for ease of use
+ const TARGETING::Target* l_pCentaur = *l_membuf_iter;
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running mss_scominit HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_pCentaur));
+
+ //@TODO RTC:133831 Cast to a FAPI type of target.
+ //const fapi::Target l_fapi_centaur( TARGET_TYPE_MEMBUF_CHIP,
+ // (const_cast<TARGETING::Target*>(l_pCentaur)) );
+
+ // call the HWP with each fapi::Target
+ //FAPI_INVOKE_HWP(l_err, mss_scominit, l_fapi_centaur);
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: mss_scominit HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err);
+
+ // Create IStep error log and cross reference to error that
+ // occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : mss_scominit HWP( )" );
+ }
+ }
+ if (!l_stepError.isNull())
+ {
+ break;
+ }
+
+ // Run proc throttle sync
+ // Get all functional proc chip targets
+ TARGETING::TargetHandleList l_cpuTargetList;
+ getAllChips(l_cpuTargetList, TYPE_PROC);
+
+ for (TARGETING::TargetHandleList::const_iterator
+ l_cpuIter = l_cpuTargetList.begin();
+ l_cpuIter != l_cpuTargetList.end();
+ ++l_cpuIter)
+ {
+ const TARGETING::Target* l_pTarget = *l_cpuIter;
+ //@TODO RTC:133831
+ //fapi::Target l_fapiproc_target( TARGET_TYPE_PROC_CHIP,
+ // (const_cast<TARGETING::Target*>(l_pTarget)));
+
+ //TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ // "Running proc_throttle_sync HWP on "
+ // "target HUID %.8X", TARGETING::get_huid(l_pTarget));
+
+ // Call proc_throttle_sync
+ //FAPI_INVOKE_HWP( l_err, proc_throttle_sync, l_fapiproc_target );
+
+ if (l_err)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X: proc_throttle_sync HWP returns error",
+ l_err->reasonCode());
+
+ // Capture the target data in the elog
+ ErrlUserDetailsTarget(l_pTarget).addToLog(l_err);
+
+ // Create IStep error log and cross reference
+ // to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS : proc_throttle_sync HWP( )" );
+ }
+ }
+
+ } while (0);
+
+ TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_scominit exit" );
+
+ return l_stepError.getErrorHandle();
+}
+
+};
diff --git a/src/usr/isteps/istep13/call_proc_mcs_skewadjust.C b/src/usr/isteps/istep13/call_proc_mcs_skewadjust.C
new file mode 100644
index 000000000..3f99ffbb8
--- /dev/null
+++ b/src/usr/isteps/istep13/call_proc_mcs_skewadjust.C
@@ -0,0 +1,38 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/call_proc_mcs_skewadjust.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#include <errl/errlentry.H>
+
+using namespace ERRORLOG;
+
+namespace ISTEP_13
+{
+void* call_proc_mcs_skewadjust (void *io_pArgs)
+{
+ errlHndl_t l_err = NULL;
+ //@TODO RTC:133831 call p9_mem_skewadjust.C HWP
+ return l_err;
+}
+
+};
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C b/src/usr/isteps/istep13/hbVddrMsg.C
index cd131c515..0c253f9a5 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
+++ b/src/usr/isteps/istep13/hbVddrMsg.C
@@ -1,12 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/hbVddrMsg.C $ */
+/* $Source: src/usr/isteps/istep13/hbVddrMsg.C $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2012,2015 */
-/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -35,15 +34,13 @@
#include <mbox/mbox_queues.H>
#include <mbox/mboxif.H>
-#include <hbVddrMsg.H>
+#include "hbVddrMsg.H"
#include <initservice/initserviceif.H>
#include <pnor/pnorif.H>
-#include <fapi.H>
#include "platform_vddr.H"
using namespace ERRORLOG;
-
using namespace TARGETING;
// Trace definition
@@ -356,7 +353,7 @@ errlHndl_t HBVddrMsg::sendMsg(VDDR_MSG_TYPE i_msgType) const
* @errortype
* @moduleid fapi::MOD_VDDR_SEND_MSG
* @reasoncode fapi::RC_INCORRECT_MSG_TYPE
- * @userdata1 i_msgType
+ * @userdata1 i_msgType
* @userdata2 0
*
* @devdesc HB got an incorrect type message. HB did not
@@ -454,7 +451,7 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
do{
if (l_extraData==NULL)
{
- //an error occred in obtaining the extra data from the response msg
+ //an error occred in obtaining the extra data from the response msg
TRACFCOMP( g_trac_volt, ERR_MRK
"HBVddrMsg::processVDDRmsg: l_extraData = NULL");
//create an errorlog
@@ -465,8 +462,8 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
* @userdata1 0
* @userdata2 0
*
- * @devdesc The hwsv returned a message where the extra data
- * was null. This should not happen so need to
+ * @devdesc The hwsv returned a message where the extra data
+ * was null. This should not happen so need to
* tell HostBoot to stop the ipl
*/
createErrLog(l_errLog, fapi::MOD_VDDR_PROC_VDDR_MSG,
@@ -479,7 +476,7 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
uint32_t l_errPlid =0x0;
TRACFCOMP( g_trac_volt, INFO_MRK "HBVddrMsg::processVDDRmsg: "
- "l_elementCount=%d, l_msgSize =%d",
+ "l_elementCount=%d, l_msgSize =%d",
l_elementCount, l_msgSize);
const hwsvPowrMemVoltDomainReply_t* l_ptr=
reinterpret_cast<const hwsvPowrMemVoltDomainReply_t*>(l_extraData);
@@ -511,7 +508,7 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
* @errortype
* @moduleid fapi::MOD_VDDR_PROC_VDDR_MSG
* @reasoncode fapi::RC_VDDR_POWR_ERR
- * @userdata1 l_errPlid
+ * @userdata1 l_errPlid
* @userdata2 0
*
* @devdesc The hwsv returned a message where there was
@@ -526,10 +523,10 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
}
l_ptr++;
- }
+ }
}while(0);
TRACFCOMP(g_trac_volt, EXIT_MRK "HBVddrMsg::processVDDRmsg");
- return l_errLog;
+ return l_errLog;
}
///////////////////////////////////////////////////////////////////////////////
@@ -550,7 +547,7 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
if (l_value1 ==0)
{
//process a response to a request
-
+
uint32_t l_msgType =i_Msg->type;
TRACFCOMP( g_trac_volt, INFO_MRK
"HBVddrMsg::processMsg l_msgType=x%08X",l_msgType );
@@ -558,19 +555,19 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
(l_msgType == HB_VDDR_DISABLE)||
(l_msgType == HB_VDDR_POST_DRAM_INIT_ENABLE) )
{
- //process a VDDR message
+ //process a VDDR message
l_errLog=processVDDRmsg(i_Msg);
if (l_errLog)
{
break;
- }
+ }
}
else
{
TRACFCOMP( g_trac_volt, ERR_MRK
"HBVddrMsg::processMsg recv'd a non valid type");
- //generate errorLog;
+ //generate errorLog;
/*@
* @errortype
* @moduleid fapi::MOD_VDDR_PROC_MSG
@@ -596,12 +593,12 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
* @errortype
* @moduleid fapi::MOD_VDDR_PROC_MSG
* @reasoncode fapi::RC_VDDR_ERROR_MSG
- * @userdata1 error PLID from hwsv
+ * @userdata1 error PLID from hwsv
* @userdata2 0
*
- * @devdesc The hwsv found an error while processing the
+ * @devdesc The hwsv found an error while processing the
* message so it sent an error message back to
- * indicate to HostBoot to stop the IPL.
+ * indicate to HostBoot to stop the IPL.
* Userdata1 will have the error PLID from hwsv's
* errorlog
*/
@@ -613,7 +610,7 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
}while(0);
TRACFCOMP(g_trac_volt, EXIT_MRK "HBVddrMsg::processMsg");
- return l_errLog;
+ return l_errLog;
}
///////////////////////////////////////////////////////////////////////////////
@@ -632,7 +629,7 @@ void HBVddrMsg::createErrLog(errlHndl_t& io_err,
i_userData1,
0);
- }
+ }
return;
}
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H b/src/usr/isteps/istep13/hbVddrMsg.H
index 23f79fc14..2b14c0c00 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H
+++ b/src/usr/isteps/istep13/hbVddrMsg.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/hbVddrMsg.H $ */
+/* $Source: src/usr/isteps/istep13/hbVddrMsg.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
diff --git a/src/usr/isteps/istep13/istep13consts.H b/src/usr/isteps/istep13/istep13consts.H
new file mode 100644
index 000000000..0b01a2082
--- /dev/null
+++ b/src/usr/isteps/istep13/istep13consts.H
@@ -0,0 +1,33 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/isteps/istep13/istep13consts.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 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 */
+#ifndef _ISTEP13CONSTS_H_
+#define _ISTEP13CONSTS_H_
+// Run on all Centaurs/MBAs, but needs to keep this one handy in case we
+// want to limit them in VPO
+const uint8_t UNLIMITED_RUN = 0xFF;
+const uint8_t VPO_NUM_OF_MBAS_TO_RUN = UNLIMITED_RUN;
+const uint8_t VPO_NUM_OF_MEMBUF_TO_RUN = UNLIMITED_RUN;
+
+#endif
diff --git a/src/usr/isteps/istep13/makefile b/src/usr/isteps/istep13/makefile
new file mode 100644
index 000000000..8752ac179
--- /dev/null
+++ b/src/usr/isteps/istep13/makefile
@@ -0,0 +1,43 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/isteps/istep13/makefile $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 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
+ROOTPATH = ../../../..
+MODULE = istep13
+
+OBJS += call_host_disable_vddr.o
+OBJS += call_mem_pll_initf.o
+OBJS += call_mem_pll_setup.o
+OBJS += call_proc_mcs_skewadjust.o
+OBJS += call_mem_startclocks.o
+OBJS += call_host_enable_vddr.o
+OBJS += call_mss_scominit.o
+OBJS += call_mss_ddr_phy_reset.o
+OBJS += call_mss_draminit.o
+OBJS += call_mss_draminit_training.o
+OBJS += call_mss_draminit_trainadv.o
+OBJS += call_mss_draminit_mc.o
+
+OBJS += $(if $(CONFIG_PALMETTO_VDDR),palmetto_vddr.o,hbVddrMsg.o)
+
+include ${ROOTPATH}/config.mk
diff --git a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C b/src/usr/isteps/istep13/palmetto_vddr.C
index b0b7e47d7..d67d753a8 100644
--- a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
+++ b/src/usr/isteps/istep13/palmetto_vddr.C
@@ -1,12 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/palmetto_vddr.C $ */
+/* $Source: src/usr/isteps/istep13/palmetto_vddr.C $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
/* */
diff --git a/src/usr/hwpf/hwp/dram_training/platform_vddr.H b/src/usr/isteps/istep13/platform_vddr.H
index b726aee0c..0ec49a869 100644
--- a/src/usr/hwpf/hwp/dram_training/platform_vddr.H
+++ b/src/usr/isteps/istep13/platform_vddr.H
@@ -1,12 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/platform_vddr.H $ */
+/* $Source: src/usr/isteps/istep13/platform_vddr.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
/* */
diff --git a/src/usr/isteps/makefile b/src/usr/isteps/makefile
index 8e0d560b9..c52bda4a0 100644
--- a/src/usr/isteps/makefile
+++ b/src/usr/isteps/makefile
@@ -32,6 +32,7 @@ SUBDIRS+=istep09.d
SUBDIRS+=istep10.d
SUBDIRS+=istep11.d
SUBDIRS+=istep12.d
+SUBDIRS+=istep13.d
OBJS += hwpisteperror.o
OBJS += hwpistepud.o
OpenPOWER on IntegriCloud