summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C
diff options
context:
space:
mode:
authorChris Steffen <cwsteffen@us.ibm.com>2016-10-13 18:33:51 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-14 11:58:45 -0400
commite528c80022f5858193fa1c14bb940b3f6b644ff4 (patch)
tree4844acef2e3d81c56c5cff3ecc8b92e1e68249d9 /src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C
parent427fc49fe53e8b6f9564c6ff0dac1f8cb458efdb (diff)
downloadtalos-hostboot-e528c80022f5858193fa1c14bb940b3f6b644ff4.tar.gz
talos-hostboot-e528c80022f5858193fa1c14bb940b3f6b644ff4.zip
Xbus Fixes
- Fix for HW390103 in xbus link training - Updated Xbus initfile settigns for group 0 & 1 - Updated Xbus Clean Up pll settings Change-Id: I928e6306bf71d922b65cbbff4a27d2cbf3d3b066 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31196 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Gary A. Peterson <garyp@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31197 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C267
1 files changed, 102 insertions, 165 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C
index 4da3fd098..d470a7f76 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C
@@ -36,22 +36,25 @@ constexpr auto literal_0b0110 = 0b0110;
constexpr auto literal_0b00000 = 0b00000;
constexpr auto literal_0b01111 = 0b01111;
constexpr auto literal_0b01100 = 0b01100;
+constexpr auto literal_0b0111 = 0b0111;
constexpr auto literal_0b1011 = 0b1011;
constexpr auto literal_0b0000000 = 0b0000000;
constexpr auto literal_0b0000011 = 0b0000011;
constexpr auto literal_0b000000 = 0b000000;
constexpr auto literal_0b100111 = 0b100111;
constexpr auto literal_0b1010 = 0b1010;
+constexpr auto literal_0b01 = 0b01;
constexpr auto literal_0b11 = 0b11;
constexpr auto literal_0b0010000 = 0b0010000;
constexpr auto literal_0b00001 = 0b00001;
+constexpr auto literal_0b0001 = 0b0001;
+constexpr auto literal_0b0010 = 0b0010;
constexpr auto literal_0b0010001 = 0b0010001;
constexpr auto literal_0b0000000000000000 = 0b0000000000000000;
constexpr auto literal_0b01111111 = 0b01111111;
constexpr auto literal_0b10 = 0b10;
constexpr auto literal_0b1100 = 0b1100;
constexpr auto literal_0b00 = 0b00;
-constexpr auto literal_0b01 = 0b01;
fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>& TGT0,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
@@ -2188,20 +2191,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2227,20 +2223,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2266,20 +2255,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2305,20 +2287,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2344,20 +2319,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2383,20 +2351,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2422,20 +2383,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2461,20 +2415,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2500,20 +2447,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2539,20 +2479,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2578,20 +2511,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2617,20 +2543,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2656,20 +2575,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2695,20 +2607,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2734,20 +2639,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2773,20 +2671,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2812,20 +2703,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -2851,20 +2735,13 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
- if (l_def_IS_HW)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b00000, 48, 5, 59 );
- }
- else if (l_def_IS_SIM)
- {
- l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
- }
+ l_scom_buffer.insert<uint64_t> (literal_0b01100, 48, 5, 59 );
}
{
if (l_def_IS_HW)
{
- l_scom_buffer.insert<uint64_t> (literal_0b0000, 53, 4, 60 );
+ l_scom_buffer.insert<uint64_t> (literal_0b0111, 53, 4, 60 );
}
else if (l_def_IS_SIM)
{
@@ -6530,13 +6407,17 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
+ l_scom_buffer.insert<uint64_t> (literal_0b01, 48, 2, 62 );
+ }
+
+ {
constexpr auto l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF = 0x0;
l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF, 55, 1, 63 );
}
{
- constexpr auto l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_LTE_EN_OFF = 0x0;
- l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_LTE_EN_OFF, 56, 1, 63 );
+ constexpr auto l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_LTE_EN_ON = 0x1;
+ l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_LTE_EN_ON, 56, 1, 63 );
}
{
@@ -6562,6 +6443,29 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
}
{
+ l_rc = fapi2::getScom( TGT0, 0x8009700006010c3full, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x8009700006010c3full)");
+ break;
+ }
+
+ {
+ constexpr auto l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_CTLE_1ST_LATCH_OFFSET_CAL_ON = 0x1;
+ l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_RC_ENABLE_CTLE_1ST_LATCH_OFFSET_CAL_ON, 48,
+ 1, 63 );
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x8009700006010c3full, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x8009700006010c3full)");
+ break;
+ }
+ }
+ {
l_rc = fapi2::getScom( TGT0, 0x8009800006010c3full, l_scom_buffer );
if (l_rc)
@@ -6674,6 +6578,34 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
}
{
+ l_rc = fapi2::getScom( TGT0, 0x8009b00006010c3full, l_scom_buffer );
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: getScom (0x8009b00006010c3full)");
+ break;
+ }
+
+ {
+ if (l_def_IS_HW)
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0b0001, 52, 4, 60 );
+ }
+ else if (l_def_IS_SIM)
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0b0010, 52, 4, 60 );
+ }
+ }
+
+ l_rc = fapi2::putScom(TGT0, 0x8009b00006010c3full, l_scom_buffer);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: putScom (0x8009b00006010c3full)");
+ break;
+ }
+ }
+ {
l_rc = fapi2::getScom( TGT0, 0x8009b80006010c3full, l_scom_buffer );
if (l_rc)
@@ -6750,6 +6682,11 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target<fapi2::TARGET_TYPE_XBUS>&
}
{
+ constexpr auto l_IOF1_RX_RX0_RXCTL_GLBSM_REGS_RX_DESKEW_BUMP_AFTER_AFTER = 0x1;
+ l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_GLBSM_REGS_RX_DESKEW_BUMP_AFTER_AFTER, 56, 1, 63 );
+ }
+
+ {
constexpr auto l_IOF1_RX_RX0_RXCTL_GLBSM_REGS_RX_PG_GLBSM_SPARE_MODE_2_ON = 0x1;
l_scom_buffer.insert<uint64_t> (l_IOF1_RX_RX0_RXCTL_GLBSM_REGS_RX_PG_GLBSM_SPARE_MODE_2_ON, 50, 1, 63 );
}
OpenPOWER on IntegriCloud