diff options
author | Prachi Gupta <pragupta@us.ibm.com> | 2015-07-23 10:39:22 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-07-27 22:44:43 -0500 |
commit | 18ffa035e9552c1a044baebef653be71d4b17ceb (patch) | |
tree | 01b17649427d76093d48d4535d18fc187199b7ea /src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit | |
parent | 67848491b85c93592d60935e6201b27f14eac3b0 (diff) | |
download | talos-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/proc_chiplet_scominit')
-rw-r--r-- | src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.C | 74 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/nest_chiplets/proc_chiplet_scominit/proc_chiplet_scominit.H | 4 |
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 |