summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Steffen <cwsteffen@us.ibm.com>2018-07-12 12:54:53 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-07-31 15:23:44 -0500
commit5fff2d76035efad01642e1e60cd8fe6c4da11f58 (patch)
tree760430dc76fbc9f9b22acea5be88fe508067bc0d
parenta6df8bea171597c7090ecbcc64a11cf4306c2093 (diff)
downloadtalos-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.C11
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
OpenPOWER on IntegriCloud