From 0c34e40e9061b3431e294931659dc67c8f340130 Mon Sep 17 00:00:00 2001 From: Greg Still Date: Sun, 15 Nov 2015 14:46:21 -0600 Subject: 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 Reviewed-by: Gregory S. Still Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25630 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- .../chips/p9/procedures/hwp/pm/p9_pm_pss_init.C | 158 +++++++++++++++++++++ .../chips/p9/procedures/hwp/pm/p9_pm_pss_init.H | 61 ++++++++ .../chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk | 20 +++ 3 files changed, 239 insertions(+) create mode 100755 src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.C create mode 100755 src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.H create mode 100644 src/import/chips/p9/procedures/hwp/pm/p9_pm_pss_init.mk (limited to 'src/import/chips/p9/procedures/hwp/pm') 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 +// *HWP Backup HWP Owner: Greg Still +// *HWP FW Owner: Sangeetha T S +// *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 + + +// ----------------------------------------------------------------------------- +// 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& 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& 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& i_target); + + +// ----------------------------------------------------------------------------- +// Function definitions +// ----------------------------------------------------------------------------- + +fapi2::ReturnCode p9_pm_pss_init( + const fapi2::Target& 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& i_target) +{ + + FAPI_IMP("pm_pss_config_spi_settings Enter"); + return fapi2::current_err; + +} + + +fapi2::ReturnCode pm_pss_init( + const fapi2::Target& i_target) +{ + + FAPI_IMP("pm_pss_init Enter"); + return fapi2::current_err; + +} + + +fapi2::ReturnCode pm_pss_reset( + const fapi2::Target& 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 +// *HWP Backup HWP Owner: Greg Still +// *HWP FW Owner: Sangeetha T S +// *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 +#include + +typedef fapi2::ReturnCode (*p9_pm_pss_init_FP_t) +(const fapi2::Target&, + 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& 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) -- cgit v1.2.1