Skip to content

Commit cd4a357

Browse files
sglancy6dcrowell77
authored andcommitted
Fixes RCW timing in draminit
Fixes 1) RC06 to RC08 - timing is tMRC1 2) RC0D to RC0E - timing is tMRD_L2 3) RC0F to RC1x - timing is tMRD_L2 Change-Id: Ia204bdcc0a335efcb66a6a64724355fc2f65b831 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42030 Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42031 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> 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>
1 parent e4db240 commit cd4a357

File tree

2 files changed

+29
-6
lines changed

2 files changed

+29
-6
lines changed

src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.C

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,17 @@ fapi2::ReturnCode rcd_load_ddr4( const fapi2::Target<TARGET_TYPE_DIMM>& i_target
7373
{ FS0, 3, eff_dimm_ddr4_rc03, mss::tmrd_l() },
7474
{ FS0, 4, eff_dimm_ddr4_rc04, mss::tmrd_l() },
7575
{ FS0, 5, eff_dimm_ddr4_rc05, mss::tmrd_l() },
76-
{ FS0, 6, eff_dimm_ddr4_rc06_07, mss::tmrd() },
76+
// Note: the tMRC1 timing as it is larger for saftey's sake
77+
// The concern is that if geardown mode is ever required in the future, we would need the longer timing
78+
{ FS0, 6, eff_dimm_ddr4_rc06_07, mss::tmrc1() },
7779
{ FS0, 8, eff_dimm_ddr4_rc08, mss::tmrd() },
7880
{ FS0, 9, eff_dimm_ddr4_rc09, mss::tmrd() },
7981
{ FS0, 10, eff_dimm_ddr4_rc0a, tSTAB },
80-
{ FS0, 11, eff_dimm_ddr4_rc0b, mss::tmrd() },
82+
{ FS0, 11, eff_dimm_ddr4_rc0b, mss::tmrd_l() },
8183
{ FS0, 12, eff_dimm_ddr4_rc0c, mss::tmrd() },
82-
{ FS0, 13, eff_dimm_ddr4_rc0d, mss::tmrd() },
84+
{ FS0, 13, eff_dimm_ddr4_rc0d, mss::tmrd_l2() },
8385
{ FS0, 14, eff_dimm_ddr4_rc0e, mss::tmrd() },
84-
{ FS0, 15, eff_dimm_ddr4_rc0f, mss::tmrd() },
86+
{ FS0, 15, eff_dimm_ddr4_rc0f, mss::tmrd_l2() },
8587
};
8688

8789
// RCD 8-bit data - integral represents rc#
@@ -93,7 +95,7 @@ fapi2::ReturnCode rcd_load_ddr4( const fapi2::Target<TARGET_TYPE_DIMM>& i_target
9395
{ FS0, 4, eff_dimm_ddr4_rc_4x, mss::tmrd() },
9496
{ FS0, 5, eff_dimm_ddr4_rc_5x, mss::tmrd() },
9597
{ FS0, 6, eff_dimm_ddr4_rc_6x, mss::tmrd() },
96-
{ FS0, 7, eff_dimm_ddr4_rc_7x, mss::tmrd() },
98+
{ FS0, 7, eff_dimm_ddr4_rc_7x, mss::tmrd_l() },
9799
{ FS0, 8, eff_dimm_ddr4_rc_8x, mss::tmrd() },
98100
{ FS0, 9, eff_dimm_ddr4_rc_9x, mss::tmrd() },
99101
{ FS0, 10, eff_dimm_ddr4_rc_ax, mss::tmrd() },

src/import/chips/p9/procedures/hwp/memory/lib/eff_config/timing.H

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ fapi_try_exit:
223223
/// @tparam OT the output type, derrived from the parameters
224224
/// @param[in] timing_in_ps timing parameter in ps
225225
/// @param[out] o_value_nck the end calculation in nck
226-
/// @return the clock cycles of timing parameter (provided in ps)
226+
/// @return the clock cycles of timing parameter (provided in ps)F
227227
/// @note Uses DDR4 SPD Contents Rounding Algorithm
228228
/// @note Item 2220.46
229229
///
@@ -322,6 +322,27 @@ constexpr uint64_t tmrd_l()
322322
return 16;
323323
}
324324

325+
///
326+
/// @brief Control word to control word delay for L2 (using F0RC0D or F0RC0F)
327+
/// @return constexpr value of 32 clocks
328+
///
329+
constexpr uint64_t tmrd_l2()
330+
{
331+
// Per DDR4RCD02 Spec Rev 0.85
332+
return 32;
333+
}
334+
335+
///
336+
/// @brief Control word F0RC06 with or without geardown mode
337+
/// @note using the geardown mode which is longer for saftey
338+
/// @return constexpr value of 32 clocks
339+
///
340+
constexpr uint64_t tmrc1()
341+
{
342+
// Per DDR4RCD02 Spec Rev 0.85
343+
return 32;
344+
}
345+
325346
///
326347
/// @brief Stabilization time
327348
/// @return constexpr value of 5 us

0 commit comments

Comments
 (0)