diff options
author | Ilya Yanok <ilya.yanok@cogentembedded.com> | 2012-09-18 00:22:50 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-10-01 10:02:14 -0700 |
commit | 7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56 (patch) | |
tree | 6f85e4734fa8a41c6854c226088df4030b602050 /include | |
parent | 6feb4e9db10990ed56655602de8dd08564b7c245 (diff) | |
download | u-boot-imx-7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56.zip u-boot-imx-7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56.tar.gz u-boot-imx-7ac2fe2da21d292aeaf3af74e5c80de9ce9dab56.tar.bz2 |
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.h | 6 | ||||
-rw-r--r-- | include/config_uncmd_spl.h | 44 | ||||
-rw-r--r-- | include/spl.h | 3 |
3 files changed, 52 insertions, 1 deletions
diff --git a/include/bootstage.h b/include/bootstage.h index a000538..db94a95 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 0000000..bab3ddf --- /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 af94a82..b02f36f 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 |