board/BuR: simplify default IP-setup on B&R boards.
authorHannes Petermaier <oe5hpm@oevsv.at>
Tue, 25 Aug 2015 11:55:41 +0000 (13:55 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 11 Sep 2015 18:05:34 +0000 (14:05 -0400)
To simplify and having a common default IP-setup on all B&R boards we
introduce an environment variable "brdefaultip" which does following.

Test if ${ipaddr} is empty, if yes it set's up some defaults:
- ipaddr   : 192.168.60.1
- netmask  : 255.255.255.0
- gatewayip: 192.168.60.254
- serverip : 192.168.60.254

This environment is ran from CONFIG_PREBOOT.

All other "tricks" are dropped.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
board/BuR/kwb/board.c
include/configs/bur_am335x_common.h

index 640aca4cdec12eca25905b8334ba319a7d9f6577..039ec207c26db2cd647e1063583ba992c6dc618d 100644 (file)
@@ -283,16 +283,6 @@ int board_late_init(void)
        }
        /* setup vxworks bootline */
        char *vxworksbootline = (char *)VXWORKS_BOOTLINE;
-
-       /* setup default IP, in case if there is nothing in environment */
-       if (!getenv("ipaddr")) {
-               setenv("ipaddr", "192.168.60.1");
-               setenv("netmask", "255.255.255.0");
-               setenv("serverip", "192.168.60.254");
-               setenv("gatewayip", "192.168.60.254");
-               puts("net: had no IP! made default setup.\n");
-       }
-
        sprintf(vxworksbootline,
                "%s h=%s e=%s:%s g=%s %s o=0x%08x;0x%08x;0x%08x;0x%08x",
                DEFAULT_BOOTLINE,
index 838ef1f00a23df7188589d6e76d4caaa8b32bb5c..c6960920b2bb4b0c213d34d206fb8468acd4c53b 100644 (file)
 /* ------------------------------------------------------------------------- */
 #define BUR_COMMON_ENV \
 "usbscript=usb start && fatload usb 0 0x80000000 usbscript.img && source\0" \
-"defaultip=192.168.60.253\0" \
-"defaultsip=192.168.60.254\0" \
+"brdefaultip=if test -r ${ipaddr}; then; else" \
+" setenv ipaddr 192.168.60.1; setenv serverip 192.168.60.254;" \
+" setenv gatewayip 192.168.60.254; setenv netmask 255.255.255.0; fi;\0" \
 "netconsole=echo switching to network console ...; " \
-"if dhcp; then setenv ncip ${serverip}; " \
-"else " \
-"setenv ncip 192.168.60.254; setenv serverip 192.168.60.254; " \
-"setenv gatewayip 192.168.60.254; setenv ipaddr 192.168.60.1; " \
-"fi; " \
+"if dhcp; then; else run brdefaultip; fi; setenv ncip ${serverip}; " \
 "setcurs 1 9; lcdputs myip; setcurs 10 9; lcdputs ${ipaddr};" \
 "setcurs 1 10;lcdputs serverip; setcurs 10 10; lcdputs ${serverip};" \
 "setenv stdout nc;setenv stdin nc;setenv stderr nc\0"
 
+#define CONFIG_PREBOOT                 "run brdefaultip"
 #define CONFIG_CMD_TIME
 
 #define CONFIG_SYS_GENERIC_BOARD