From: Rob Herring <rob.herr...@calxeda.com> Add support to read the boot src register and set bootcmd env from the selected bootcmdX env setting.
Based on Linkstation boot choice selection. Signed-off-by: Rob Herring <rob.herr...@calxeda.com> --- board/highbank/highbank.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/board/highbank/highbank.c b/board/highbank/highbank.c index b771cc8..e2dce53 100644 --- a/board/highbank/highbank.c +++ b/board/highbank/highbank.c @@ -23,6 +23,7 @@ #include <asm/io.h> #define HB_SREG_A9_PWR_REQ 0xfff3cf00 +#define HB_SREG_A9_BOOT_SRC_STAT 0xfff3cf04 #define HB_PWR_SUSPEND 0 #define HB_PWR_SOFT_RESET 1 #define HB_PWR_HARD_RESET 2 @@ -54,8 +55,20 @@ int board_eth_init(bd_t *bis) int misc_init_r(void) { + char envbuffer[16]; + u32 boot_choice; + ahci_init(0xffe08000); scsi_scan(1); + + boot_choice = readl(HB_SREG_A9_BOOT_SRC_STAT) & 0xff; + sprintf(envbuffer, "bootcmd%d", boot_choice); + if (getenv(envbuffer)) { + sprintf(envbuffer, "run bootcmd%d", boot_choice); + setenv("bootcmd", envbuffer); + } else + setenv("bootcmd", ""); + return 0; } -- 1.7.5.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot