Patchwork [U-Boot,07/11] am335x_evm: Make SPL_OS also check the boot_os variable for falcon mode

login
register
mail settings
Submitter Tom Rini
Date Sept. 26, 2013, 8:28 p.m.
Message ID <1380227287-26057-8-git-send-email-trini@ti.com>
Download mbox | patch
Permalink /patch/278264/
State Superseded
Delegated to: Tom Rini
Headers show

Comments

Tom Rini - Sept. 26, 2013, 8:28 p.m.
We use the same variable as a3m071 in the environment to determine if we
should boot into Linux or U-Boot.  This is useful on boards like
Beaglebone Black or AM335x GP EVM where we have persistent storage for
the environment.

Signed-off-by: Tom Rini <trini@ti.com>
---
 board/ti/am335x/board.c |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

Patch

diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index cc04426..0cfd048 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -26,6 +26,7 @@ 
 #include <i2c.h>
 #include <miiphy.h>
 #include <cpsw.h>
+#include <environment.h>
 #include "board.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -232,7 +233,17 @@  static struct emif_regs ddr3_evm_emif_reg_data = {
 int spl_start_uboot(void)
 {
 	/* break into full u-boot on 'c' */
-	return (serial_tstc() && serial_getc() == 'c');
+	if (serial_tstc() && serial_getc() == 'c')
+		return 1;
+
+#ifdef CONFIG_SPL_ENV_SUPPORT
+	env_init();
+	env_relocate_spec();
+	if (getenv_yesno("boot_os") != 1)
+		return 1;
+#endif
+
+	return 0;
 }
 #endif