diff options
author | Sangeetha T S <sangeet2@in.ibm.com> | 2016-01-11 09:31:06 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-06-09 11:29:49 -0400 |
commit | 0ad8b8c389eed52e19449e97adb5d794716e10aa (patch) | |
tree | 7cfa30080371f9bd12f50e665a49d89a74db2ed7 /src/import/chips | |
parent | 19a984a7d8d61e7bcc1b71c9957c8123c390a633 (diff) | |
download | talos-hostboot-0ad8b8c389eed52e19449e97adb5d794716e10aa.tar.gz talos-hostboot-0ad8b8c389eed52e19449e97adb5d794716e10aa.zip |
p9_pm_corequad_init : Level 1 - Interface design
Change-Id: If56735d281b74fdb6e3c60278fa2e34773d0e995
RTC: 140971
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/10671
Tested-by: Jenkins Server
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25499
Tested-by: FSP CI Jenkins
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips')
3 files changed, 175 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C new file mode 100644 index 000000000..d912ed197 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C @@ -0,0 +1,91 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_pm_corequad_init.C +/// @brief Establish safe settings for Core and Quad. +/// +// *HWP HWP Owner: Greg Still <stillgs@us.ibm.com> +// *HWP FW Owner: Sangeetha T S <sangeet2@in.ibm.com> +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: HS + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- +#include <p9_pm_corequad_init.H> + +// ----------------------------------------------------------------------------- +// Function prototypes +// ----------------------------------------------------------------------------- + +// Reset function +/// +/// @brief Stop the CMEs and clear the CME FIRs, PPM Errors and their masks +/// for all functional and enabled EX chiplets +/// +/// @param[in] i_target Proc Chip target +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// +fapi2::ReturnCode pm_corequad_reset( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); + +// Init function +/// +/// @brief Setup the CME and PPM Core & Quad for all functional and enabled +/// EX chiplets +/// +/// @param[in] i_target Proc Chip target +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// +fapi2::ReturnCode pm_corequad_init( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); + +// ---------------------------------------------------------------------- +// Function definitions +// ---------------------------------------------------------------------- + +fapi2::ReturnCode p9_pm_corequad_init( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const p9pm::PM_FLOW_MODE i_mode) +{ + FAPI_IMP("Entering p9_pm_corequad_init..."); + + FAPI_IMP("Exiting p9_pm_corequad_init..."); + return fapi2::current_err; +} + +fapi2::ReturnCode pm_corequad_init( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) +{ + FAPI_IMP("Entering pm_corequad_init..."); + + return fapi2::current_err; +} + +fapi2::ReturnCode pm_corequad_reset( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) +{ + FAPI_IMP("Entering pm_corequad_reset..."); + + return fapi2::current_err; +} + diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H new file mode 100644 index 000000000..03b421423 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H @@ -0,0 +1,64 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_pm_corequad_init.H +/// @brief Establish safe settings for Core and Quad. +/// +// *HWP HWP Owner: Greg Still <stillgs@us.ibm.com> +// *HWP FW Owner: Sangeetha T S <sangeet2@in.ibm.com> +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: HS + +#ifndef _P9_COREQ_IN_H_ +#define _P9_COREQ_IN_H_ + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- +#include <fapi2.H> +#include <p9_pm.H> +#include <p9_pm_utils.H> + +// function pointer typedef definition for HWP call support +typedef fapi2::ReturnCode (*p9_pm_corequad_init_FP_t) +(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&, + const p9pm::PM_FLOW_MODE); + +// ----------------------------------------------------------------------------- +// Function Prototype +// ----------------------------------------------------------------------------- +extern "C" +{ +/// +/// @brief Perform necessary actions to Core and Quad PPMs as well as CMEs +/// for reset and initialization. +/// +/// @param[in] i_target Proc Chip target +/// @param[in] i_mode Control mode for the procedure +/// PM_INIT, PM_RESET +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// + fapi2::ReturnCode p9_pm_corequad_init( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const p9pm::PM_FLOW_MODE i_mode); +} // extern "C" + +#endif // _P9_COREQ_IN_H_ diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk new file mode 100644 index 000000000..7307ac36e --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk @@ -0,0 +1,20 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk $ +# +# IBM CONFIDENTIAL +# +# EKB Project +# +# COPYRIGHT 2016 +# [+] International Business Machines Corp. +# +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# IBM_PROLOG_END_TAG +PROCEDURE=p9_pm_corequad_init +$(call BUILD_PROCEDURE) |