diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9n_mca_scom.C | 30 |
1 files changed, 29 insertions, 1 deletions
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 edce5e27f..4efcb0e96 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 @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017,2018 */ +/* Contributors Listed Below - COPYRIGHT 2017,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -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<fapi2::TARGET_TYPE_MCA>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_MCS>& TGT2, @@ -1136,6 +1137,33 @@ fapi2::ReturnCode p9n_mca_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& 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)) ) { |