summaryrefslogtreecommitdiff
path: root/lib_nios/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib_nios/board.c')
-rw-r--r--lib_nios/board.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib_nios/board.c b/lib_nios/board.c
index c81c0011e..8718fecc8 100644
--- a/lib_nios/board.c
+++ b/lib_nios/board.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <devices.h>
#include <watchdog.h>
+#include <net.h>
/*
@@ -107,6 +108,8 @@ void board_init (void)
bd_t *bd;
init_fnc_t **init_fnc_ptr;
+ char *s, *e;
+ int i;
/* Pointer is writable since we allocated a register for it.
* Nios treats CFG_GBL_DATA_OFFSET as an address.
@@ -129,6 +132,12 @@ void board_init (void)
bd->bi_sramstart= CFG_SRAM_BASE;
bd->bi_sramsize = CFG_SRAM_SIZE;
bd->bi_baudrate = CONFIG_BAUDRATE;
+ bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
+ s = getenv ("ethaddr");
+ for (i = 0; i < 6; ++i) {
+ bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
+ if (s) s = (*e) ? e + 1 : e;
+ }
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr) () != 0) {
@@ -164,3 +173,4 @@ void hang (void)
puts("### ERROR ### Please reset board ###\n");
for (;;);
}
+