五、【s3c2440移植u-boot-2016-11】 DM9000网卡

(一)移植u-boot支持DM9000网卡

1、修改include/configs/smdk2440.h

diff -urN u-boot-2016.11/include/configs/smdk2440.h u-boot-2016.11_s3c2440/include/configs/smdk2440.h
--- u-boot-2016.11/include/configs/smdk2440.h   2018-06-15 18:30:38.719161976 +0800
+++ u-boot-2016.11_s3c2440/include/configs/smdk2440.h   2018-06-15 20:51:50.004896000 +0800
@@ -35,9 +35,10 @@
 /*
  * Hardware drivers
  */
-#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 */
+#define CONFIG_DRIVER_DM9000
+#define CONFIG_DM9000_BASE 0x20000000
+#define DM9000_IO          CONFIG_DM9000_BASE
+#define DM9000_DATA            (CONFIG_DM9000_BASE + 4)

 /*
  * select serial console configuration
@@ -84,8 +85,9 @@
 #define CONFIG_RESET_TO_RETRY

 #define CONFIG_NETMASK     255.255.255.0
-#define CONFIG_IPADDR      10.0.0.110
-#define CONFIG_SERVERIP        10.0.0.1
+#define CONFIG_IPADDR      172.16.122.99
+#define CONFIG_SERVERIP        172.16.122.88
+#define CONFIG_ETHADDR      00:0c:29:d4:e4:4f

 #if defined(CONFIG_CMD_KGDB)
 #define CONFIG_KGDB_BAUDRATE   115200  /* speed to run kgdb serial port */

2、修改include/env_default.h

diff -urN u-boot-2016.11/include/env_default.h u-boot-2016.11_s3c2440/include/env_default.h
--- u-boot-2016.11/include/env_default.h    2016-11-15 00:27:11.000000000 +0800
+++ u-boot-2016.11_s3c2440/include/env_default.h    2018-06-15 20:50:17.902868000 +0800
@@ -58,6 +58,9 @@
 #ifdef CONFIG_SERVERIP
    "serverip=" __stringify(CONFIG_SERVERIP)    "\0"
 #endif
+#ifdef CONFIG_ETHADDR
+   "ethaddr="  __stringify(CONFIG_ETHADDR) "\0"
+#endif
 #ifdef CONFIG_SYS_AUTOLOAD
    "autoload=" CONFIG_SYS_AUTOLOAD     "\0"
 #endif

3、修改board/samsung/smdk2440/smdk2440.c

diff -urN u-boot-2016.11/board/samsung/smdk2440/smdk2440.c u-boot-2016.11_s3c2440/board/samsung/smdk2440/smdk2440.c
--- u-boot-2016.11/board/samsung/smdk2440/smdk2440.c    2018-06-14 19:56:40.565213154 +0800
+++ u-boot-2016.11_s3c2440/board/samsung/smdk2440/smdk2440.c    2018-06-15 20:50:43.931876000 +0800
@@ -122,6 +122,9 @@
 #ifdef CONFIG_CS8900
    rc = cs8900_initialize(0, CONFIG_CS8900_BASE);
 #endif
+#ifdef CONFIG_DRIVER_DM9000
+   rc = dm9000_initialize(bis);
+#endif
    return rc;
 }
 #endif

4、修改scripts/config_whitelist.txt

diff -urN u-boot-2016.11/scripts/config_whitelist.txt u-boot-2016.11_s3c2440/scripts/config_whitelist.txt
--- u-boot-2016.11/scripts/config_whitelist.txt 2018-06-15 18:28:58.111161976 +0800
+++ u-boot-2016.11_s3c2440/scripts/config_whitelist.txt 2018-06-15 20:47:29.586752193 +0800
@@ -861,6 +861,7 @@
 CONFIG_DISPLAY_CPUINFO
 CONFIG_DLVISION
 CONFIG_DLVISION_10G
+CONFIG_CMD_NET
 CONFIG_DM9000_BASE
 CONFIG_DM9000_BYTE_SWAPPED
 CONFIG_DM9000_DEBUG

5、烧写u-boot.bin到Nor Flash上测试

book@ubuntu:~/u-boot-2016.11$ ./auto_run.sh

这里写图片描述
通过测试tftp看网卡是否ok,如果不能用请认真查看自己环境变量是否设置正确,尤其是ipaddr、serverip、netwask、ethaddr
这里写图片描述

猜你喜欢

转载自blog.csdn.net/david_linux/article/details/80710669
今日推荐