SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
On coming out of reset, the EMIF controller begins the DDR2 initialization sequence after a write to any one of the following three registers, providing that the corresponding listed conditions are met.
For the first DDR2 initialization sequence, the EMIF controller performs the following actions:
Bits | Value | Description |
---|---|---|
A[15:13] | 0x0 | Reserved |
A[12] | 0x0 | Output buffer enabled |
A[11] | 0x0 | RDQS disable |
A[10] | EMIF_SDRAM_CONFIG[23] DDR2_DDQS | Differential DQS enable value |
A[9:7] | 0x0 | Exit OCD calibration mode |
A[6], A[2] | EMIF_SDRAM_CONFIG[26:24] DDR_TERM | DDR2 termination resistor value. For DDR2 the EMIF_SDRAM_CONFIG[26] bit is not used. |
A[5:3] | 0x0 | Additive latency = 0 |
A[1] | EMIF_SDRAM_CONFIG[19:18] SDRAM_DRIVE | SDRAM drive strength. For DDR2 the EMIF_SDRAM_CONFIG[19] bit is not used. |
A[0] | EMIF_SDRAM_CONFIG[20] DDR_DISABLE_DLL = 0x0 | Enable DLL |
Bits | Value | Description |
---|---|---|
A[15:13] | 0x0 | Reserved |
A[12] | 0x0 | Active power down exit time - fast exit |
A[11:9] | EMIF_SDRAM_TIMING_1[20:17] T_WR | Write recovery for autoprecharge |
A[8] | 0x1 | DLL reset |
A[7] | 0x0 | Normal mode |
A[6:4] | EMIF_SDRAM_CONFIG[13:10] CL | CAS latency value. For DDR2 the EMIF_SDRAM_CONFIG[13] bit is not used. |
A[3] | 0x0 | Sequential burst type |
A[2:0] | 0x3 | Burst length of 8 |
Bits | Value | Description |
---|---|---|
A[15:9] | Equal to Step 7 | |
A[8] | 0x0 | No DLL reset |
A[7:0] | Equal to Step 7 |
The EMIF updates the DDR Mode registers if the DDR2 initialization sequence is triggered again. However, the EMIF controller starts from Step 3.
The EMIF does not perform any transactions until the DDR2 initialization sequence is complete.
When the EMIF comes out of reset, the delay time in Step 2 resulting from the 16 refresh rate intervals + 8 cycles is approximately 16 × REFRESH_RATE / input frequency.
The values of the bit fields in the EMIF_SDRAM_CONFIG register are loaded by the control module at reset. These values can be modified by the configuration header (CH) feature of the ROM code or by the initial boot image running from an external booting memory or internal RAM. They must not be modified during run time, because they reflect the used hardware SDRAM memory configurations.