summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/perv
diff options
context:
space:
mode:
authorBen Gass <bgass@us.ibm.com>2019-07-03 10:27:01 -0400
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-08-02 08:59:01 -0500
commit111b6f0e6bbb06679a090cb5de0cb426c2a33b20 (patch)
treedbd058b28e1bd0302a77643a5bfcf96bdeea83a4 /src/import/chips/p9/procedures/hwp/perv
parenteed8602070a6021b8e01d842b8bead02fdb45982 (diff)
downloadtalos-hostboot-111b6f0e6bbb06679a090cb5de0cb426c2a33b20.tar.gz
talos-hostboot-111b6f0e6bbb06679a090cb5de0cb426c2a33b20.zip
p9_nv_ref_clk_enable, NV refclk bits moved to ROOT_CTRL7 for Axone.
Change-Id: I9b7e316dcdb2545d38426fe6cd29429e92305be2 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79959 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Thi N Tran <thi@us.ibm.com> Reviewed-by: Mark S Fredrickson <mfred@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79980 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/perv')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C34
1 files changed, 26 insertions, 8 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C b/src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C
index 43e396486..8c64aa78a 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -43,12 +43,16 @@
#include <p9_nv_ref_clk_enable.H>
#include <p9_perv_scom_addresses.H>
#include <p9_perv_scom_addresses_fld.H>
+#include <p9a_perv_scom_addresses.H>
+#include <p9a_perv_scom_addresses_fld.H>
//------------------------------------------------------------------------------
// Constant definitions
//------------------------------------------------------------------------------
const uint16_t TPFSI_OFFCHIP_REFCLK_EN_NV = 0xF;
+// P9A_PERV_ROOT_CTRL7_TP_TPIO_NV_REFCLK_EN_DC_LEN == 6
+const uint16_t P9A_NV_REFCLK_BIT_LEN = 4;
//------------------------------------------------------------------------------
// Function definitions
@@ -58,13 +62,27 @@ fapi2::ReturnCode
p9_nv_ref_clk_enable(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
{
FAPI_INF("Start");
- fapi2::buffer<uint64_t> l_root_ctrl6;
- FAPI_TRY(fapi2::getScom(i_target, PERV_ROOT_CTRL6_SCOM, l_root_ctrl6),
- "Error from getScom (PERV_ROOT_CTRL6_SCOM)");
- l_root_ctrl6.insertFromRight<PERV_ROOT_CTRL6_TSFSI_NV_REFCLK_EN_DC,
- PERV_ROOT_CTRL6_TSFSI_NV_REFCLK_EN_DC_LEN>(TPFSI_OFFCHIP_REFCLK_EN_NV);
- FAPI_TRY(fapi2::putScom(i_target, PERV_ROOT_CTRL6_SCOM, l_root_ctrl6),
- "Error from putScom (PERV_ROOT_CTRL6_SCOM)");
+ fapi2::buffer<uint64_t> l_root_ctrl;
+ fapi2::ATTR_CHIP_EC_FEATURE_ONE_NPU_TOP_Type l_one_npu;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_ONE_NPU_TOP, i_target, l_one_npu));
+
+ if (l_one_npu)
+ {
+ FAPI_TRY(fapi2::getScom(i_target, PERV_ROOT_CTRL6_SCOM, l_root_ctrl),
+ "Error from getScom (PERV_ROOT_CTRL6_SCOM)");
+ l_root_ctrl.insertFromRight<PERV_ROOT_CTRL6_TSFSI_NV_REFCLK_EN_DC,
+ PERV_ROOT_CTRL6_TSFSI_NV_REFCLK_EN_DC_LEN>(TPFSI_OFFCHIP_REFCLK_EN_NV);
+ FAPI_TRY(fapi2::putScom(i_target, PERV_ROOT_CTRL6_SCOM, l_root_ctrl),
+ "Error from putScom (PERV_ROOT_CTRL6_SCOM)");
+ }
+ else
+ {
+ FAPI_TRY(fapi2::getScom(i_target, P9A_PERV_ROOT_CTRL7_SCOM, l_root_ctrl),
+ "Error from getScom (P9A_PERV_ROOT_CTRL7_SCOM)");
+ l_root_ctrl.setBit<P9A_PERV_ROOT_CTRL7_TP_TPIO_NV_REFCLK_EN_DC, P9A_NV_REFCLK_BIT_LEN>();
+ FAPI_TRY(fapi2::putScom(i_target, P9A_PERV_ROOT_CTRL7_SCOM, l_root_ctrl),
+ "Error from putScom (P9A_PERV_ROOT_CTRL7_SCOM)");
+ }
fapi_try_exit:
FAPI_INF("End");
OpenPOWER on IntegriCloud