3.3.5.14.3 Software Sequence for Removal of Clocks

Software can be used to keep the SDRAM in self-refresh. The AXI and DDRC clocks can be removed when in self-refresh by following the sequence described in the following table.

Note: Dynamic and quasi dynamic registers cannot be programmed if any of the clocks has been removed. Clocks must be turned back on before starting the programming sequence. Also, the clock gating logic must ensure there are no glitches on the clocks when they are removed/enabled.
Table 3-22. Software Clock Removal Sequence
StepDescriptionComment
1Write 0 to PCTRL_n.port_enBlocks AXI ports from taking any more transactions
2Poll PSTAT.rd_port_busy_n = 0

Poll PSTAT.wr_port_busy_n = 0

Waits until all AXI ports are idle
3Write 1 to PWRCTL.selfref_swCauses the system to move to Self-refresh state
4Poll STAT.selfref_type= 2’b10Waits until Self-refresh state is entered
5Remove AXI clocks
6Remove DDRC core clock

The clocks should be re-enabled by following the sequence described in the following table.

Table 3-23. Re-enabling the Clocks
StepDescriptionComment
1Enable AXI clocks
2Enable DDRC core clock
3Write 0 to PWRCTL.selfref_swCauses the system to exit from Self-refresh state
4Poll STAT.selfref_type = 2’b00Waits until Self-refresh state is exited
5Write 1 to PCTRL_n.port_enAXI ports are no longer blocked from taking transactions