diff options
author | Yue Du <daviddu@us.ibm.com> | 2017-03-28 22:41:39 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-04-05 14:03:01 -0400 |
commit | b422d4419f9ba1bd076532e455d1cf29da37f411 (patch) | |
tree | b992242bd315344b9f46bd94ec6546bf050e46d3 /src/import/chips | |
parent | 7d82159434d84d6fe06c2c8210a35595dbe2b378 (diff) | |
download | talos-hostboot-b422d4419f9ba1bd076532e455d1cf29da37f411.tar.gz talos-hostboot-b422d4419f9ba1bd076532e455d1cf29da37f411.zip |
STOP: move DPLL setup to SGPE init
CMVC-Coreq: 1021028
CMVC-Prereq:1021177
Change-Id: Ie83b057061d5a8db3f3945775f11da201fb18998
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38561
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@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: AMIT KUMAR <akumar3@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38565
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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C index f4e9a85d5..ca477bbb3 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C @@ -182,6 +182,28 @@ fapi2::ReturnCode p9_pm_stop_gpe_init( .set_MODE(p9pm::PM_RESET), "PBA setup failed"); + // Initialize DPLL Mode and Slew Rate (Done once for runtime STOPs) + // Hostboot Master is done in istep4 hwp prior to this + uint8_t l_quad_number = 0; + fapi2::buffer<uint64_t> l_data64 = 0; + + auto l_functional_quad_vector = + i_target.getChildren<fapi2::TARGET_TYPE_EQ> + (fapi2::TARGET_STATE_FUNCTIONAL); + + for(auto l_chplt_trgt : l_functional_quad_vector) + { + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, + l_chplt_trgt, + l_quad_number), + "ERROR: Failed to get the position of the QUAD:0x%08X", + l_chplt_trgt); + FAPI_DBG("QUAD number = %d", l_quad_number); + l_data64.flush<0>().setBit<2>().insertFromRight<6, 10>(0x01); + FAPI_TRY(putScom(l_chplt_trgt, EQ_QPPM_DPLL_CTRL_OR, l_data64), + "ERROR: Failed to assert DPLL in mode 1 and set slew rate to 1"); + } + // Boot the STOP GPE FAPI_TRY(stop_gpe_init(i_target), "ERROR: failed to initialize Stop GPE"); |