****************************************************************************************************
硬件平台:TQ2416
软件平台:无
记录日期:2015-07-14
调试工具:H-Jtag、J-link结合
文档记录:该文档用来为U-boot中的sdram初始化做的研究笔记
其他备注:无
****************************************************************************************************
主题:s3c2416x的外部sdram的初始化寄存器配置详细解释
1.1 BANKCFG
1.2 BANKCFG的配置说明
RASBW0:BANK0上的设置 这一位决定了sdram区域的BANK0域的行地址选通的位宽,根据你用的sdram的芯片的手册上的参数来确定,举例:若是A0~A13那就是14个bit。
RASBW1:BANK1上的设置 原理同RASBW0,只不过它确定的是BANK1的,设置原理同上面。
CASBW0:BANK0上的设置 这一位决定了BANK0的列地址宽度,根据你用的sdram的芯片的手册上的参数来确定,举例子:若是A0~A9 那就是10bit。
CASBW1:BANK1上的设置 同CASBW0,它决定的是BANK1上外接的sdram的列地址
ADDRCFG0:BANK0上的设置 内存的地址配置,就是怎么样去将一个数据从cpu写到某个内存地址,或者怎么样从一个内存地址读一个数据。通常sdram的芯片都是BA->RAS->CAS,也就是先确定那个逻辑bank(通过BA来确定),然后发送行地址(RAS),最后发送列地址(CAS)
ADDRCFG1:BANK1上的设置 同上面,它决定的是BANK1上的参数
MEMCFG:你用的什么类型的dram,你就对应着设置,比如我用的Mobile DDR(又称mDDR),所以选择110
BW:外部内存的数据总线的位宽,这个简单,看你的开发板内存的数据总线的接线,16bit你就选1,32的你就选0
针对TQ2416开发板,BANKCFG的值就应该设置成:
BANKCFG = (1 << 0 )| ( 6 << 1 )|(0 << 4)|(2 << 8)|(2 << 11)|(3 << 11)|(3 << 17)
未完待续...