本移植过程假设用户用户是从给定的 demo 板开发自己的新产品。
你也可以参考: http://wenku.baidu.com/view/723e304be45c3b3567ec8b56.html 这篇文章
假设用的 demo 板是 omap3devkit8000,我们自己的板叫 myboard.
看这篇文章前可以先看我写的前一篇文章: u-boot 的移植,然后再做如下的操作
目标是: demo 板中的 u-boot 是用的 DM9000 网卡,自己硬件用的 smc911x 网卡
大的方案是先找到支持 smc911x 网卡的 uboot(高版本的 uboot 支持), 然后跟自己 demo 板的 uboot 对比。
1> 拷贝下面两个驱动文件
/drivers/net/smc911x.c
/drivers/net/smc911x.h
2> 在 myboard.h 增加以下宏定义
/*
* Net chip
*/
#define CONFIG_SMC911X
#define CONFIG_SMC911X_16_BIT
#define CONFIG_SMC911X_BASE 0x2C000000 /* 网卡的基地址 */
3> /board/myboard/myboard.c 文件中加入以下两个函数(参考其它 uboot 做的)
/*
* Routine: setup_net_chip
* Description: Setting up the configuration GPMC registers specific to the
* Ethernet hardware.
*/
static void setup_net_chip(void)
{
/* 初始化第一个网卡 */
__raw_writel(0x00001000, GPMC_CONFIG_CS0 + (4 * GPMC_CONFIG_WIDTH) + GPMC_CONFIG1);
__raw_writel(0x001e1e00, GPMC_CONFIG_CS0 + (4 * GPMC_CONFIG_WIDTH) + GPMC_CONFIG2);
__raw_