summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2017-06-26 09:57:23 -0500
committerDean Sanner <dsanner@us.ibm.com>2017-07-09 22:56:19 -0400
commit3793f8b75a84adae841055651c914b45126c4e52 (patch)
tree3618a2f39a3b66b713d9b4cbba570b816395f982 /src/import
parent09611ce4c4d419f9202cea67c0ccb544d9c9da12 (diff)
downloadtalos-hostboot-3793f8b75a84adae841055651c914b45126c4e52.tar.gz
talos-hostboot-3793f8b75a84adae841055651c914b45126c4e52.zip
PCIe updates for Nimbus DD2 GEN4 operation
adjust REFISRC, REFISINK, VBGENDOC in PCIE PLL inits for all ECs set EDMOD in RX VGA Control Register 1 for DD2 only Change-Id: Ib10b02fb49dbf7ccf8dcad2ada5ac463a927d4c7 CQ: HW414759 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42423 Tested-by: Jenkins Server <pfd-jenkins+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: Ricardo Mata <ricmata@us.ibm.com> Reviewed-by: Jenny Huynh <jhuynh@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42431 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/common/include/p9_misc_scom_addresses_fld_fixes.H6
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C19
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml18
3 files changed, 39 insertions, 4 deletions
diff --git a/src/import/chips/p9/common/include/p9_misc_scom_addresses_fld_fixes.H b/src/import/chips/p9/common/include/p9_misc_scom_addresses_fld_fixes.H
index 612f20732..020da43a2 100644
--- a/src/import/chips/p9/common/include/p9_misc_scom_addresses_fld_fixes.H
+++ b/src/import/chips/p9/common/include/p9_misc_scom_addresses_fld_fixes.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -60,6 +60,10 @@ REG64_FLD(PU_TX_CH_MISC_WEN0, 12, SH_UNT, SH_ACS_SCOM, SH_FLD
REG64_FLD(PU_TX_CH_MISC_WEN1, 13, SH_UNT, SH_ACS_SCOM, SH_FLD_UNUSED);
REG64_FLD(PU_TX_CH_MISC_WEN2, 14, SH_UNT, SH_ACS_SCOM, SH_FLD_UNUSED);
+// RX VGA Control Register1
+REG64_FLD(PEC_SCOM0X0B_EDMOD, 52, SH_UNT_PEC, SH_ACS_SCOM, SH_FLD_UNUSED);
+REG64_FLD(PEC_SCOM0X0B_EDMOD_LEN, 2, SH_UNT_PEC, SH_ACS_SCOM, SH_FLD_UNUSED);
+
//Example
//Copy the whole line from the *scom_addresses_fld.H file. Then add FIX in front of REG
//and add another paramter that is the new value you want.
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
index e0ed5aa7b..878c812af 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_pcie_scominit.C
@@ -125,10 +125,14 @@ fapi2::ReturnCode p9_pcie_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
uint8_t l_attr_8 = 0;
uint16_t l_attr_16 = 0;
uint32_t l_poll_counter; //Number of iterations while polling for PLLA and PLLB Port Ready Status
+ uint8_t l_hw414759 = 0;
FAPI_DBG("target vec size: %#x", l_pec_chiplets_vec.size());
FAPI_DBG("l_buf: %#x", l_buf());
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW414759, i_target, l_hw414759),
+ "Error from FAPI_ATTR_GET (ATTR_CHIP_EC_FEATURE_HW414759)");
+
for (auto l_pec_chiplets : l_pec_chiplets_vec)
{
// Get the pec id
@@ -348,9 +352,18 @@ fapi2::ReturnCode p9_pcie_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
56, 7);
// Phase1 init step 20 (RX VGA Control Register 1)
- SET_REG_WR_WITH_SINGLE_ATTR_16(fapi2::ATTR_PROC_PCIE_PCS_RX_VGA_CNTL_REG1,
- PEC_PCS_RX_VGA_CONTROL1_REG,
- 48, 16);
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_PCIE_PCS_RX_VGA_CNTL_REG1,
+ l_pec_chiplets,
+ l_attr_16));
+ FAPI_TRY(l_buf.insertFromRight(l_attr_16, 48, 16));
+
+ if (l_hw414759)
+ {
+ l_buf.setBit<PEC_SCOM0X0B_EDMOD, PEC_SCOM0X0B_EDMOD_LEN>();
+ }
+
+ FAPI_DBG("pec%i: %#lx", l_pec_id, l_buf());
+ FAPI_TRY(fapi2::putScom(l_pec_chiplets, PEC_PCS_RX_VGA_CONTROL1_REG, l_buf));
// Phase1 init step 21 (RX VGA Control Register 2)
SET_REG_WR_WITH_SINGLE_ATTR_16(fapi2::ATTR_PROC_PCIE_PCS_RX_VGA_CNTL_REG2,
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 d948fc399..66f47c349 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
@@ -3262,6 +3262,24 @@
</chipEcFeature>
</attribute>
+ <attribute>
+ <id>ATTR_CHIP_EC_FEATURE_HW414759</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Nimbus DD2.0 only -- apply PCI PLL and VGA gain EDGEMOD workarounds
+ to enable GEN4 operation
+ </description>
+ <chipEcFeature>
+ <chip>
+ <name>ENUM_ATTR_NAME_NIMBUS</name>
+ <ec>
+ <value>0x20</value>
+ <test>EQUAL</test>
+ </ec>
+ </chip>
+ </chipEcFeature>
+ </attribute>
+
<!-- ******************************************************************** -->
<!-- Memory Section -->
<!-- ******************************************************************** -->
OpenPOWER on IntegriCloud