]> git.sur5r.net Git - u-boot/commitdiff
RX-51: Add support for bootmenu
authorPali Rohár <pali.rohar@gmail.com>
Thu, 7 Mar 2013 05:15:19 +0000 (05:15 +0000)
committerAnatolij Gustschin <agust@denx.de>
Fri, 29 Mar 2013 08:35:34 +0000 (09:35 +0100)
 * default bootmenu entries:
   attached kernel, internal eMMC memory, external SD card,
   u-boot boot order

 * in CONFIG_PREBOOT try load bootmenu.scr from first partition
   of internal eMMC memory (also known as MyDocs) which (should)
   overwrite default bootmenu entries

 * when keyboard slide is closed boot first menu entry

 * when keyborad slide is open show bootmenu

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
include/configs/nokia_rx51.h

index 8506604a7683ffc9f10e7389ce1eb2c9d06ff9d2..965330aa38cb12936d71ace3ec66de13acd3ea38 100644 (file)
 #define CONFIG_CMDLINE_EDITING         /* add command line history */
 #define CONFIG_AUTO_COMPLETE           /* add autocompletion support */
 
+#define CONFIG_CMD_BOOTMENU            /* ANSI terminal Boot Menu */
 #define CONFIG_CMD_CLEAR               /* ANSI terminal clear screen command */
 
 #ifdef ONENAND_SUPPORT
@@ -287,8 +288,6 @@ int rx51_kp_getc(void);
 #endif
 
 /* Environment information */
-#define CONFIG_BOOTDELAY               3
-
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "mtdparts=" MTDPARTS_DEFAULT "\0" \
        "usbtty=cdc_acm\0" \
@@ -360,10 +359,40 @@ int rx51_kp_getc(void);
                "fi\0" \
        "emmcboot=setenv mmcnum 1; run trymmcboot\0" \
        "sdboot=setenv mmcnum 0; run trymmcboot\0" \
+       "menucmd=bootmenu\0" \
+       "bootmenu_0=Attached kernel=run attachboot\0" \
+       "bootmenu_1=Internal eMMC=run emmcboot\0" \
+       "bootmenu_2=External SD card=run sdboot\0" \
+       "bootmenu_3=U-Boot boot order=boot\0" \
+       "bootmenu_delay=30\0" \
        ""
 
 #define CONFIG_PREBOOT \
-       "if run slide; then true; else run attachboot; fi;" \
+       "setenv mmcnum 1; setenv mmcpart 1;" \
+       "setenv mmcscriptfile bootmenu.scr;" \
+       "if run switchmmc; then " \
+               "setenv mmcdone true;" \
+               "setenv mmctype fat;" \
+               "if run scriptload; then true; else " \
+                       "setenv mmctype ext2;" \
+                       "if run scriptload; then true; else " \
+                               "setenv mmctype ext4;" \
+                               "if run scriptload; then true; else " \
+                                       "setenv mmcdone false;" \
+                               "fi;" \
+                       "fi;" \
+               "fi;" \
+               "if ${mmcdone}; then " \
+                       "run scriptboot;" \
+               "fi;" \
+       "fi;" \
+       "if run slide; then true; else " \
+               "setenv bootmenu_delay 0;" \
+               "setenv bootdelay 0;" \
+       "fi"
+
+#define CONFIG_POSTBOOTMENU \
+       "echo;" \
        "echo Extra commands:;" \
        "echo run sercon - Use serial port for control.;" \
        "echo run usbcon - Use usbtty for control.;" \
@@ -379,6 +408,11 @@ int rx51_kp_getc(void);
        "run attachboot;" \
        "echo"
 
+#define CONFIG_BOOTDELAY 30
+#define CONFIG_AUTOBOOT_KEYED
+#define CONFIG_MENU
+#define CONFIG_MENU_SHOW
+
 /*
  * Miscellaneous configurable options
  */