新闻中心

EEPW首页>嵌入式系统>设计应用> mini2440开发板 u-boot 移植

mini2440开发板 u-boot 移植

作者: 时间:2016-11-27 来源:网络 收藏

本文引用地址://m.amcfsurvey.com/article/201611/322209.htm

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 下一页

评论


技术专区

关闭