summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2019-04-19 08:49:20 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-05-16 11:07:15 -0500
commit4f842cf1d6febb37ca7917e40a9fb0a1e9e3e6e4 (patch)
tree478a17720159c864be8faab70692906fa74016fb /src/usr/fapi2
parent686bbf502fc63b486fb54816e3f7d4e7a7ce6bd7 (diff)
downloadtalos-hostboot-4f842cf1d6febb37ca7917e40a9fb0a1e9e3e6e4.tar.gz
talos-hostboot-4f842cf1d6febb37ca7917e40a9fb0a1e9e3e6e4.zip
Combine 'generic' and 'explorer' OCMB chip targets
This commit moves the Explorer-specific OCMB_CHIP target into the 'generic' OCMB_CHIP target so that there is only one target. This target will also be used for Gemini. Changes were also made to look for Gemini vs Explorer where appropriate based on ATTR_CHIP_ID. Change-Id: I91b79195bf997a6af4e2ae0a3326ed5a1c7887ec RTC:205563 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77220 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> 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: Glenn Miles <milesg@ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/usr/fapi2')
-rw-r--r--src/usr/fapi2/attribute_service.C48
-rwxr-xr-xsrc/usr/fapi2/fapi2.mk1
2 files changed, 47 insertions, 2 deletions
diff --git a/src/usr/fapi2/attribute_service.C b/src/usr/fapi2/attribute_service.C
index a6e998143..cf7fb8022 100644
--- a/src/usr/fapi2/attribute_service.C
+++ b/src/usr/fapi2/attribute_service.C
@@ -49,6 +49,7 @@
#include <target.H>
#include <target_types.H>
#include <hwpf_fapi2_reasoncodes.H>
+#include <chipids.H>
#include <devicefw/driverif.H>
#include <plat_attr_override_sync.H>
@@ -366,9 +367,52 @@ ReturnCode platGetTargetName(const Target<TARGET_TYPE_ALL>& i_pFapiTarget,
{
o_name = ENUM_ATTR_NAME_AXONE;
}
- else if (l_model == TARGETING::MODEL_EXPLORER)
+ else if (l_model == TARGETING::MODEL_OCMB)
{
- o_name = ENUM_ATTR_NAME_EXPLORER;
+ // For MODEL_OCMB the ATTR_CHIP_ID determines if it is a
+ // Gemini or an Explorer chip
+ uint32_t l_chipID =
+ l_pHbTarget->getAttr<TARGETING::ATTR_CHIP_ID>();
+
+ if (l_chipID == POWER_CHIPID::EXPLORER_16)
+ {
+ o_name = ENUM_ATTR_NAME_EXPLORER;
+ }
+ else if (l_chipID == POWER_CHIPID::GEMINI_16)
+ {
+ o_name = ENUM_ATTR_NAME_GEMINI;
+ }
+ else
+ {
+ FAPI_ERR("platGetTargetName. Unknown CHIP_ID 0x%x for MODEL_OCMB 0x%x", l_chipID, l_model);
+
+ /*@
+ * @errortype
+ * @moduleid fapi2::MOD_FAPI2_GET_TARGETING_TARGET
+ * @reasoncode RC_UNKNOWN_OCMB_CHIP_TYPE
+ * @userdata1[0:31] FAPI2 Type
+ * @userdata1[32:63] HB Target HUID
+ * @userdata2[0:31] HB Type
+ * @userdata2[32:63] HB Target CHIP_ID
+ * @devdesc HB OCMB_CHIP target found with unknown
+ * model based on ATTR_CHIP_ID
+ * @custdesc Firmware Error
+ */
+ l_errl = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
+ MOD_FAPI2_GET_TARGETING_TARGET,
+ RC_UNKNOWN_OCMB_CHIP_TYPE,
+ TWO_UINT32_TO_UINT64(
+ i_pFapiTarget.getType(),
+ TARGETING::get_huid(l_pHbTarget)
+ ),
+ TWO_UINT32_TO_UINT64(
+ l_pHbTarget->
+ getAttr<TARGETING::ATTR_TYPE>(),
+ l_chipID));
+
+ l_rc.setPlatDataPtr(reinterpret_cast<void *> (l_errl));
+ break;
+ }
}
else
{
diff --git a/src/usr/fapi2/fapi2.mk b/src/usr/fapi2/fapi2.mk
index ebad0987c..47bf2d5f4 100755
--- a/src/usr/fapi2/fapi2.mk
+++ b/src/usr/fapi2/fapi2.mk
@@ -59,6 +59,7 @@ EXTRAINCDIR += ${HWP_PATH_2}/hwp/memory/lib/shared/
EXTRAINCDIR += ${HWP_PATH_2}/hwp/memory/lib/utils/
EXTRAINCDIR += ${HWP_PATH_2}/vpd_accessors/
EXTRAINCDIR += ${ROOTPATH}/src/usr/scom/
+EXTRAINCDIR += ${ROOTPATH}/src/import/chips/common/utils/
include ${ROOTPATH}/src/build/mkrules/verbose.rules.mk
define __CLEAN_TARGET
OpenPOWER on IntegriCloud