[U-Boot] [PATCH v2] board/BuR/kwb: Form a bootline for vxWorks

Hannes Petermaier oe5hpm at oevsv.at
Tue Feb 3 13:19:36 CET 2015


vxWorks needs several parameters which are set by the bootloader und his
environment. So we form a vxWorks bootline and pass the result to vxWorks on
a predefined address.

Signed-off-by: Hannes Petermaier <oe5hpm at oevsv.at>

---
Changes for V2: None
---
 board/BuR/kwb/board.c |   30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/board/BuR/kwb/board.c b/board/BuR/kwb/board.c
index 30900bc..455f472 100644
--- a/board/BuR/kwb/board.c
+++ b/board/BuR/kwb/board.c
@@ -47,6 +47,12 @@
 #define	RSTCTRL_FORCE_PWR_NEN			0x0404
 #define	RSTCTRL_CAN_STB				0x4040
 
+#define VXWORKS_BOOTLINE			0x80001100
+#define DEFAULT_BOOTLINE	"cpsw(0,0):pme/vxWorks"
+#define VXWORKS_USER		"u=vxWorksFTP pw=vxWorks tn=vxtarget"
+
+DECLARE_GLOBAL_DATA_PTR;
+
 #if defined(CONFIG_SPL_BUILD)
 /* TODO: check ram-timing ! */
 static const struct ddr_data ddr3_data = {
@@ -248,6 +254,30 @@ int board_late_init(void)
 	} else {
 		puts("ERROR: i2c_set_bus_speed failed! (scratchregister)\n");
 	}
+	/* 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,
+		getenv("serverip"),
+		getenv("ipaddr"), getenv("netmask"),
+		getenv("gatewayip"),
+		VXWORKS_USER,
+		(unsigned int) gd->fb_base-0x20,
+		(u32)getenv_ulong("vx_memtop", 16, gd->fb_base-0x20),
+		(u32)getenv_ulong("vx_romfsbase", 16, 0),
+		(u32)getenv_ulong("vx_romfssize", 16, 0));
+
 	/*
 	 * reset VBAR registers to its reset location, VxWorks 6.9.3.2 does
 	 * expect that vectors are there, original u-boot moves them to _start
-- 
1.7.10.4



More information about the U-Boot mailing list