u-boot移植过程中SDRAM相关寄存器的初始化


u-boot移植过程中SDRAM相关寄存器的初始化_第1张图片
SDRAM其中一片的datasheet原理图如上图所示
可以看出SDRAM(单片)有13根地址线A2-A14,16根数据线DQ0-DQ15,BA0-BA1是对块的寻址,当cpu对SDRAM进行地址操作时,是把SDRAM分为四个块来进行寻址的,NWBE0和NWME1是对数据线读出的四个字节的数据来进行选择具体读哪一个数据,SCKE时钟使能,SCLK时钟信号线由ARM的HCLK来提供时钟,VSS地,VDD电源,NSCSping选信号,芯片使能,NSRAS和NSCAS(行地址,列地址),NWE写使能。
当cpu对SDRAM进行操作时,大致顺序:芯片使能-时钟使能-块的选择-行列地址寻址-写读使能      
当SDRAM进行寻址时是通过行列地址寻址的 ,行地址线13 根,列地址线9跟,块的选择2根线,具体读哪个地址上的数据2根线,共有26跟线,刚好可以寻址64M的数据。
当我们要对SDRAM进行工作时,必须先要初始化SDRAM控制器,由上面原理图可知,SDRAM是挂在NGCS6上的。S3C2440cpu的SDRAM控制器主要对以下13个寄存器进行初始化:
u-boot移植过程中SDRAM相关寄存器的初始化_第2张图片

存储控制器共有13个寄存器,BANK0-BANK5只需要设置BWSCON和BANKCONx(x为0-5)两个寄存器;当BANK6、BANK7外接SDRAM时,除了BWSCON和BANKCONx(x为6-7)外,还需要设置REFRESH、BANKSIZE、MRSRB6、MRSRB7等4个寄存器。
u-boot移植过程中SDRAM相关寄存器的初始化_第3张图片

u-boot移植过程中SDRAM相关寄存器的初始化_第4张图片





由上图可知BWSCON中每4位控制一个BANK,最高位对应BANK7,接下来4位依次类推。
说明一下相应位的功能:
                                     (1) STx:启动或禁止数码引脚,对于SDRAM,此位为0。
                                     (2)WSx:是否使用存储器的wait信号,通常为0。
                                     (3)  DWx:使用两位来设置BANK的位宽,0b00对应8位,0b01对应16位,0b10对应32位,0b11对应表示保留。
BANK控制寄存器BANKCONx(0-5)使用默认的值,在这8个BANK中只有BANK6-7才能接SDRAM,所以要对这两个寄存器设置。
u-boot移植过程中SDRAM相关寄存器的初始化_第5张图片
u-boot移植过程中SDRAM相关寄存器的初始化_第6张图片
MT应设为11。Trcd 为行地址索存到列地址索存的时间,推荐为01。SCAN为列地址的位数,K4S561632的列地址位数为9-bit。
接下来就该设置刷新控制寄存器REFRESH:
u-boot移植过程中SDRAM相关寄存器的初始化_第7张图片


REFEN:禁止或开启刷新功能。
TREFMD:刷新模式,这里选择0。
Trp:设为10即可。
Tsrc:设为0b11。
Refresh Counter:1268.




你可能感兴趣的:(u-boot移植过程中SDRAM相关寄存器的初始化)