From 8591ded70260ecdd404e1a0ae332827c40056ac6 Mon Sep 17 00:00:00 2001 From: "Jennifer A. Stofer" Date: Wed, 20 Mar 2019 07:37:46 -0500 Subject: [PATCH] Revert "Revert "HW474117 WAT to allow firmware to disable bypass on port"" This reverts commit 93cdb7baabb292f994b84da4e9432c1e47121b77. Change-Id: I6a5f1d25004eeeef2580d38bd2969646aac1cab2 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/74718 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Jennifer A. Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/74774 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell --- .../procedures/hwp/initfiles/p9n_mca_scom.C | 28 +++++++++++++++++++ .../hwp/initfiles/p9n_mcbist_scom.C | 21 ++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C index 118af634f9d..fe5cb34be57 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C @@ -89,6 +89,7 @@ constexpr uint64_t literal_1300 = 1300; constexpr uint64_t literal_1040 = 1040; constexpr uint64_t literal_1215 = 1215; constexpr uint64_t literal_1400 = 1400; +constexpr uint64_t literal_0b00 = 0b00; fapi2::ReturnCode p9n_mca_scom(const fapi2::Target& TGT0, const fapi2::Target& TGT1, const fapi2::Target& TGT2, @@ -1135,6 +1136,33 @@ fapi2::ReturnCode p9n_mca_scom(const fapi2::Target& TGT0 FAPI_TRY(fapi2::putScom(TGT0, 0x7010a0aull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x7010a0bull, l_scom_buffer )); + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + l_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b0 ); + } + + 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_scom_buffer.insert<9, 1, 63, uint64_t>(literal_0b0 ); + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + l_scom_buffer.insert<10, 2, 62, uint64_t>(literal_0b00 ); + } + + 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_scom_buffer.insert<10, 2, 62, uint64_t>(literal_0b00 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x7010a0bull, 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)) ) diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mcbist_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mcbist_scom.C index d55ac4eae66..991fbf7f5f3 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9n_mcbist_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9n_mcbist_scom.C @@ -36,8 +36,14 @@ constexpr uint64_t literal_0b00000000000000000000001111111011111111111111 = constexpr uint64_t literal_0b10000000000000000 = 0b10000000000000000; constexpr uint64_t literal_0b10000000001000000000000000000100000000000000 = 0b10000000001000000000000000000100000000000000; +constexpr uint64_t literal_0b100000000000000000000000000000000000000000000000 = + 0b100000000000000000000000000000000000000000000000; +constexpr uint64_t literal_0b11111111111111111111111111111111111111111111 = + 0b11111111111111111111111111111111111111111111; +constexpr uint64_t literal_0b10000010000000000 = 0b10000010000000000; constexpr uint64_t literal_0b11110000000 = 0b11110000000; constexpr uint64_t literal_0b00001000000000000000 = 0b00001000000000000000; +constexpr uint64_t literal_0b00010000000000000000 = 0b00010000000000000000; constexpr uint64_t literal_0b100 = 0b100; constexpr uint64_t literal_0b0100 = 0b0100; @@ -64,6 +70,19 @@ fapi2::ReturnCode p9n_mcbist_scom(const fapi2::Target l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0b10000000001000000000000000000100000000000000 ); FAPI_TRY(fapi2::putScom(TGT0, 0x7012383ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x701238full, l_scom_buffer )); + + l_scom_buffer.insert<0, 48, 16, uint64_t>(literal_0b100000000000000000000000000000000000000000000000 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x701238full, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x7012390ull, l_scom_buffer )); + + l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0b11111111111111111111111111111111111111111111 ); + l_scom_buffer.insert<44, 17, 47, uint64_t>(literal_0b10000010000000000 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x7012390ull, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x70123e0ull, l_scom_buffer )); @@ -90,6 +109,7 @@ fapi2::ReturnCode p9n_mcbist_scom(const fapi2::Target FAPI_TRY(fapi2::getScom( TGT0, 0x70123eaull, l_scom_buffer )); l_scom_buffer.insert<20, 20, 44, uint64_t>(literal_0b00001000000000000000 ); + l_scom_buffer.insert<0, 20, 44, uint64_t>(literal_0b00010000000000000000 ); FAPI_TRY(fapi2::putScom(TGT0, 0x70123eaull, l_scom_buffer)); } { @@ -97,6 +117,7 @@ fapi2::ReturnCode p9n_mcbist_scom(const fapi2::Target l_scom_buffer.insert<23, 3, 61, uint64_t>(literal_0b100 ); l_scom_buffer.insert<37, 4, 60, uint64_t>(literal_0b0100 ); + l_scom_buffer.insert<20, 3, 61, uint64_t>(literal_0b100 ); FAPI_TRY(fapi2::putScom(TGT0, 0x70123ebull, l_scom_buffer)); }