summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/nest_chiplets
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2015-07-23 10:39:22 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-07-27 22:44:43 -0500
commit18ffa035e9552c1a044baebef653be71d4b17ceb (patch)
tree01b17649427d76093d48d4535d18fc187199b7ea /src/usr/hwpf/hwp/nest_chiplets
parent67848491b85c93592d60935e6201b27f14eac3b0 (diff)
downloadtalos-hostboot-18ffa035e9552c1a044baebef653be71d4b17ceb.tar.gz
talos-hostboot-18ffa035e9552c1a044baebef653be71d4b17ceb.zip
SW314773: INITPROC: FSP&Hostboot - HWP updates for Naples that got missed
Change-Id: I46a0067d53efce644b0432433d8f1771d5ee213a CQ:SW314773 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19206 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: PRACHI GUPTA <pragupta@us.ibm.com> Tested-by: PRACHI GUPTA <pragupta@us.ibm.com> Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19286 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/nest_chiplets')
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C74
-rw-r--r--src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H4
2 files changed, 53 insertions, 25 deletions
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C
index f9682e848..bb307582e 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C
+++ b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C
@@ -22,7 +22,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: proc_chiplet_scominit.C,v 1.27 2014/12/11 21:11:43 szhong Exp $
+// $Id: proc_chiplet_scominit.C,v 1.28 2015/03/17 18:54:28 jmcgill Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_chiplet_scominit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2012
@@ -437,36 +437,62 @@ fapi::ReturnCode proc_chiplet_scominit(const fapi::Target & i_target)
i_target.toEcmdString());
break;
}
- //execute NV scominit file
- FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NPU_IF, i_target.toEcmdString());
- uint8_t exist_NV=0x00;
- rc=FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_NV_PRESENT, &i_target, exist_NV);
- if(!rc.ok())
+
+ // execute NV scominit file
+ uint8_t exist_NV = 0x00;
+ rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_NV_PRESENT, &i_target, exist_NV);
+ if (!rc.ok())
{
- FAPI_ERR("proc_chiplet_scominit: error getting attribute value ATTR_CHIP_EC_FEATURE_NV_PRESENT");
- break;
+ FAPI_ERR("proc_chiplet_scominit: Error getting attribute value ATTR_CHIP_EC_FEATURE_NV_PRESENT");
+ break;
}
- if(exist_NV)
+ if (exist_NV)
{
- FAPI_INF("NV link exist, run npu scominit");
- FAPI_EXEC_HWP(
- rc,
- fapiHwpExecInitFile,
- initfile_targets,
- PROC_CHIPLET_SCOMINIT_NPU_IF);
- if (!rc.ok())
- {
- FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
- PROC_CHIPLET_SCOMINIT_NPU_IF,
- i_target.toEcmdString());
- break;
- }
+ FAPI_INF("proc_chiplet_scominit: Executing %s on %s",
+ PROC_CHIPLET_SCOMINIT_NPU_IF, i_target.toEcmdString());
+ FAPI_EXEC_HWP(
+ rc,
+ fapiHwpExecInitFile,
+ initfile_targets,
+ PROC_CHIPLET_SCOMINIT_NPU_IF);
+ if (!rc.ok())
+ {
+ FAPI_ERR("proc_chiplet_scominit: Error from fapiHwpExecInitfile executing %s on %s",
+ PROC_CHIPLET_SCOMINIT_NPU_IF,
+ i_target.toEcmdString());
+ break;
+ }
+
+ // cleanup FIR bit (NPU FIR bit 27) caused by NDL/NTL parity error
+ rc_ecmd = data.flushTo1();
+ rc_ecmd = data.clearBit(NPU_FIR_NTL_DL2TL_PARITY_ERR_BIT);
+ if (rc_ecmd)
+ {
+ FAPI_ERR("proc_chiplet_scominit: Error 0x%Xforming NPU FIR cleanup data buffer",
+ rc_ecmd);
+ rc.setEcmdError(rc_ecmd);
+ break;
+ }
+ rc = fapiPutScom(i_target, NPU_FIR_AND_0x08013D81, data);
+ if (!rc.ok())
+ {
+ FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (NPU_FIR_AND_0x08013D81) on %s",
+ i_target.toEcmdString());
+ break;
+ }
+ rc = fapiPutScom(i_target, NPU_FIR_MASK_AND_0x08013D84, data);
+ if (!rc.ok())
+ {
+ FAPI_ERR("proc_chiplet_scominit: fapiPutScom error (NPU_FIR_MASK_AND_0x08013D84) on %s",
+ i_target.toEcmdString());
+ break;
+ }
}
else
{
- FAPI_INF("NV link does not exist, skip npu scominit");
+ FAPI_INF("proc_chiplet_scominit: NV link logic not present, scom initfile processing skipped");
}
+
// determine set of functional MCS chiplets
rc = fapiGetChildChiplets(i_target,
fapi::TARGET_TYPE_MCS_CHIPLET,
diff --git a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H
index e1330aca6..8548fb7c2 100644
--- a/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H
+++ b/src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H
@@ -22,7 +22,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: proc_chiplet_scominit.H,v 1.16 2014/12/11 21:11:59 szhong Exp $
+// $Id: proc_chiplet_scominit.H,v 1.17 2015/03/17 18:54:30 jmcgill Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_chiplet_scominit.H,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2012
@@ -75,6 +75,8 @@ const uint32_t MCSMODE0_EN_CENTAUR_SYNC_BIT = 61;
const uint32_t CAPP_APC_MASTER_LCO_TARGET_MIN_START_BIT = 13;
const uint32_t CAPP_APC_MASTER_LCO_TARGET_MIN_END_BIT = 15;
+// NPU FIR Register field/bit definitions
+const uint32_t NPU_FIR_NTL_DL2TL_PARITY_ERR_BIT = 27;
//------------------------------------------------------------------------------
// Structure definitions
OpenPOWER on IntegriCloud