summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorIlya Yanok <ilya.yanok@cogentembedded.com>2012-09-18 00:22:50 +0000
committerTom Rini <trini@ti.com>2012-10-01 10:02:14 -0700
commit7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56 (patch)
tree6f85e4734fa8a41c6854c226088df4030b602050 /include
parent6feb4e9db10990ed56655602de8dd08564b7c245 (diff)
downloadblackbird-obmc-uboot-7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56.tar.gz
blackbird-obmc-uboot-7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56.zip
OMAP: networking support for SPL
This patch adds support for networking in SPL. Some devices are capable of loading SPL via network so it makes sense to load the main U-Boot binary via network too. This patch tries to use existing network code as much as possible. Unfortunately, it depends on environment which in turn depends on other code so SPL size is increased significantly. No effort was done to decouple network code and environment so far. Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'include')
-rw-r--r--include/bootstage.h6
-rw-r--r--include/config_uncmd_spl.h44
-rw-r--r--include/spl.h3
3 files changed, 52 insertions, 1 deletions
diff --git a/include/bootstage.h b/include/bootstage.h
index a00053888f..db94a957e6 100644
--- a/include/bootstage.h
+++ b/include/bootstage.h
@@ -210,6 +210,7 @@ enum bootstage_id {
*/
ulong timer_get_boot_us(void);
+#ifndef CONFIG_SPL_BUILD
/*
* Board code can implement show_boot_progress() if needed.
*
@@ -217,8 +218,11 @@ ulong timer_get_boot_us(void);
* has occurred.
*/
void show_boot_progress(int val);
+#else
+#define show_boot_progress(val) do {} while (0)
+#endif
-#ifdef CONFIG_BOOTSTAGE
+#if defined(CONFIG_BOOTSTAGE) && !defined(CONFIG_SPL_BUILD)
/* This is the full bootstage implementation */
/*
diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h
new file mode 100644
index 0000000000..bab3ddf4af
--- /dev/null
+++ b/include/config_uncmd_spl.h
@@ -0,0 +1,44 @@
+/*
+ * (C) Copyright 2012
+ * Ilya Yanok, ilya.yanok@gmail.com
+ *
+ * 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.
+ *
+ * We don't use any commands in SPL, but generic networking code
+ * has some features enabled/disabled based on CONFIG_CMD_*
+ * options. As we want a minimal set of features included
+ * into network SPL image, we undefine some config options here.
+ */
+
+#ifndef __CONFIG_UNCMD_SPL_H__
+#define __CONFIG_UNCMD_SPL_H__
+
+#ifdef CONFIG_SPL_BUILD
+/* SPL needs only BOOTP + TFTP so undefine other stuff to save space */
+#undef CONFIG_CMD_CDP
+#undef CONFIG_CMD_DHCP
+#undef CONFIG_CMD_DNS
+#undef CONFIG_CMD_LINK_LOCAL
+#undef CONFIG_CMD_NFS
+#undef CONFIG_CMD_PING
+#undef CONFIG_CMD_RARP
+#undef CONFIG_CMD_SNTP
+#undef CONFIG_CMD_TFTPPUT
+#undef CONFIG_CMD_TFTPSRV
+#endif /* CONFIG_SPL_BUILD */
+#endif /* __CONFIG_UNCMD_SPL_H__ */
diff --git a/include/spl.h b/include/spl.h
index af94a8238f..b02f36fa94 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -71,6 +71,9 @@ void spl_ymodem_load_image(void);
/* SPI SPL functions */
void spl_spi_load_image(void);
+/* Ethernet SPL functions */
+void spl_net_load_image(const char *device);
+
#ifdef CONFIG_SPL_BOARD_INIT
void spl_board_init(void);
#endif
OpenPOWER on IntegriCloud