硬件平台:QT2440
软件平台:以mini2440软件系统为基础,内核版本为2.6.32.2
1,添加到drivers/net/Makefile:
obj-$(CS8900) += cs8900.o
2,添加到drivers/net/Kconfig:
config CS8900
tristate "CS8900 support"
depends on NET_ETHERNET && ARM
help
support for cs8900 chipset based Ethernet cards , if you have a network card of this type
3,编译配置内核
# make menuconfig
进入配置菜单添加驱动到内核
Device Drivers --->
[*] Network device support --->
[*] Ethernet (10 or 100Mbit) --->
<*> CS8900 support
4,修改arch/arm/mach-s3c2440/mach-mini2440.c
在static struct map_desc smdk2410_iodesc[] __initdata 静态映射初始化最后添加:
{ .virtual = vSMDK2410_ETH_IO,
.pfn = __phys_to_pfn(S3C2410_CS3 + (1<<24)),
.length = SZ_1M,
.type = MT_DEVICE,
},
5,修改arch/arm/plat-s3c24xx/include/plat/map.h文件增加:
/* CS8900 */
#define pSMDK2410_ETH_IO __phys_to_pfn(0x19000000)
#define vSMDK2410_ETH_IO 0xE0000000
#define SMDK2410_ETH_IRQ IRQ_EINT9
6,把cs8900.c cs8900.h添加进内核/drivers/net/,
7,make zImage
8,测试网卡驱动
ping 192.168.1.230 //
9,测试能否上网
ping 8.8.8.8
如果能ping通,基本就能上网了。可以通过NFS挂载文件系统。
来上两个图: