mini2440开发板 u-boot 移植

嵌入式系统 时间:2016-11-27来源:网络

4.修改/cpu/arm/s3c24x0/interrupts.c,加入对2440的支持

(1)在第33行左右,修改

#if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined(CONFIG_S3C2440) || defined (CONFIG_TRAB)

(2)在第40行左右,修改


#elif defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)

(3)在get_tbclk()函数中修改


#elif defined(CONFIG_SBC2410X) ||
defined(CONFIG_SMDK2410) ||
defined(CONFIG_MINI2440) ||
defined(CONFIG_VCMA9)
tbclk = CFG_HZ;
#else

5.修改/cpu/arm/s3c24x0/speed.c

(1)在33行左右修改:


#if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_S3C2440) || defined (CONFIG_TRAB)

#if defined(CONFIG_S3C2400)
#include


#elif defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)

(2)修改函数get_PLLCLK()

因为S3C2440与S3C2410的MPLL、UPLL计算公式不同

在代码:

m = ((r & 0xFF000) >> 12) + 8;
p = ((r & 0x003F0) >> 4) + 2;
s = r & 0x3

的后面添加:


#if defined(CONFIG_S3C2440)
if (pllreg == MPLL)
return((CONFIG_SYS_CLK_FREQ*m*2)/(p<else if(pllreg == UPLL)
#endif

return((CONFIG_SYS_CLK_FREQ * m) / (p << s));
}

(3)修改函数get_HCLK()

ulong get_HCLK(void)
{
S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER();


#if defined(CONFIG_S3C2440)
if(clk_power->CLKDIVN&0x6)
{
if((clk_power->CLKDIVN&0x06)==2)
return(get_FCLK()/2);
if((clk_power->CLKDIVN&0x06)==6)
return(clk_power->CAMDIVN&0x100)?
get_FCLK()/6:get_FCLK()/3;
if((clk_power->CLKDIVN&0x06)==4)
return(clk_power->CAMDIVN&0x200)?
get_FCLK()/8:get_FCLK()/4;
return(get_FCLK());

}
else return(get_FCLK());
#else
return((clk_power->CLKDIVN&0x02)?get_FCLK()/2:get_FCLK());
#endif

// return((clk_power->CLKDIVN & 0x2) ? get_FCLK()/2 : get_FCLK());
}

6.修改/include/asm-arm/mach-types.h

添加mini2440机器ID,添加的ID内核提供的ID保持一致

#define MACH_TYPE_MINI24401999

7.修改cpu/arm920t/s3c24x0/serial.c

修改drivers/rtc/s3c24x0_rtc.c

在有s3c2410宏定义开关里加入对s3c2440的支持

1 2

关键词: mini2440开发板u-boot移

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版