Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

5.3.7.9. Switch from DDR to SDR Operation Mode

If the controller requires to be switched to SDR from DDR operation mode, the following setup should be performed:

  1. Wait for the ctrl_busy pin or the ctrl_busy bit int the ctrl_status (0x0118) register to be de-asserted indicating that the controller has accepted all the earlier issued commands and completed them.
  2. Inform the controller and PHY that the device is in SDR mode by writing a 0x00 to the opr_mode field of the Common Settings register.
  3. Inform the PHY regarding the clocks changes by writing a zero to the dll_rst_n bit in the dll_phy_ctrl register. Now the clock can be changed.
  4. Change the clocks to the controller to the values that are supported by the device in SDR mode (host operation at the upper layers).
  5. Program all the PHY registers accordingly to the PHY user guide.
  6. De-assert the dll_rst_n bit in the dll_phy_ctrl register (write 1'b1).
  7. Write to the bus interface timing specific registers in the controller with the correct values.
  8. Change the mode of the NAND Flash device by sending Reset command. When timing mode of the NAND Flash device is being changed the controller should not send any type of commands until tITC timing passed. Also, the device status polling mode must be disabled before sending Reset command (rb_enable bit in rdst_ctrl_0 (0x0410) register must be set to one).
  9. Wait for the ctrl_busy pin or the ctrl_busy bit int the ctrl_status (0x0118) register signal to be de-asserted.

Now the controller is ready to accept data commands to the device for SDR mode of operation.