78 lines
2.5 KiB
Diff
78 lines
2.5 KiB
Diff
|
diff -urN u-boot-2009.01-0rig//common/cmd_ethinit.c u-boot-2009.01/common/cmd_ethinit.c
|
||
|
--- u-boot-2009.01-0rig//common/cmd_ethinit.c 1970-01-01 01:00:00.000000000 +0100
|
||
|
+++ u-boot-2009.01/common/cmd_ethinit.c 2009-01-04 00:28:39.000000000 +0100
|
||
|
@@ -0,0 +1,62 @@
|
||
|
+/*
|
||
|
+ * (C) Copyright 2000
|
||
|
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||
|
+ *
|
||
|
+ * See file CREDITS for list of people who contributed to this
|
||
|
+ * project.
|
||
|
+ *
|
||
|
+ * This program is free software; you can redistribute it and/or
|
||
|
+ * modify it under the terms of the GNU General Public License as
|
||
|
+ * published by the Free Software Foundation; either version 2 of
|
||
|
+ * the License, or (at your option) any later version.
|
||
|
+ *
|
||
|
+ * This program is distributed in the hope that it will be useful,
|
||
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
+ * GNU General Public License for more details.
|
||
|
+ *
|
||
|
+ * You should have received a copy of the GNU General Public License
|
||
|
+ * along with this program; if not, write to the Free Software
|
||
|
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||
|
+ * MA 02111-1307 USA
|
||
|
+ */
|
||
|
+
|
||
|
+/*
|
||
|
+ * Boot support
|
||
|
+ */
|
||
|
+#include <common.h>
|
||
|
+#include <command.h>
|
||
|
+#include <net.h>
|
||
|
+#ifdef CONFIG_CMD_ETHINIT
|
||
|
+extern int eth_init (bd_t * bd);
|
||
|
+
|
||
|
+static void delay(void)
|
||
|
+{
|
||
|
+}
|
||
|
+/*
|
||
|
+ * This command allows you to delay booting until you have a
|
||
|
+ * valid Ethernet connection.
|
||
|
+ * Neccessary if you want to NFS mount a rootfs etc.
|
||
|
+ * When both this target and the NFS server
|
||
|
+ * are powered on at the same time, then the NFS
|
||
|
+ * server can take a long time to boot.
|
||
|
+ */
|
||
|
+int do_ethinit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||
|
+{
|
||
|
+ int i;
|
||
|
+ DECLARE_GLOBAL_DATA_PTR;
|
||
|
+ while(eth_init (gd->bd) == 0) {
|
||
|
+ for(i = 0; i < 10000000; i ++) {
|
||
|
+ delay();
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return 0;
|
||
|
+}
|
||
|
+
|
||
|
+U_BOOT_CMD(
|
||
|
+ ethinit, 1, 1, do_ethinit,
|
||
|
+ "ethinit\t- Initialize Ethernet controller\n",
|
||
|
+ "\n"
|
||
|
+);
|
||
|
+
|
||
|
+#endif /* CONFIG_CMD_ETHINIT */
|
||
|
diff -urN u-boot-2009.01-0rig//common/Makefile u-boot-2009.01/common/Makefile
|
||
|
--- u-boot-2009.01-0rig//common/Makefile 2009-01-04 00:22:06.000000000 +0100
|
||
|
+++ u-boot-2009.01/common/Makefile 2009-01-04 00:29:46.000000000 +0100
|
||
|
@@ -83,6 +83,7 @@
|
||
|
COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += cmd_eeprom.o
|
||
|
COBJS-$(CONFIG_CMD_EEPROM) += cmd_eeprom.o
|
||
|
COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
|
||
|
+COBJS-$(CONFIG_CMD_ETHINIT) += cmd_ethinit.o
|
||
|
COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
|
||
|
COBJS-$(CONFIG_CMD_FACTORY) += cmd_factory.o
|
||
|
COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
|