diff options
author | David Kauer <dmkauer@us.ibm.com> | 2017-05-08 14:32:39 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2017-05-12 21:16:18 -0400 |
commit | 742b77a475543116eb126b7af3f89f811e89f826 (patch) | |
tree | 4b01f414533738d05495ad8f0af38ff7df83ab4e /src/import | |
parent | 19ae00a309c4be6bbe17ed1f5005a7dc1f8482c3 (diff) | |
download | talos-hostboot-742b77a475543116eb126b7af3f89f811e89f826.tar.gz talos-hostboot-742b77a475543116eb126b7af3f89f811e89f826.zip |
Update INT DD2 initfiles
Change-Id: Ia99d0dc53d5e18fdea9f430f0ec64ac40afe4eca
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40232
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jenny Huynh <jhuynh@us.ibm.com>
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40242
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C | 134 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml | 17 |
2 files changed, 115 insertions, 36 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C index b4b0f1c3a..b27bc9d82 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_int_scom.C @@ -33,8 +33,11 @@ constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_0x0070000072040140 = 0x0070000072040140; constexpr uint64_t literal_0x0000004004028000 = 0x0000004004028000; +constexpr uint64_t literal_0x0000004000008000 = 0x0000004000008000; constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; +constexpr uint64_t literal_0x00000000040101C3 = 0x00000000040101C3; constexpr uint64_t literal_0x9554021F80110FCF = 0x9554021F80110FCF; +constexpr uint64_t literal_0x9554021F80100E0C = 0x9554021F80100E0C; constexpr uint64_t literal_0b00 = 0b00; constexpr uint64_t literal_0x010003FF00100020 = 0x010003FF00100020; constexpr uint64_t literal_0xD8DFB200DFAFFFD7 = 0xD8DFB200DFAFFFD7; @@ -57,6 +60,8 @@ fapi2::ReturnCode p9_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& 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_CHIP_EC_FEATURE_INT_DD1_Type l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_INT_DD1, TGT0, l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x501300aull, l_scom_buffer )); @@ -100,26 +105,53 @@ fapi2::ReturnCode p9_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5013033ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000004004028000 ); + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000004004028000 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_0)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000004000008000 ); + } + 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 ); + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0000000000000000 ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_0)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x00000000040101C3 ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x5013036ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x5013037ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x9554021F80110FCF ); + if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_1)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x9554021F80110FCF ); + } + else if ((l_TGT0_ATTR_CHIP_EC_FEATURE_INT_DD1 == literal_0)) + { + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x9554021F80100E0C ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x5013037ull, l_scom_buffer)); } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013124ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013124ull, l_scom_buffer )); - l_scom_buffer.insert<28, 2, 62, uint64_t>(literal_0b00 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013124ull, l_scom_buffer)); + l_scom_buffer.insert<28, 2, 62, uint64_t>(literal_0b00 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013124ull, l_scom_buffer)); + } } { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) @@ -132,40 +164,58 @@ fapi2::ReturnCode p9_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013140ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013140ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x010003FF00100020 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013140ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x010003FF00100020 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013140ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013141ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013141ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xD8DFB200DFAFFFD7 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013141ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xD8DFB200DFAFFFD7 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013141ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013148ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013148ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0008002000002002 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013148ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0008002000002002 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013148ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013149ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013149ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xEF6417D2DE7DD3FD ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013149ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0xEF6417D2DE7DD3FD ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013149ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013178ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013178ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0002000410000000 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013178ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x0002000410000000 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013178ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013179ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013179ull, l_scom_buffer )); - l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x7710CCC3E0000701 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013179ull, l_scom_buffer)); + l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x7710CCC3E0000701 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013179ull, l_scom_buffer)); + } } { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) @@ -178,28 +228,40 @@ fapi2::ReturnCode p9_int_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013270ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013270ull, l_scom_buffer )); - l_scom_buffer.insert<0, 56, 8, uint64_t>(literal_0x00001003000002 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013270ull, l_scom_buffer)); + l_scom_buffer.insert<0, 56, 8, uint64_t>(literal_0x00001003000002 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013270ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013271ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013271ull, l_scom_buffer )); - l_scom_buffer.insert<0, 56, 8, uint64_t>(literal_0xFFFFEFFCFFFFFC ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013271ull, l_scom_buffer)); + l_scom_buffer.insert<0, 56, 8, uint64_t>(literal_0xFFFFEFFCFFFFFC ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013271ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013272ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013272ull, l_scom_buffer )); - l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0x0003C018006 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013272ull, l_scom_buffer)); + l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0x0003C018006 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013272ull, l_scom_buffer)); + } } { - FAPI_TRY(fapi2::getScom( TGT0, 0x5013273ull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5013273ull, l_scom_buffer )); - l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0xFFFDFFEFFFA ); - FAPI_TRY(fapi2::putScom(TGT0, 0x5013273ull, l_scom_buffer)); + l_scom_buffer.insert<0, 44, 20, uint64_t>(literal_0xFFFDFFEFFFA ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5013273ull, l_scom_buffer)); + } } }; diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index a148fcb8c..6d13c65be 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -3301,4 +3301,21 @@ </chip> </chipEcFeature> </attribute> + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_INT_DD1</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Common Attribute for INT DD1 spys + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x20</value> + <test>LESS_THAN</test> + </ec> + </chip> + </chipEcFeature> + </attribute> </attributes> |