Hi,
I'm looking into the DDR3 initialization process of C6657 EVM.
I found the initialization code example in the GEL file "mcsdk_2_01_02_06/tools/program_evm/gel/evmc6657l.gel", and it enables Dynamic ODT with RZQ/2 (SDCFG.DYN_ODT=0x2) and sets RZQ/2 to DDR_TERM (SDCFG.DDR_TERM=0x2) as follows.
ddr3_setup_auto_lvl_1333()
{
....
/* DDR_SDCFG = 0x63077AB3; */
/* New value with DYN_ODT disabled and SDRAM_DRIVE = RZQ/7 //0x63222A32; // last config write DRAM init occurs */
TEMP = 0;
TEMP |= 0x3 << 29; // SDRAM_TYPE bit field 31:29 (fixed value)
TEMP |= 0x0 << 27; // IBANK_POS bit field 28:27
TEMP |= 0x2 << 24; // DDR_TERM bit field 26:24
TEMP |= 0x2 << 21; // DYN_ODT bit field 22:21
TEMP |= 0x1 << 18; // SDRAM_DRIVE bit field 19:18
TEMP |= 0x3 << 16; // CWL bit field 17:16
TEMP |= 0x1 << 14; // NM bit field 15:14
TEMP |= 0xE << 10; // CL bit field 13:10
TEMP |= 0x5 << 7; // ROWSIZE bit field 9:7
TEMP |= 0x3 << 4; // IBANK bit field 6:4
TEMP |= 0x0 << 3; // EBANK bit field 3:3
TEMP |= 0x2; // PAGESIZE bit field 2:0
DDR_SDCFG = TEMP;
....
}
With these settings, both Rtt_nom and Rtt_WR of the extended mode registers will be configured to RZQ/2 and then there would no benefit to use Dynamic ODT, isn't it ? Or is there any reason to enable Dynamic ODT with these settings ?
Thanks,
Sei Kato