summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C
index 43fdc78ba..132b4992a 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9c_mi_scom.C
@@ -69,6 +69,7 @@ fapi2::ReturnCode p9c_mi_scom(const fapi2::Target<fapi2::TARGET_TYPE_MI>& TGT0,
uint64_t l_def_ENABLE_DYNAMIC_64_128B_READS = literal_0;
uint64_t l_def_ENABLE_ECRESP = literal_1;
uint64_t l_def_ENABLE_AMO_CACHING = literal_1;
+ uint64_t l_def_ENABLE_HWFM = literal_1;
uint64_t l_def_ENABLE_MCU_TIMEOUTS = literal_1;
fapi2::buffer<uint64_t> l_scom_buffer;
{
@@ -220,6 +221,26 @@ fapi2::ReturnCode p9c_mi_scom(const fapi2::Target<fapi2::TARGET_TYPE_MI>& TGT0,
l_scom_buffer.insert<24, 16, 48, uint64_t>(literal_0b0000000000001000 );
}
+ if ((l_def_ENABLE_HWFM == literal_1))
+ {
+ l_scom_buffer.insert<47, 6, 58, uint64_t>(literal_1 );
+ }
+ else if ((l_def_ENABLE_HWFM == literal_0))
+ {
+ l_scom_buffer.insert<47, 6, 58, uint64_t>(literal_0 );
+ }
+
+ if ((l_def_ENABLE_HWFM == literal_1))
+ {
+ constexpr auto l_MC01_PBI01_SCOMFIR_MCMODE2_MCHWFM_ENABLE_ON = 0x1;
+ l_scom_buffer.insert<46, 1, 63, uint64_t>(l_MC01_PBI01_SCOMFIR_MCMODE2_MCHWFM_ENABLE_ON );
+ }
+ else if ((l_def_ENABLE_HWFM == literal_0))
+ {
+ constexpr auto l_MC01_PBI01_SCOMFIR_MCMODE2_MCHWFM_ENABLE_OFF = 0x0;
+ l_scom_buffer.insert<46, 1, 63, uint64_t>(l_MC01_PBI01_SCOMFIR_MCMODE2_MCHWFM_ENABLE_OFF );
+ }
+
FAPI_TRY(fapi2::putScom(TGT0, 0x5010813ull, l_scom_buffer));
}
{
OpenPOWER on IntegriCloud