diff options
author | Tom Rini <trini@ti.com> | 2012-10-04 10:00:42 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-10-04 10:00:42 -0700 |
commit | 198166877768cf4d0197289a524df8a6ca0e2f19 (patch) | |
tree | d8fb2afc6d5b09ceeb4e3e62dc20b64d167ab346 /common/spl/spl_net.c | |
parent | 73c15c634dda388e21eaf0ebc85e324872df0d25 (diff) | |
parent | 777544085d2b417a36df50eb564bf037a044e60e (diff) | |
download | blackbird-obmc-uboot-198166877768cf4d0197289a524df8a6ca0e2f19.tar.gz blackbird-obmc-uboot-198166877768cf4d0197289a524df8a6ca0e2f19.zip |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'common/spl/spl_net.c')
-rw-r--r-- | common/spl/spl_net.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c new file mode 100644 index 0000000000..e1596fee27 --- /dev/null +++ b/common/spl/spl_net.c @@ -0,0 +1,52 @@ +/* + * (C) Copyright 2000-2004 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * (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. + */ +#include <common.h> +#include <spl.h> +#include <net.h> + +DECLARE_GLOBAL_DATA_PTR; + +void spl_net_load_image(const char *device) +{ + int rv; + + env_init(); + env_relocate(); + setenv("autoload", "yes"); + load_addr = CONFIG_SYS_TEXT_BASE - sizeof(struct image_header); + rv = eth_initialize(gd->bd); + if (rv == 0) { + printf("No Ethernet devices found\n"); + hang(); + } + if (device) + setenv("ethact", device); + rv = NetLoop(BOOTP); + if (rv < 0) { + printf("Problem booting with BOOTP\n"); + hang(); + } + spl_parse_image_header((struct image_header *)load_addr); +} |