summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2017-06-15 13:04:02 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-19 13:50:25 -0400
commitf3fba8c656ba6c3983d3b6761327480c3d1cbcea (patch)
treedbadfe4c27ba47c209e2ddade14b5e35aaa8cf32 /src
parent4c3aaea4c22328b2fcf114e282e1f02d34a3898b (diff)
downloadtalos-hostboot-f3fba8c656ba6c3983d3b6761327480c3d1cbcea.tar.gz
talos-hostboot-f3fba8c656ba6c3983d3b6761327480c3d1cbcea.zip
Fixes bug where WR VREF would never be run
Change-Id: Ifc880e4ad711a6c447d31b47258e28745d53dea4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41909 Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41912 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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C5
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
index 81cbe8297..60feb017d 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
@@ -1125,7 +1125,8 @@ fapi2::ReturnCode setup_and_execute_cal( const fapi2::Target<fapi2::TARGET_TYPE_
// Sets up the cal steps in the buffer
fapi2::buffer<uint32_t> l_steps_to_execute;
l_steps_to_execute.setBit<mss::cal_steps::DQS_ALIGN>();
- l_steps_to_execute.writeBit<mss::cal_steps::INITIAL_PAT_WR>(i_cal_steps_enabled.getBit<mss::cal_steps::WR_LEVEL>());
+ l_steps_to_execute.writeBit<mss::cal_steps::INITIAL_PAT_WR>
+ (i_cal_steps_enabled.getBit<mss::cal_steps::INITIAL_PAT_WR>());
FAPI_INF("%s Running DQS align on RP%d 0x%08lx",
mss::c_str(i_target), i_rp, l_steps_to_execute);
@@ -1174,7 +1175,7 @@ fapi2::ReturnCode setup_and_execute_cal( const fapi2::Target<fapi2::TARGET_TYPE_
if (i_cal_steps_enabled.getBit<mss::cal_steps::WRITE_CTR, mss::cal_steps::WR_VREF_TO_COARSE_RD_LEN>())
{
fapi2::buffer<uint32_t> l_steps_to_execute( i_cal_steps_enabled );
- l_steps_to_execute.clearBit<mss::cal_steps::DRAM_ZQCAL, mss::cal_steps::DRAM_ZQCAL_TO_WRITE_CTR_2D_VREF>();
+ l_steps_to_execute.clearBit<mss::cal_steps::DRAM_ZQCAL, mss::cal_steps::DRAM_ZQCAL_UP_TO_WRITE_CTR_2D_VREF>();
// Setting the WR_VREF_LATCH bit to run the WR_VREF workaround after wr_vref runs
// Gets set iff the bit is set in i_steps_to_execute
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
index e54a9c6b2..a225fb1ec 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
@@ -177,11 +177,11 @@ enum cal_steps : uint64_t
RUN_ALL_CAL_STEPS = 0xFFFFF000,
RUN_CAL_SKIP_WR_RD_2D_VREF = 0xFFFD7000,
- DRAM_ZQCAL_TO_WR_LEVEL_LEN = inclusive_range(DRAM_ZQCAL, WR_LEVEL),
INITIAL_PAT_WR_TO_RD_CTR_LEN = inclusive_range(INITIAL_PAT_WR, READ_CTR),
WR_VREF_TO_COARSE_RD_LEN = inclusive_range(WRITE_CTR_2D_VREF, COARSE_RD),
RDCLK_ALIGN_TO_RD_CTR_LEN = inclusive_range(RDCLK_ALIGN, READ_CTR),
- DRAM_ZQCAL_TO_WRITE_CTR_2D_VREF = inclusive_range(DRAM_ZQCAL, WRITE_CTR_2D_VREF),
+ // In this case, we just want to clear everything prior to WR 2D VREF, inclusive range also kills the WR VREF bit
+ DRAM_ZQCAL_UP_TO_WRITE_CTR_2D_VREF = WRITE_CTR_2D_VREF,
};
// Static consts for DDR4 voltages used in p9_mss_volt
OpenPOWER on IntegriCloud