Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.4.7.2. Pre-Initialization Sequence

The sequence shown in the figure below describes the pre-initialization sequence, which should be used before SD/eMMC initialization sequence, and before each change of speed mode.
Figure 150. Pre-initialization Sequence

The sequence is detailed below:

  1. Switch On DLL Reset by writing 0 to the PHY_SW_RESET field in the HRS09 register.
  2. Program the following fields in the PHY_DQS_TIMING_REG register: use_ext_lpbk_dqs, use_lpbk_dqs, use_phony_dqs, use_phony_dqs_cmd according to script settings.
  3. Program the following fields in the PHY_GATE_LPBK_CTRL_REG register: sync_method, sw_half_cycle_shift, rd_del_sel, gate_cfg_always_on.
  4. Program the following fields in the PHY_DLL_MASTER_CTRL_REG register: param_dll_bypass_mode, param_phase_detect_sel, param_dll_start_point.
  5. Program the following fields in the PHY_DLL_SLAVE_CTRL_REG register: read_dqs_cmd_delay, clk_wrdqs_delay, clk_wr_delay, read_dqs_delay.
  6. Program the following fields in the PHY_CTRL_REG register: phony_dqs_timing.
  7. Switch Off DLL Reset by writing 1 to the PHY_SW_RESET field in HRS09 register.
  8. Wait for phy_init_complete - read the PHY_INIT_COMPLETE field in HRS09 register until it is 1.
  9. Program the following fields in the PHY_DQ_TIMING_REG register: io_mask_always_on, io_mask_start, io_mask_end, dma_select_oe_end.
  10. Program the following fields in HRS09 register: RDDATA_EN=1, RDCMD_EN=1, EXTENDED_WR_MODE, EXTENDED_RD_MODE.
  11. Program the following fields in HRS10 register: HCSDCLKADJ.
  12. Program following fields in HRS16 register: WRDATA0_SDCLK_DLY, WRCMD0_SDCLK_DLY, WRDATA0_DLY, WRCMD0_DLY.
  13. Program following fields in HRS16 register: RW_COMPENSATE, IDELAY_VAL.