diff options
author | Ben Gass <bgass@us.ibm.com> | 2019-07-03 10:27:01 -0400 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-08-02 08:59:01 -0500 |
commit | 111b6f0e6bbb06679a090cb5de0cb426c2a33b20 (patch) | |
tree | dbd058b28e1bd0302a77643a5bfcf96bdeea83a4 | |
parent | eed8602070a6021b8e01d842b8bead02fdb45982 (diff) | |
download | talos-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>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/perv/p9_nv_ref_clk_enable.C | 34 |
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"); |