summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C228
1 files changed, 228 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C
new file mode 100644
index 000000000..aa6143eb6
--- /dev/null
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C
@@ -0,0 +1,228 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/import/chips/p9/procedures/hwp/initfiles/p9a_int_scom.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2019 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#include "p9a_int_scom.H"
+#include <stdint.h>
+#include <stddef.h>
+#include <fapi2.H>
+
+using namespace fapi2;
+
+constexpr uint64_t literal_0 = 0;
+constexpr uint64_t literal_1 = 1;
+constexpr uint64_t literal_0b10 = 0b10;
+constexpr uint64_t literal_0b1000000 = 0b1000000;
+constexpr uint64_t literal_0x2000005C04028000 = 0x2000005C04028000;
+constexpr uint64_t literal_0x2000005C040281C3 = 0x2000005C040281C3;
+constexpr uint64_t literal_0x0000005C040081C3 = 0x0000005C040081C3;
+constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000;
+constexpr uint64_t literal_0x9554021F80110FCF = 0x9554021F80110FCF;
+constexpr uint64_t literal_0x9554021F80110E0C = 0x9554021F80110E0C;
+constexpr uint64_t literal_0x18 = 0x18;
+constexpr uint64_t literal_0x010003FF00100020 = 0x010003FF00100020;
+constexpr uint64_t literal_0x050043EF00100020 = 0x050043EF00100020;
+constexpr uint64_t literal_0xD8DFB200DFAFFFD7 = 0xD8DFB200DFAFFFD7;
+constexpr uint64_t literal_0xFADFBB8CFFAFFFD7 = 0xFADFBB8CFFAFFFD7;
+constexpr uint64_t literal_0x0002000410000000 = 0x0002000410000000;
+constexpr uint64_t literal_0x0002000610000000 = 0x0002000610000000;
+constexpr uint64_t literal_0x6262220242160000 = 0x6262220242160000;
+constexpr uint64_t literal_0x5BBF = 0x5BBF;
+
+fapi2::ReturnCode p9a_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT0,
+ const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
+{
+ {
+ fapi2::ATTR_EC_Type l_chip_ec;
+ fapi2::ATTR_NAME_Type l_chip_id;
+ FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id));
+ FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec));
+ fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE));
+ fapi2::ATTR_FABRIC_ADDR_EXTENSION_GROUP_ID_Type l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_GROUP_ID;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FABRIC_ADDR_EXTENSION_GROUP_ID, TGT1, l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_GROUP_ID));
+ fapi2::ATTR_FABRIC_ADDR_EXTENSION_CHIP_ID_Type l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_CHIP_ID;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FABRIC_ADDR_EXTENSION_CHIP_ID, TGT1, l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_CHIP_ID));
+ fapi2::ATTR_SMF_CONFIG_Type l_TGT1_ATTR_SMF_CONFIG;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SMF_CONFIG, TGT1, l_TGT1_ATTR_SMF_CONFIG));
+ fapi2::ATTR_CHIP_EC_FEATURE_HW426891_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW426891, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891));
+ fapi2::ATTR_CHIP_EC_FEATURE_HW411637_Type l_TGT0_ATTR_CHIP_EC_FEATURE_HW411637;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW411637, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_HW411637));
+ fapi2::ATTR_CHIP_EC_FEATURE_P9N_INT_DD10_Type l_TGT0_ATTR_CHIP_EC_FEATURE_P9N_INT_DD10;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9N_INT_DD10, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_P9N_INT_DD10));
+ fapi2::buffer<uint64_t> l_scom_buffer;
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x501300aull, l_scom_buffer ));
+
+ l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_0 );
+
+ if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP))
+ {
+ l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_1 );
+ }
+ else if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE))
+ {
+ l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0 );
+ }
+
+ l_scom_buffer.insert<5, 4, 60, uint64_t>(l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_GROUP_ID );
+ l_scom_buffer.insert<9, 3, 61, uint64_t>(l_TGT1_ATTR_FABRIC_ADDR_EXTENSION_CHIP_ID );
+
+ if ((l_TGT1_ATTR_SMF_CONFIG == fapi2::ENUM_ATTR_SMF_CONFIG_ENABLED))
+ {
+ l_scom_buffer.insert<12, 2, 62, uint64_t>(literal_0b10 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x501300aull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013020ull, l_scom_buffer ));
+
+ l_scom_buffer.insert<25, 7, 57, uint64_t>(literal_0b1000000 );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013020ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013021ull, l_scom_buffer ));
+
+ if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP))
+ {
+ l_scom_buffer.insert<49, 1, 63, uint64_t>(literal_1 );
+ }
+ else if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE))
+ {
+ l_scom_buffer.insert<49, 1, 63, uint64_t>(literal_0 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013021ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013033ull, l_scom_buffer ));
+
+ if (((l_TGT0_ATTR_CHIP_EC_FEATURE_HW411637 == literal_1) && (l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_0)))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x2000005C04028000 );
+ }
+ else if (((l_TGT0_ATTR_CHIP_EC_FEATURE_HW411637 == literal_1) && (l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_1)))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x2000005C040281C3 );
+ }
+ else if (((l_TGT0_ATTR_CHIP_EC_FEATURE_HW411637 == literal_0) && (l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_1)))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000005C040081C3 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013033ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013036ull, l_scom_buffer ));
+
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000000000000000 );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013036ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013037ull, l_scom_buffer ));
+
+ if ((l_TGT0_ATTR_CHIP_EC_FEATURE_P9N_INT_DD10 == literal_1))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x9554021F80110FCF );
+ }
+ else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_P9N_INT_DD10 == literal_0))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x9554021F80110E0C );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013037ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013130ull, l_scom_buffer ));
+
+ l_scom_buffer.insert<2, 6, 58, uint64_t>(literal_0x18 );
+ l_scom_buffer.insert<10, 6, 58, uint64_t>(literal_0x18 );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013130ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013140ull, l_scom_buffer ));
+
+ if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_0))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x010003FF00100020 );
+ }
+ else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_1))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x050043EF00100020 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013140ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013141ull, l_scom_buffer ));
+
+ if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_0))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xD8DFB200DFAFFFD7 );
+ }
+ else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_1))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xFADFBB8CFFAFFFD7 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013141ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013178ull, l_scom_buffer ));
+
+ if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_0))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0002000410000000 );
+ }
+ else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_HW426891 == literal_1))
+ {
+ l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0002000610000000 );
+ }
+
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013178ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x501320eull, l_scom_buffer ));
+
+ l_scom_buffer.insert<0, 48, 0, uint64_t>(literal_0x6262220242160000 );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x501320eull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x5013214ull, l_scom_buffer ));
+
+ l_scom_buffer.insert<16, 16, 48, uint64_t>(literal_0x5BBF );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x5013214ull, l_scom_buffer));
+ }
+ {
+ FAPI_TRY(fapi2::getScom( TGT0, 0x501322bull, l_scom_buffer ));
+
+ l_scom_buffer.insert<58, 6, 58, uint64_t>(literal_0x18 );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x501322bull, l_scom_buffer));
+ }
+
+ };
+fapi_try_exit:
+ return fapi2::current_err;
+}
OpenPOWER on IntegriCloud