diff options
Diffstat (limited to 'src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H')
-rw-r--r-- | src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H b/src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H index b8fe7bd28..febdb9fa5 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H +++ b/src/import/chips/centaur/procedures/hwp/memory/lib/shared/delayRegs.H @@ -22,3 +22,239 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ +/// +/// @file delayRegs.H +/// @brief Const arrays for delay registers, indexed by port, rank, dp18 block +/// +/// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> +/// *HWP HWP Backup: Louis Stermole <stermole@us.ibm.com> +/// *HWP Team: Memory +/// *HWP Level: 3 +/// *HWP Consumed by: HB:CI +// +#ifndef DELAYREGS_H_ +#define DELAYREGS_H_ + +constexpr uint64_t const l_disable_reg[MAX_PORTS_PER_MBA][NUM_RANK_GROUPS][MAX_BLOCKS_PER_RANK] = +{ + /* port 0 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P0_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P0_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P0_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P0_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P0_4 + }, + // primary rank pair 1 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P0_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P0_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P0_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P0_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P0_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P0_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P0_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P0_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P0_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P0_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P0_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P0_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P0_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P0_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P0_4 + } + }, + /* port 1 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P1_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P1_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P1_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P1_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP0_P1_4 + }, + // primary rank p1 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P1_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P1_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P1_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P1_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP1_P1_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P1_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P1_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P1_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P1_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP2_P1_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P1_0, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P1_1, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P1_2, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P1_3, + CEN_MBA_DDRPHY_DP18_DATA_BIT_DISABLE0_RP3_P1_4 + } + } +}; + +constexpr uint64_t const l_dqs_gate_delay[MAX_PORTS_PER_MBA][NUM_RANK_GROUPS][MAX_BLOCKS_PER_RANK] = +{ + /* port 0 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P0_4 + }, + // primary rank pair 1 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P0_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P0_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P0_4 + } + }, + /* port 1 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP0_P1_4 + }, + // primary rank p1 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP1_P1_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP2_P1_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_GATE_DELAY_RP3_P1_4 + } + } +}; + +constexpr uint64_t const l_dqs_rd_phase_select[MAX_PORTS_PER_MBA][NUM_RANK_GROUPS][MAX_BLOCKS_PER_RANK] = +{ + /* port 0 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P0_4 + }, + // primary rank pair 1 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P0_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P0_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P0_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P0_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P0_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P0_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P0_4 + } + }, + /* port 1 */ + { + // primary rank pair 0 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR0_P1_4 + }, + // primary rank p1 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR1_P1_4 + }, + // primary rank pair 2 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR2_P1_4 + }, + // primary rank pair 3 + { + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P1_0, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P1_1, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P1_2, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P1_3, + CEN_MBA_DDRPHY_DP18_DQS_RD_PHASE_SELECT_RANK_PAIR3_P1_4 + } + } +}; + +#endif |