diff options
author | Ryan Black <rblack@us.ibm.com> | 2019-11-20 10:14:44 -0600 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2020-01-08 19:01:57 -0600 |
commit | 6b24abd70da7f9578edbb6876bbdd1dc1344758d (patch) | |
tree | 46c0c3cd52ddf84f93b6a3334d8fc5be2c00bd91 | |
parent | 6ab72d5c3c53714b4efb2f47e2c818ae770ca10a (diff) | |
download | talos-hostboot-6b24abd70da7f9578edbb6876bbdd1dc1344758d.tar.gz talos-hostboot-6b24abd70da7f9578edbb6876bbdd1dc1344758d.zip |
unit xstop npu firs/sys xstop ocapi firs -> recoverable with fence
Change-Id: Id615fe8e94f0edcc9fc28935a7f1cf2536ddd442
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/87456
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
Reviewed-by: Thi N Tran <thi@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/87546
Tested-by: Jenkins OP Build CI <op-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/initfiles/p9_npu_scom.C | 68 |
1 files changed, 62 insertions, 6 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C index 1a655546c..f81fb7abd 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2019 */ +/* Contributors Listed Below - COPYRIGHT 2016,2020 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -51,6 +51,7 @@ constexpr uint64_t literal_0x0000740000000000 = 0x0000740000000000; constexpr uint64_t literal_0x7F60B04500AC0000 = 0x7F60B04500AC0000; constexpr uint64_t literal_0xAAA70A55F0000000 = 0xAAA70A55F0000000; constexpr uint64_t literal_0x5550740000000000 = 0x5550740000000000; +constexpr uint64_t literal_0x0FFE6FC00FF1B000 = 0x0FFE6FC00FF1B000; constexpr uint64_t literal_0x009A48180F01FFFF = 0x009A48180F01FFFF; constexpr uint64_t literal_0xFFFFFFFFFFFFFFFF = 0xFFFFFFFFFFFFFFFF; constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; @@ -63,7 +64,7 @@ constexpr uint64_t literal_0xFFF70A5DF0000000 = 0xFFF70A5DF0000000; constexpr uint64_t literal_0x000801A200000000 = 0x000801A200000000; constexpr uint64_t literal_0xFFFF0BFFF0000000 = 0xFFFF0BFFF0000000; constexpr uint64_t literal_0xF001803FF00C0FFF = 0xF001803FF00C0FFF; -constexpr uint64_t literal_0x0000100000024000 = 0x0000100000024000; +constexpr uint64_t literal_0x0FFE7FC00FF3F000 = 0x0FFE7FC00FF3F000; constexpr uint64_t literal_0xF = 0xF; constexpr uint64_t literal_0b001000 = 0b001000; constexpr uint64_t literal_0b000001 = 0b000001; @@ -707,6 +708,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if (((l_chip_id == 0x7) && (l_chip_ec == 0x10)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x3011fb0ull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE6FC00FF1B000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x3011fb0ull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x7) && (l_chip_ec == 0x10)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x3012003ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -847,7 +861,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if ((l_def_NVLINK_ACTIVE == literal_1)) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000100000024000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE7FC00FF3F000 ); } FAPI_TRY(fapi2::putScom(TGT0, 0x3012087ull, l_scom_buffer)); @@ -5693,6 +5707,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + if (((l_chip_id == 0x7) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x50113b0ull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE6FC00FF1B000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x50113b0ull, l_scom_buffer)); + } + } + { if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x22)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x23)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x12)) || ((l_chip_id == 0x6) @@ -7642,6 +7669,22 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) + && (l_chip_ec == 0x22)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x23)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) + || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x12)) || ((l_chip_id == 0x6) + && (l_chip_ec == 0x13)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5011700ull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE6FC00FF1B000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x5011700ull, l_scom_buffer)); + } + } + { if (((l_chip_id == 0x7) && (l_chip_ec == 0x10)) ) { FAPI_TRY(fapi2::getScom( TGT0, 0x5011733ull, l_scom_buffer )); @@ -7707,6 +7750,19 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + if (((l_chip_id == 0x7) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x50117b0ull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE6FC00FF1B000 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x50117b0ull, l_scom_buffer)); + } + } + { if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x22)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x23)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x12)) || ((l_chip_id == 0x6) @@ -8055,7 +8111,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if ((l_def_NVLINK_ACTIVE == literal_1)) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000100000024000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE7FC00FF3F000 ); } } @@ -8063,7 +8119,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { if ((l_def_NVLINK_ACTIVE == literal_1)) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000100000024000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE7FC00FF3F000 ); } } @@ -8226,7 +8282,7 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if ((l_def_NVLINK_ACTIVE == literal_1)) { - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000100000024000 ); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0FFE7FC00FF3F000 ); } FAPI_TRY(fapi2::putScom(TGT0, 0x5013d47ull, l_scom_buffer)); |