分类: IT职场
2014-12-17 11:01:32
三、修改DM9000网卡信息
与SMDKV210评估板一样,SMART210和GEC210开发板同样使用DM9000芯片作为以太网芯片,但开发板上DM9000芯片的片选线与SMDKV210评估板有所不同,如图3-4所示:
图3-11 DM9000网卡连接示意图
DM9000的片选线CS#接到了S5PV210的CSn1,也就是SROMC_BANK1,由图1-5所示可知访问DM9000的基址是0x88000000,DM9000的CMD接到了地址线ADDR2,访问DM9000数据的地址0x88000000+0b100(0x8)。
表3-1 s5pv210内存地址分配表
1.修改配置文件:
gedit include/configs/smdkv210single.h
将:
#define CONFIG_DM9000_BASE (0xA8000000)
修改为:
#define CONFIG_DM9000_BASE (0x88000000)
将:
#define DM9000_DATA (CONFIG_DM9000_BASE+2)
修改为:
#define DM9000_DATA (CONFIG_DM9000_BASE+8)
修改板级初始化文件:
gedit board/samsung/smdkc110/smdkc110.c
修改DM9000预初始化函数dm9000_pre_init:
static void dm9000_pre_init(void)
{
unsigned int tmp;
/* DM9000 on SROM BANK1, 16 bit */
SROM_BW_REG &= ~(0xf << 4);
SROM_BW_REG |= (0x1 << 4);
SROM_BC1_REG = ((0<<28)|(0<<24)|(5<<16)|(0<<12)|(0<<8)|(0<<4)|(0<<0));
/* Set MP01_1 as SROM_CSn[1] */
tmp = MP01CON_REG;
tmp &=~(0xf<<4);
tmp |=(2<<4);
MP01CON_REG = tmp;
}
重新编译下载运行,用TFTP下载测试网卡驱动,或者设置好开发板IP地址和服务器IP地址后,使用ping来测试连通性。测试结果如图3-5所示。
SMDKV210 # setenv serverip 192.168.0.5
SMDKV210 # tftp 0x20000000 u-boot.bin
dm9000 i/o: 0x88000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
TFTP from server 192.168.0.5; our IP address is 192.168.0.1
Filename 'u-boot.bin'.
Load address: 0x20000000
Loading: ###################
done
Bytes transferred = 278528 (0x44000)