很多读者的2440的板子应该都有DM9000网卡。在移植之前看看这几篇文档:
这篇文章告诉我们DM9000的一些硬件知识。
这篇文章告诉我们2440是如何实现对DM9000的访问。
这篇文章告诉我们如何确定地址端口的地址和数据端口的地址。
datasheet上说dm9000有4K Dword(就是4K双字,即16Kbytes)。
DM9000网卡驱动位于drivers/net/dm9000x.c,在drivers/net/Makefile文件中可以看到:
obj-$(CONFIG_DRIVER_DM9000) += dm9000x.oCONFIG_DRIVER_DM9000这个是一个宏定义,如果它有定义就会编译该文件,所以我们在include/configs/tq2440.h文件中定义该宏:
#define NONE_FLAG 0#if NONE_FLAG #define CONFIG_CS8900 /* we have a CS8900 on-board */#define CONFIG_CS8900_BASE 0x19000300#define CONFIG_CS8900_BUS16 /* the Linux driver does accesses as shorts */#else#define CONFIG_DRIVER_DM9000#endif
tq2440底板原理图上DM9000的片选信号线接的是2440上的nGCS4,在2440datasheet上的5. Memory Controller一章中,nGCS4的基地址是0x2000 0000。
明天继续!