diff options
author | John Rell <jgrell@us.ibm.com> | 2017-10-17 15:17:56 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-13 13:49:37 -0500 |
commit | c439c1399cb1cae5c81f59669e92e19ae3f3dcb8 (patch) | |
tree | bab9ab2f6e07a229c4bbd60a1e512dce157bcb74 /src | |
parent | fcf7d0e3f5fe8013b8f88a70a4f69cb5c0efc38b (diff) | |
download | talos-hostboot-c439c1399cb1cae5c81f59669e92e19ae3f3dcb8.tar.gz talos-hostboot-c439c1399cb1cae5c81f59669e92e19ae3f3dcb8.zip |
jgr171017 Setting changes for Obus boardwire vs cable
Change-Id: I6c64841173f036c4898c199ef1615046a3974dcc
CQ: HW422471
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48525
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Christopher W. Steffen <cwsteffen@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48533
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src')
4 files changed, 108 insertions, 5 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C index 95ffc0ce4..1f072aeef 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_obus_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2017 */ +/* Contributors Listed Below - COPYRIGHT 2016,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -73,6 +73,10 @@ fapi2::ReturnCode p9_obus_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT fapi2::ATTR_CHIP_EC_FEATURE_OBUS_P9NDD1_SPY_NAMES_Type l_TGT2_ATTR_CHIP_EC_FEATURE_OBUS_P9NDD1_SPY_NAMES; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_OBUS_P9NDD1_SPY_NAMES, TGT2, l_TGT2_ATTR_CHIP_EC_FEATURE_OBUS_P9NDD1_SPY_NAMES)); + fapi2::ATTR_CHIP_EC_FEATURE_HW422471_Type l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW422471, TGT2, l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471)); + fapi2::ATTR_IO_O_CHANNEL_TYPE_Type l_TGT0_ATTR_IO_O_CHANNEL_TYPE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IO_O_CHANNEL_TYPE, TGT0, l_TGT0_ATTR_IO_O_CHANNEL_TYPE)); fapi2::ATTR_CHIP_EC_FEATURE_SW387041_Type l_TGT2_ATTR_CHIP_EC_FEATURE_SW387041; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_SW387041, TGT2, l_TGT2_ATTR_CHIP_EC_FEATURE_SW387041)); fapi2::buffer<uint64_t> l_scom_buffer; @@ -4914,13 +4918,50 @@ fapi2::ReturnCode p9_obus_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT FAPI_TRY(fapi2::putScom(TGT0, 0x8008080009010c3full, l_scom_buffer)); } { - if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + FAPI_TRY(fapi2::getScom( TGT0, 0x8008180009010c3full, l_scom_buffer )); + + if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_BOARD) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_OFF = 0x0; + l_scom_buffer.insert<54, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_OFF ); + } + else if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_CABLE) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_ON = 0x1; + l_scom_buffer.insert<54, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_ON ); + } + else if (( true )) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_OFF = 0x0; + l_scom_buffer.insert<54, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_REQ_DL_MASK_OFF ); + } + + if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_BOARD) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_OFF = 0x0; + l_scom_buffer.insert<57, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_OFF ); + } + else if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_CABLE) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_ON = 0x1; + l_scom_buffer.insert<57, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_ON ); + } + else if (( true )) { - FAPI_TRY(fapi2::getScom( TGT0, 0x8008180009010c3full, l_scom_buffer )); + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_OFF = 0x0; + l_scom_buffer.insert<57, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RECAL_ABORT_DL_MASK_OFF ); + } + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { l_scom_buffer.insert<62, 2, 62, uint64_t>(literal_0b01 ); - FAPI_TRY(fapi2::putScom(TGT0, 0x8008180009010c3full, l_scom_buffer)); } + + FAPI_TRY(fapi2::putScom(TGT0, 0x8008180009010c3full, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x8008580009010c3full, l_scom_buffer )); @@ -5039,6 +5080,25 @@ fapi2::ReturnCode p9_obus_scom(const fapi2::Target<fapi2::TARGET_TYPE_OBUS>& TGT constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_CTLE_1ST_LATCH_OFFSET_CAL_ON = 0x1; l_scom_buffer.insert<48, 1, 63, uint64_t> (l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_CTLE_1ST_LATCH_OFFSET_CAL_ON ); + + if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_BOARD) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_OFF = 0x0; + l_scom_buffer.insert<51, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_OFF ); + } + else if (((l_TGT0_ATTR_IO_O_CHANNEL_TYPE == fapi2::ENUM_ATTR_IO_O_CHANNEL_TYPE_CABLE) + && ( ! l_TGT2_ATTR_CHIP_EC_FEATURE_HW422471))) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_ON = 0x1; + l_scom_buffer.insert<51, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_ON ); + } + else if (( true )) + { + constexpr auto l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_OFF = 0x0; + l_scom_buffer.insert<51, 1, 63, uint64_t>(l_IOO0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_AUTO_RECAL_OFF ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x8009700009010c3full, 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 c0a8d5dd9..44876faae 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 @@ -6071,5 +6071,29 @@ </chip> </chipEcFeature> </attribute> + <!-- ********************************************************************* --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW422471</id> + <targetType>TARGET_TYPE_PROC_CHIP, TARGET_TYPE_PROC_CHIP</targetType> + <description> + Used in conjunction with ATTR_IO_O_CHANNEL_TYPE + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x21</value> + <test>LESS_THAN</test> + </ec> + </chip> + <chip> + <name>ENUM_ATTR_NAME_CUMULUS</name> + <ec> + <value>0x11</value> + <test>LESS_THAN</test> + </ec> + </chip> + </chipEcFeature> + </attribute> <!-- ******************************************************************** --> </attributes> diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml index 838406519..f3467db81 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2018 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -114,5 +114,20 @@ <platInit/> </attribute> <!-- ********************************************************************** --> +<attribute> + <id>ATTR_IO_O_CHANNEL_TYPE</id> + <targetType>TARGET_TYPE_OBUS</targetType> + <description> + Indicates if the Obus channel is a board or a cable + </description> + <valueType>uint8</valueType> + <enum> + BOARD = 0x0, + CABLE = 0x1 + </enum> + <initToZero/> + <platInit/> +</attribute> +<!-- ********************************************************************** --> </attributes> diff --git a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml index 6eb036591..c9552cc25 100644 --- a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml +++ b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml @@ -362,6 +362,10 @@ <id>ATTR_IO_XBUS_CHAN_EQ</id> <default>0x0</default> </attribute> + <attribute> + <id>ATTR_IO_O_CHANNEL_TYPE</id> + <default>0x0</default> + </attribute> <!-- ===================================================================== End of temporary definitions |