u-boot-2014.10移植第17天----新增DM9000網路卡支援(一)

fulinux發表於2014-12-31

很多讀者的2440的板子應該都有DM9000網路卡。在移植之前看看這幾篇文件:

DM9000中文手冊(詳細)

這篇文章告訴我們DM9000的一些硬體知識。

DM9000和MINI2440深入理解

這篇文章告訴我們2440是如何實現對DM9000的訪問。

2440 dm9000 到底咋確定地址 

這篇文章告訴我們如何確定地址埠的地址和資料埠的地址。

DM9000 datasheet

datasheet上說dm9000有4K Dword(就是4K雙字,即16Kbytes)。

DM9000網路卡驅動位於drivers/net/dm9000x.c,在drivers/net/Makefile檔案中可以看到:

obj-$(CONFIG_DRIVER_DM9000) += dm9000x.o
CONFIG_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。

明天繼續!





相關文章