本文所涉及的DDR型号MT29C4G96MAZAPCJA-5IT,512MB,32/IO,4bank,200MHz
先放源码,根据cpu_family() 只看红色部分。
void config_3430sdram_ddr(void)
{
/* reset sdrc controller */
__raw_writel(SOFTRESET, SDRC_SYSCONFIG);
//__raw_writel(1<<1, 0x6D000010);
//寄存器SDRC_SYSCONFIG赋值0x00000002 含义 Software reset activated//
wait_on_value(BIT0, BIT0, SDRC_STATUS, 12000000);// 这个函数的具体分析见下//
//wait_on_value(1<<0, 1<<0, 0x6D000014, 12000000)//
//寄存器SDRC_SYSSTATUS 赋值0x001 含义 Resetcompleted- The module is readyto be used//
__raw_writel(0, SDRC_SYSCONFIG);
// 寄存器SDRC_SYSCONFIG 赋值0x00 含义 Normal mode//
/* setup sdrc to ball mux */
__raw_writel(SDP_SDRC_SHARING, SDRC_SHARING);
//__raw_writel(0x00000100, 0x6D000044);
//寄存器 SDRC_SHARING 赋值0x00000100 含义 使用CS0,CS1 32-bit SDRAM on Datalane [31:0]//