FL2440的U-boot-2010.09移植(三)DM9000网卡及开发板相关配置
FL2440的U-boot-2010.09移植(三)DM9000网卡及开发板相关配置
一、在board/fl2440/fl2440.c 中对GPIO和PLL的配置进行修改
相关阅读:
U-Boot源代码下载地址
FL2440的U-boot-2010.09移植(一)
FL2440的U-boot-2010.09移植(二)
FL2440的U-boot-2010.09移植(三)DM9000网卡及开发板相关配置
FL2440的U-boot-2010.09移植(四) 添加NOR FLash启动支持
FL2440的U-boot-2010.09移植(五)uboot架构中NAND FLash驱动修改
FL2440的U-boot-2010.09移植(六)NAND FLash启动支持
FL2440的U-boot-2010.09移植(七)LCD的支持
针对FL2440开发板的u-boot-2010.09版本补丁
(1)修改GPIO和PLL的配置(36行附近)为:
- #if FCLK_SPEED==0 /* Fout = 203MHz, Fin = 12MHz for Audio */
- #define M_MDIV 0xC3
- #define M_PDIV 0x4
- #define M_SDIV 0x1
- #elif FCLK_SPEED==1
- #if defined(CONFIG_S3C2410) /* Fout = 202.8MHz */
- #define M_MDIV 0xA1
- #define M_PDIV 0x3
- #define M_SDIV 0x1
- #endif
- #if defined(CONFIG_S3C2440) /* Fout = 405MHZ */
- #define M_MDIV 0x7f
- #define M_PDIV 0x2
- #define M_SDIV 0x1
- #endif
- #endif
- #define USB_CLOCK 1
- #if USB_CLOCK==0
- #define U_M_MDIV 0xA1
- #define U_M_PDIV 0x3
- #define U_M_SDIV 0x1
- #elif USB_CLOCK==1
- #if defined(CONFIG_S3C2410)
- #define U_M_MDIV 0x48
- #define U_M_PDIV 0x3
- #define U_M_SDIV 0x2
- #endif
- #if defined(CONFIG_S3C2440)/*见S3C2440数据手册P227*/
- #define U_M_MDIV 0x38
- #define U_M_PDIV 0x2
- #define U_M_SDIV 0x2
- #endif
- #endif
(2)修改board_init函数中的LED和蜂鸣器的GPIO寄存器配置:
- #if defined(CONFIG_S3C2440)
- gpio->GPBCON = 0x001dd7fc;//初始化相应的GPB 口为输出口,为显示LED作准备,之前忘了改导致灯不亮
- #else
- gpio->GPBCON = 0x00044555;
- #endif
- ……
- gpio->GPCCON = 0xAAAA56A9;
- gpio->GPCUP = 0xFFFFFFFF;
- ……
- gpio->GPDUP = 0xFFFFFFFF;
(3)为引导linux 内核,修改开发板的类型代码
#if defined(CONFIG_S3C2410) /* arch number of SMDK2410-Board */ gd->bd->bi_arch_number = MACH_TYPE_SMDK2410; #endif #if defined(CONFIG_S3C2440) /* arch number of fl2440-Board */ gd->bd->bi_arch_number = MACH_TYPE_S3C2440; #endif
(4)为使int board_init (void)设置完成后,为了测试Uboot第二阶段工作完成,我加入了LED灯亮起显示,在int board_init (void)的最后添加:
- icache_enable();
- dcache_enable();
- #if defined(CONFIG_FL2440)
- gpio->GPBDAT = ((1<<5) | (1<<6) | (1<<8) | (1<<10));//使LED全部熄灭
- gpio->GPBDAT &= 0xffe; /*添加关闭蜂鸣器语句*/
- gpio->GPBDAT = ~(3<<5);
- #endif
- return 0;
|
评论暂时关闭