board/BuR/kwb: use bootvx(...) (with bootline feature) instead go(...)

Since we don't have for sure a valid IP-setup during
board_late_init(...) because it maybe allready stored in environment or
not, we cannot form a proper vxWorks bootline at this place.

So we move to the way, forming the bootline just before
executing/launching vxWorks. To do this we use the bootvx command
instead go.

We only have to form the "othbootargs" environment variable, the rest is
done pretty good by the "bootvx" commannd.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Hannes Petermaier 2015-09-29 08:43:33 +02:00 committed by Tom Rini
parent ade766acfb
commit 91931f7ed3
3 changed files with 17 additions and 21 deletions

View File

@ -47,10 +47,6 @@
#define RSTCTRL_FORCE_PWR_NEN 0x0404 #define RSTCTRL_FORCE_PWR_NEN 0x0404
#define RSTCTRL_CAN_STB 0x4040 #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; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_SPL_BUILD) #if defined(CONFIG_SPL_BUILD)
@ -281,20 +277,15 @@ int board_late_init(void)
} else { } else {
puts("ERROR: i2c_set_bus_speed failed! (scratchregister)\n"); puts("ERROR: i2c_set_bus_speed failed! (scratchregister)\n");
} }
/* setup vxworks bootline */ /* setup othbootargs for bootvx-command (vxWorks bootline) */
char *vxworksbootline = (char *)VXWORKS_BOOTLINE; char othbootargs[128];
sprintf(vxworksbootline, snprintf(othbootargs, sizeof(othbootargs),
"%s h=%s e=%s:%s g=%s %s o=0x%08x;0x%08x;0x%08x;0x%08x", "u=vxWorksFTP pw=vxWorks o=0x%08x;0x%08x;0x%08x;0x%08x",
DEFAULT_BOOTLINE, (unsigned int) gd->fb_base-0x20,
getenv("serverip"), (u32)getenv_ulong("vx_memtop", 16, gd->fb_base-0x20),
getenv("ipaddr"), getenv("netmask"), (u32)getenv_ulong("vx_romfsbase", 16, 0),
getenv("gatewayip"), (u32)getenv_ulong("vx_romfssize", 16, 0));
VXWORKS_USER, setenv("othbootargs", othbootargs);
(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 * 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 * expect that vectors are there, original u-boot moves them to _start

View File

@ -3,6 +3,9 @@ CONFIG_TARGET_KWB=y
CONFIG_SPL=y CONFIG_SPL=y
CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# " CONFIG_SYS_PROMPT="U-Boot (BuR V2.0)# "
# CONFIG_CMD_BOOTD is not set
# CONFIG_CMD_BOOTM is not set
# CONFIG_CMD_GO is not set
# CONFIG_CMD_IMI is not set # CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set # CONFIG_CMD_IMLS is not set
# CONFIG_CMD_XIMG is not set # CONFIG_CMD_XIMG is not set

View File

@ -57,6 +57,8 @@
#ifndef CONFIG_SPL_BUILD #ifndef CONFIG_SPL_BUILD
#define CONFIG_EXTRA_ENV_SETTINGS \ #define CONFIG_EXTRA_ENV_SETTINGS \
BUR_COMMON_ENV \ BUR_COMMON_ENV \
"bootaddr=0x80001100\0" \
"bootdev=cpsw(0,0)\0" \
"vx_romfsbase=0x800E0000\0" \ "vx_romfsbase=0x800E0000\0" \
"vx_romfssize=0x20000\0" \ "vx_romfssize=0x20000\0" \
"vx_memtop=0x8FBEF000\0" \ "vx_memtop=0x8FBEF000\0" \
@ -66,7 +68,7 @@ BUR_COMMON_ENV \
"logoaddr=0x82000000\0" \ "logoaddr=0x82000000\0" \
"defaultARlen=0x8000\0" \ "defaultARlen=0x8000\0" \
"loaddefaultAR=mmc read ${loadaddr} 800 ${defaultARlen}\0" \ "loaddefaultAR=mmc read ${loadaddr} 800 ${defaultARlen}\0" \
"defaultAR=run loadromfs; run loaddefaultAR; go ${loadaddr}\0" \ "defaultAR=run loadromfs; run loaddefaultAR; bootvx ${loadaddr}\0" \
"logo0=fatload mmc 0:1 ${logoaddr} SYSTEM/ADDON/Bootlogo/Bootlogo.bmp.gz && " \ "logo0=fatload mmc 0:1 ${logoaddr} SYSTEM/ADDON/Bootlogo/Bootlogo.bmp.gz && " \
"bmp display ${logoaddr} 0 0\0" \ "bmp display ${logoaddr} 0 0\0" \
"logo1=fatload mmc 0:1 ${logoaddr} SYSTEM/BASE/Bootlogo/Bootlogo.bmp.gz && " \ "logo1=fatload mmc 0:1 ${logoaddr} SYSTEM/BASE/Bootlogo/Bootlogo.bmp.gz && " \
@ -74,11 +76,11 @@ BUR_COMMON_ENV \
"mmcboot=echo booting AR from eMMC-flash ...; "\ "mmcboot=echo booting AR from eMMC-flash ...; "\
"run logo0 || run logo1; " \ "run logo0 || run logo1; " \
"run loadromfs; " \ "run loadromfs; " \
"fatload mmc 0:1 ${loadaddr} arimg && go ${loadaddr}; " \ "fatload mmc 0:1 ${loadaddr} arimg && bootvx ${loadaddr}; " \
"run defaultAR;\0" \ "run defaultAR;\0" \
"netboot=echo booting AR from network ...; " \ "netboot=echo booting AR from network ...; " \
"run loadromfs; " \ "run loadromfs; " \
"tftp ${loadaddr} arimg && go ${loadaddr}; " \ "tftp ${loadaddr} arimg && bootvx ${loadaddr}; " \
"puts 'networkboot failed!';\0" \ "puts 'networkboot failed!';\0" \
"netscript=echo running script from network (tftp) ...; " \ "netscript=echo running script from network (tftp) ...; " \
"tftp 0x80000000 netscript.img && source; " \ "tftp 0x80000000 netscript.img && source; " \