summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/pm
diff options
context:
space:
mode:
authorGreg Still <stillgs@us.ibm.com>2015-11-15 14:46:21 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-06-10 14:35:56 -0400
commit0c34e40e9061b3431e294931659dc67c8f340130 (patch)
tree1b75970c3dc465a9a194d284045968ab9797c09e /src/import/chips/p9/procedures/hwp/pm
parente0418f0e502cf92227fdab4414fd1884eeddce1c (diff)
downloadtalos-hostboot-0c34e40e9061b3431e294931659dc67c8f340130.tar.gz
talos-hostboot-0c34e40e9061b3431e294931659dc67c8f340130.zip
p9_pm_pss_init Level 1 follow-up
- Move to the procedures/hwp/pm directory - Add .mk for ekb build process - Add wrapper and associated .mk Change-Id: Ia65cc51f390b50148cff32ec54aae6816ceb9fe5 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22037 Tested-by: Jenkins Server Reviewed-by: Sangeetha T S <sangeet2@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25630 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm')
-rwxr-xr-xsrc/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.C158
-rwxr-xr-xsrc/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.H61
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk20
3 files changed, 239 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.C
new file mode 100755
index 000000000..63da20f89
--- /dev/null
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.C
@@ -0,0 +1,158 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: chips/p9/procedures/ipl/hwp/p9_pm_pss_init.C $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* EKB Project */
+/* */
+/* COPYRIGHT 2015 */
+/* [+] 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_pss_init.C
+/// @brief Initializes P2S and HWC logic
+///
+// *HWP HWP Owner: Amit Kumar <akumar3@us.ibm.com>
+// *HWP Backup 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: FSP:HS
+
+///
+/// Procedure Summary:
+/// --------------------
+/// One procedure to initialize both P2S and HWC SPIPSS registers to
+/// second Procedure is to access APSS or DPSS through P2S Bridge
+/// Third procedure is to access APSS or DPSS through HWC (hardware control)
+///
+/// High-level procedure flow:
+/// ----------------------------------
+/// o INIT PROCEDURE(frame_size,cpol,cpha)
+/// - set SPIPSS_ADC_CTRL_REG0(24b)
+/// hwctrl_frame_size = 16
+/// - set SPIPSS_ADC_CTRL_REG1
+/// hwctrl_fsm_enable = disable
+/// hwctrl_device = APSS
+/// hwctrl_cpol = 0 (set idle state = deasserted)
+/// hwctrl_cpha = 0 (set 1st edge = capture 2nd edge = change)
+/// hwctrl_clock_divider = set to 10Mhz(0x1D)
+/// hwctrl_nr_of_frames (4b) = 16 (for auto 2 mode)
+/// - set SPIPSS_ADC_CTRL_REG2
+/// hwctrl_interframe_delay = 0x0
+/// - clear SPIPSS_ADC_WDATA_REG
+/// - set SPIPSS_P2S_CTRL_REG0 (24b)
+/// p2s_frame_size = 16
+/// - set SPIPSS_P2S_CTRL_REG1
+/// p2s_bridge_enable = disable
+/// p2s_device = DPSS
+/// p2s_cpol = 0
+/// p2s_cpha = 0
+/// p2s_clock_divider = set to 10Mhz
+/// p2s_nr_of_frames (1b) = 0 (means 1 frame operation)
+/// - set SPIPSS_P2S_CTRL_REG2
+/// p2s_interframe_delay = 0x0
+/// - clear SPIPSS_P2S_WDATA_REG
+/// Procedure Prereq:
+/// o System clocks are running
+///
+
+
+// -----------------------------------------------------------------------------
+// Includes
+// -----------------------------------------------------------------------------
+#include <p9_pm_pss_init.H>
+
+
+// -----------------------------------------------------------------------------
+// Function prototypes
+// -----------------------------------------------------------------------------
+
+//------------------------------------------------------------------------------
+///
+/// @brief Determines the configuration setting for the SPI bus based on
+/// attributes
+///
+/// @param[in] i_target Chip target
+///
+/// @return FAPI2_RC_SUCCESS on success, else error.
+///
+fapi2::ReturnCode pm_pss_config_spi_settings(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target);
+
+//------------------------------------------------------------------------------
+///
+/// @brief Using configured attributed, performs the initialization of the PSS
+/// function
+///
+/// @param[in] i_target Chip target
+///
+/// @return FAPI2_RC_SUCCESS on success, else error.
+///
+fapi2::ReturnCode pm_pss_init(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target);
+
+//------------------------------------------------------------------------------
+///
+/// @brief Performs the reset of the PSS function
+///
+/// @param[in] i_target Chip target
+///
+/// @return FAPI2_RC_SUCCESS on success, else error.
+///
+fapi2::ReturnCode pm_pss_reset(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target);
+
+
+// -----------------------------------------------------------------------------
+// Function definitions
+// -----------------------------------------------------------------------------
+
+fapi2::ReturnCode p9_pm_pss_init(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
+ const p9pm::PM_FLOW_MODE i_mode)
+{
+
+ FAPI_IMP("p9_pm_pss_init Enter");
+
+ FAPI_IMP("p9_pm_pss_init Exit");
+ return fapi2::current_err;
+
+}
+
+
+fapi2::ReturnCode pm_pss_config_spi_settings(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
+{
+
+ FAPI_IMP("pm_pss_config_spi_settings Enter");
+ return fapi2::current_err;
+
+}
+
+
+fapi2::ReturnCode pm_pss_init(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
+{
+
+ FAPI_IMP("pm_pss_init Enter");
+ return fapi2::current_err;
+
+}
+
+
+fapi2::ReturnCode pm_pss_reset(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
+{
+
+ FAPI_IMP("pm_pss_reset Enter");
+ return fapi2::current_err;
+
+}
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.H
new file mode 100755
index 000000000..5abfc184b
--- /dev/null
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: chips/p9/procedures/ipl/hwp/p9_pm_pss_init.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* EKB Project */
+/* */
+/* COPYRIGHT 2015 */
+/* [+] 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_pss_init.H
+/// @brief Initializes P2S and HWC logic
+///
+// *HWP HWP Owner: Amit Kumar <akumar3@us.ibm.com>
+// *HWP Backup 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: FSP:HS
+
+#ifndef _P9_PM_PSS_INIT_H_
+#define _P9_PM_PSS_INIT_H_
+
+//------------------------------------------------------------------------------
+// Includes
+//------------------------------------------------------------------------------
+#include <fapi2.H>
+#include <p9_pm.H>
+
+typedef fapi2::ReturnCode (*p9_pm_pss_init_FP_t)
+(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&,
+ const p9pm::PM_FLOW_MODE);
+
+extern "C"
+{
+//------------------------------------------------------------------------------
+// Function prototype
+//------------------------------------------------------------------------------
+///
+/// @brief Calls the underlying routine based on mode parameter to initialize
+/// the PSS macro or reset it or configure the required attributes
+///
+/// @param[in] i_target Chip target
+/// @param[in] i_mode Control mode for the procedure:
+/// PM_INIT, PM_RESET
+///
+/// @return FAPI2_RC_SUCCESS if success, else error code
+///
+ fapi2::ReturnCode p9_pm_pss_init(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
+ const p9pm::PM_FLOW_MODE i_mode);
+}
+#endif // _P9_PM_PSS_INIT_H_
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk
new file mode 100644
index 000000000..6c00a364a
--- /dev/null
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk
@@ -0,0 +1,20 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: chips/p9/procedures/ipl/hwp/p9_pm_pss_init.mk $
+#
+# IBM CONFIDENTIAL
+#
+# EKB Project
+#
+# COPYRIGHT 2015
+# [+] 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_pss_init
+$(call BUILD_PROCEDURE)
OpenPOWER on IntegriCloud