summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-03-14 17:21:24 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2016-03-09 14:42:03 +0100
commit90c52f1a91f194320f217876806b3a46bc84062c (patch)
tree2d7d842447a604fa7bc52f55f14b277cfdac6bb7 /common
parent5426e8961b08a653f8d73323a394e87578e8a436 (diff)
MLK-10774-7 Auto check if boot from usb
If boot from usb, reset environment to default value. Auto apply mfgtools setting and boot mfgtools kernel. Signed-off-by: Frank Li <Frank.li@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Diffstat (limited to 'common')
-rw-r--r--common/autoboot.c22
-rw-r--r--common/main.c4
2 files changed, 26 insertions, 0 deletions
diff --git a/common/autoboot.c b/common/autoboot.c
index c27cc2c751..f5184a0114 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -13,6 +13,10 @@
#include <menu.h>
#include <post.h>
+#ifdef is_boot_from_usb
+#include <environment.h>
+#endif
+
DECLARE_GLOBAL_DATA_PTR;
#define MAX_DELAY_STOP_STR 32
@@ -246,6 +250,17 @@ const char *bootdelay_process(void)
s = getenv("bootdelay");
bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
+#ifdef is_boot_from_usb
+ if (is_boot_from_usb()) {
+ printf("Boot from USB for mfgtools\n");
+ bootdelay = 0;
+ set_default_env("Use default environment for \
+ mfgtools\n");
+ } else {
+ printf("Normal Boot\n");
+ }
+#endif
+
#ifdef CONFIG_OF_CONTROL
bootdelay = fdtdec_get_config_int(gd->fdt_blob, "bootdelay",
bootdelay);
@@ -272,6 +287,13 @@ const char *bootdelay_process(void)
#endif /* CONFIG_BOOTCOUNT_LIMIT */
s = getenv("bootcmd");
+#ifdef is_boot_from_usb
+ if (is_boot_from_usb()) {
+ s = getenv("bootcmd_mfg");
+ printf("Run bootcmd_mfg: %s\n", s);
+ }
+#endif
+
process_fdt_options(gd->fdt_blob);
stored_bootdelay = bootdelay;
diff --git a/common/main.c b/common/main.c
index 2979fbed63..62ab1ac849 100644
--- a/common/main.c
+++ b/common/main.c
@@ -12,6 +12,10 @@
#include <cli.h>
#include <version.h>
+#ifdef is_boot_from_usb
+#include <environment.h>
+#endif
+
DECLARE_GLOBAL_DATA_PTR;
/*