diff options
author | Prachi Gupta <pragupta@us.ibm.com> | 2015-10-23 17:00:16 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2015-12-11 15:30:27 -0600 |
commit | 3f38d7bb2084ab959fd407e4b864e995d2b003a7 (patch) | |
tree | a407ea4072d37657f73ce10af7e0cb6aed607918 /src | |
parent | 6aab5b3a5300c63bbbfeecf243c8fb2bd6bd0681 (diff) | |
download | blackbird-hostboot-3f38d7bb2084ab959fd407e4b864e995d2b003a7.tar.gz blackbird-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')
24 files changed, 1563 insertions, 933 deletions
diff --git a/src/build/tools/listdeps.pl b/src/build/tools/listdeps.pl index d26e8e116..a42cabcdd 100755 --- a/src/build/tools/listdeps.pl +++ b/src/build/tools/listdeps.pl @@ -173,6 +173,7 @@ else "libistep10.so", "libistep11.so", "libistep12.so", + "libistep13.so", "libbuild_winkle_images.so" , "libcore_activate.so" , "libstart_payload.so" , @@ -227,6 +228,7 @@ my %istepFiles = ( "libistep10.so" => "istep10list.H" , "libistep11.so" => "istep11list.H" , "libistep12.so" => "istep12list.H" , + "libistep13.so" => "istep13list.H" , "libocc.so" => "istep15list.H" , "libbuild_winkle_images.so" => "istep15list.H" , "libcore_activate.so" => "istep16list.H" , diff --git a/src/include/usr/isteps/istep13list.H b/src/include/usr/isteps/istep13list.H index b8169edcc..7ab413769 100644 --- a/src/include/usr/isteps/istep13list.H +++ b/src/include/usr/isteps/istep13list.H @@ -31,7 +31,7 @@ * @file istep13list.H * * IStep 13 Step 13 - * IPL FLow Doc v0.60 (06/02/15) + * IPL FLow Doc v0.67 (11/11/15) * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. @@ -42,9 +42,143 @@ #include <initservice/initsvcreasoncodes.H> // include prototypes file -#include "../../../usr/hwpf/hwp/dram_training/dram_training.H" #include <config.h> +namespace ISTEP_13 +{ + +/** + * @brief host_disable_vddr + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_host_disable_vddr( void *io_pArgs ); + + + +/** + * @brief mem_pll_initf + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mem_pll_initf( void *io_pArgs ); + + + +/** + * @brief mem_pll_setup + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mem_pll_setup( void *io_pArgs ); + +/** + * @brief proc_mcs_skewadjust + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_proc_mcs_skewadjust( void *io_pArgs ); + + +/** + * @brief mem_startclocks + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mem_startclocks( void *io_pArgs ); + +/** + * @brief host_enable_vddr + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_host_enable_vddr( void *io_pArgs ); + +/** + * @brief mss_scominit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_scominit( void *io_pArgs ); + +/** + * @brief mss_ddr_phy_reset + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_ddr_phy_reset( void *io_pArgs ); + +/** + * @brief mss_draminit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_draminit( void *io_pArgs ); + +/** + * @brief mss_draminit_training + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_draminit_training( void *io_pArgs ); + +/** + * @brief mss_draminit_trainadv + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_draminit_trainadv( void *io_pArgs ); + +/** + * @brief mss_draminit_mc + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_mss_draminit_mc( void *io_pArgs ); + + + + + +}; + + namespace INITSERVICE { const TaskInfo g_istep13[] = { @@ -53,10 +187,71 @@ const TaskInfo g_istep13[] = { NULL, { NONE, EXT_IMAGE, IPL_NOOP, false } }, + { + ISTEPNAME(13,01,"host_disable_vddr"), + ISTEP_13::call_host_disable_vddr, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,02,"mem_pll_initf"), + ISTEP_13::call_mem_pll_initf, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,03,"mem_pll_setup"), + ISTEP_13::call_mem_pll_setup, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,04,"proc_mcs_skewadjust"), + ISTEP_13::call_proc_mcs_skewadjust, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,05,"mem_startclocks"), + ISTEP_13::call_mem_startclocks, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,06,"host_enable_vddr"), + ISTEP_13::call_host_enable_vddr, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,07,"mss_scominit"), + ISTEP_13::call_mss_scominit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,08,"mss_ddr_phy_reset"), + ISTEP_13::call_mss_ddr_phy_reset, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,09,"mss_draminit"), + ISTEP_13::call_mss_draminit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,10,"mss_draminit_training"), + ISTEP_13::call_mss_draminit_training, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,11,"mss_draminit_trainadv"), + ISTEP_13::call_mss_draminit_trainadv, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(13,12,"mss_draminit_mc"), + ISTEP_13::call_mss_draminit_mc, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, }; const DepModInfo g_istep13Dependancies = { { + DEP_LIB(libistep13.so), NULL } }; diff --git a/src/makefile b/src/makefile index 5f2eb663d..4e2a5063d 100644 --- a/src/makefile +++ b/src/makefile @@ -124,6 +124,7 @@ EXTENDED_MODULES += istep09 EXTENDED_MODULES += istep10 EXTENDED_MODULES += istep11 EXTENDED_MODULES += istep12 +EXTENDED_MODULES += istep13 EXTENDED_MODULES += targeting EXTENDED_MODULES += ecmddatabuffer EXTENDED_MODULES += fapi 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 |