2440 移植u-boot 时 DM9000的驱动问题

时间:2021-07-14 19:30:52

1.jz2440 使用DM9000

2.而韦东山的书使用cs8900

3.移植时注意 使用DM9000的宏定义

CFG_CMD_NET

CFG_CMD_PING

#define CONFIG_ETHADDR08:00:3e:26:0a:5b 
#define CONFIG_NETMASK          255.255.255.0
#define CONFIG_IPADDR 192.168.1.192
#define CONFIG_SERVERIP 192.168.1.190

4.修改static int dm9000_init函数中部分代码,

如果不修改这一部分,在使用网卡的时候会报

“could not establish link”的错误。

打开/drivers/net/dm9000x.c,定位到377行,修改如下:

 /* Activate DM9000 */
 /* RX enable */
 DM9000_iow(DM9000_RCR, RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN);
 /* Enable TX/RX interrupt mask */
 DM9000_iow(DM9000_IMR, IMR_PAR);

 #if 0 //default to link MII interface
 i = 0;
 while (!(phy_read(1) & 0x20)) { /* autonegation complete bit */
  udelay(1000);
  i++;
  if (i == 1650) { 
   //printf("could not establish link\n");
   //return 0;
   break;
  }
 }
#endif

5.start_armboot==>eth_initialize==>添加eth_init(bis);