summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/perv
diff options
context:
space:
mode:
authorSunil.Kumar <skumar8j@in.ibm.com>2015-09-28 06:53:53 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-02-12 16:43:12 -0600
commit166a4cb6fa7b62cf72694a9f90c7aa49d24fe9c8 (patch)
tree7831e47f17655478c5dac83111f26b9f856c3596 /src/import/chips/p9/procedures/hwp/perv
parentd0154972da11d8d92fad421e857e6f80479cb5ff (diff)
downloadtalos-hostboot-166a4cb6fa7b62cf72694a9f90c7aa49d24fe9c8.tar.gz
talos-hostboot-166a4cb6fa7b62cf72694a9f90c7aa49d24fe9c8.zip
Level 2 Procedure - p9_sbe_lpc_init
Change-Id: I55b70b8a2c1f6b4eccf3a75d09e6431c91e5872a Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20801 Tested-by: Jenkins Server Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71472 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/perv')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.C46
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.H22
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.mk26
3 files changed, 68 insertions, 26 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.C
index 2553986bd..698d79691 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.C
@@ -25,28 +25,50 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_lpc_init.C
///
-/// @brief Requirement from the bootloader is that it only uses MMIOs to LPC master, not Xscom
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief procedure to initialize LPC to enable communictation to PNOR
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HW Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HW Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
//## auto_generated
#include "p9_sbe_lpc_init.H"
+
+#include "p9_perv_scom_addresses.H"
+
+
fapi2::ReturnCode p9_sbe_lpc_init(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chip)
{
- FAPI_DBG("p9_sbe_lpc_init: Entering ...");
+ fapi2::buffer<uint64_t> l_data64;
+ FAPI_DBG("Entering ...");
+
+ //activate LPCM reset input
+ //TODO: ADU register address TBD
+
+ // set LPC clock mux select to internal clock
+ //Setting CPLT_CTRL0 register value
+ l_data64.flush<0>();
+ l_data64.setBit<1>(); //PERV.CPLT_CTRL0.TC_UNIT_SYNCCLK_MUXSEL_DC = 1
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_TP_CPLT_CTRL0_OR, l_data64));
+
+ // set LPC clock mux select to external clock
+ //Setting CPLT_CTRL0 register value
+ l_data64.flush<0>();
+ l_data64.setBit<1>(); //PERV.CPLT_CTRL0.TC_UNIT_SYNCCLK_MUXSEL_DC = 0
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_TP_CPLT_CTRL0_CLEAR, l_data64));
+
+ //de-activate LPCM reset input
+ //TODO: ADU register address TBD
- FAPI_DBG("p9_sbe_lpc_init: Exiting ...");
+ FAPI_DBG("Exiting ...");
- return fapi2::FAPI2_RC_SUCCESS;
+fapi_try_exit:
+ return fapi2::current_err;
}
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.H b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.H
index 7f1b07ea3..b32de316d 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.H
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.H
@@ -25,16 +25,14 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_lpc_init.H
///
-/// @brief Requirement from the bootloader is that it only uses MMIOs to LPC master, not Xscom
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief procedure to initialize LPC to enable communictation to PNOR
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HW Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HW Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
@@ -48,11 +46,7 @@
typedef fapi2::ReturnCode (*p9_sbe_lpc_init_FP_t)(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&);
-/// @brief PerfoPerform scoms to setup LPC bus
-/// -- Move the LPC clock to external input
-/// Pull the LPC unit out of reset
-/// Set LPC BAR -- hardcoded like Xscom BAR
-///
+/// @brief LPC init to enable connection to PNOR
///
/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
/// @return FAPI2_RC_SUCCESS if success, else error code.
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.mk b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.mk
new file mode 100644
index 000000000..72e18c01b
--- /dev/null
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.mk
@@ -0,0 +1,26 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/import/chips/p9/procedures/hwp/perv/p9_sbe_lpc_init.mk $
+#
+# 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
+PROCEDURE=p9_sbe_lpc_init
+$(call BUILD_PROCEDURE)
OpenPOWER on IntegriCloud