diff options
author | Chris Steffen <cwsteffen@us.ibm.com> | 2018-07-12 12:54:53 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-07-31 15:23:44 -0500 |
commit | 5fff2d76035efad01642e1e60cd8fe6c4da11f58 (patch) | |
tree | 760430dc76fbc9f9b22acea5be88fe508067bc0d | |
parent | a6df8bea171597c7090ecbcc64a11cf4306c2093 (diff) | |
download | talos-hostboot-5fff2d76035efad01642e1e60cd8fe6c4da11f58.tar.gz talos-hostboot-5fff2d76035efad01642e1e60cd8fe6c4da11f58.zip |
Enable I/O PPE PHY Communication for Abus
- Before the image is loaded we need to set the
ppe gcr mode bit high. Otherwise the ppe
will not be able to communicate with the phy
and the abus workaround code will not work.
Change-Id: If0ded21d09196aab169023df9a3e0fa609e6db83
CQ: SW438477
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62348
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Gary A. Peterson <garyp@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62786
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-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/io/p9_io_obus_image_build.C | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_image_build.C b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_image_build.C index 8e385cf66..149e6ab76 100644 --- a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_image_build.C +++ b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_image_build.C @@ -40,7 +40,10 @@ #include <p9_io_obus_image_build.H> #include "p9_xip_image.h" -//--------------------------------------------------------------------------- +#include "p9_obus_scom_addresses.H" +#include "p9_obus_scom_addresses_fld.H" + +//-------------------------------------------------------------------------- fapi2::ReturnCode extractPpeImgObus(void* const iImagePtr, const int iSectionId, uint8_t*& oObusImgPtr, uint32_t& oSize) { FAPI_IMP("Entering getObusImageFromHwImage."); @@ -131,6 +134,12 @@ fapi2::ReturnCode p9_io_obus_image_build(CONST_OBUS& iTgt, void* const iHwImageP { FAPI_IMP("ABUS IMAGE LOAD."); loadImage = true; + + // Enable the PPE to communicate with the PHY + fapi2::buffer<uint64_t> data64; + FAPI_TRY(fapi2::getScom(iTgt, OBUS_SCOM_MODE_PB, data64)); + data64.setBit<OBUS_SCOM_MODE_PB_PPE_GCR>(); + FAPI_TRY(fapi2::putScom(iTgt, OBUS_SCOM_MODE_PB, data64)); } } else // fapi2::ENUM_ATTR_OPTICS_CONFIG_MODE_CAPI |