OMAP3 Mobile DDR 初始化

SDR和DDR SDRAM在使用前都需要进行初始化操作,设计中使用的是TI的OMAP3530和Micron的32bitMobileDDR MT46H16M32LF
 
注意将OMAP3的SDRC_MCFG设置为0x02482019,行地址13bit,列地址9bit,RAMSIZE=32.
 
至于Burst操作,需要进一步的Timing配置。
 
 
/*********************************************************************
 * config_3430sdram_ddr() - Init DDR on 3430SDP dev board.
 *********************************************************************/
void config_3430sdram_ddr(void)
{
 /* reset sdrc controller */
 __raw_writel(SOFTRESET, SDRC_SYSCONFIG);
 wait_on_value(BIT0, BIT0, SDRC_STATUS, 12000000);
 __raw_writel(0, SDRC_SYSCONFIG);
 /* setup sdrc to ball mux */
 __raw_writel(SDP_SDRC_SHARING, SDRC_SHARING);
 /* set mdcfg */
 __raw_writel(SDP_SDRC_MDCFG_0_DDR, SDRC_MCFG_0); //这里MCFG的值设置为0x02482019
 /* set timing */
 #if 0
 if ((get_mem_type() == GPMC_ONENAND) || (get_mem_type() == MMC_ONENAND)) {
  __raw_writel(INFINEON_SDRC_ACTIM_CTRLA_0, SDRC_ACTIM_CTRLA_0);
  __raw_writel(INFINEON_SDRC_ACTIM_CTRLB_0, SDRC_ACTIM_CTRLB_0);
 }
 
 if ((get_mem_type() == GPMC_NAND) || (get_mem_type() == MMC_NAND)) {
  __raw_writel(MICRON_SDRC_ACTIM_CTRLA_0, SDRC_ACTIM_CTRLA_0);
  __raw_writel(MICRON_SDRC_ACTIM_CTRLB_0, SDRC_ACTIM_CTRLB_0);
 }
 

评论

此博客中的热门博文

STM32F072的I2C的使用方法