Skip to content
Snippets Groups Projects
Commit 9786496c authored by Jagan Teki's avatar Jagan Teki Committed by Stefano Babic
Browse files

geam6ul: Add modeboot env via board_late_init


Add runtime, modeboot env which is setting mmcboot, or
nandboot based on the bootdevice so-that conditional
macros b/w MMC and NAND for CONFIG_BOOTCOMMAND should
be avoided in config files.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: default avatarJagan Teki <jagan@amarulasolutions.com>
parent 4bbd4059
No related branches found
No related tags found
No related merge requests found
...@@ -257,6 +257,7 @@ config TARGET_MX6UL_14X14_EVK ...@@ -257,6 +257,7 @@ config TARGET_MX6UL_14X14_EVK
config TARGET_MX6UL_GEAM config TARGET_MX6UL_GEAM
bool "Support Engicam GEAM6UL" bool "Support Engicam GEAM6UL"
select BOARD_LATE_INIT
select MX6UL select MX6UL
select OF_CONTROL select OF_CONTROL
select DM select DM
......
...@@ -103,6 +103,25 @@ static void setup_gpmi_nand(void) ...@@ -103,6 +103,25 @@ static void setup_gpmi_nand(void)
} }
#endif /* CONFIG_NAND_MXS */ #endif /* CONFIG_NAND_MXS */
int board_late_init(void)
{
switch ((imx6_src_get_boot_mode() & IMX6_BMODE_MASK) >>
IMX6_BMODE_SHIFT) {
case IMX6_BMODE_SD:
case IMX6_BMODE_ESD:
setenv("modeboot", "mmcboot");
break;
case IMX6_BMODE_NAND:
setenv("modeboot", "nandboot");
break;
default:
setenv("modeboot", "");
break;
}
return 0;
}
int board_init(void) int board_init(void)
{ {
/* Address of boot parameters */ /* Address of boot parameters */
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
"fitboot=echo Booting FIT image from mmc ...; " \ "fitboot=echo Booting FIT image from mmc ...; " \
"run mmcargs; " \ "run mmcargs; " \
"bootm ${loadaddr}\0" \ "bootm ${loadaddr}\0" \
"mmcboot=echo Booting from mmc ...; " \ "_mmcboot=run mmcargs; " \
"run mmcargs; " \ "run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \ "if run loadfdt; then " \
...@@ -78,6 +78,20 @@ ...@@ -78,6 +78,20 @@
"else " \ "else " \
"bootm; " \ "bootm; " \
"fi\0" \ "fi\0" \
"mmcboot=echo Booting from mmc ...; " \
"if mmc rescan; then " \
"if run loadbootscript; then " \
"run bootscript; " \
"else " \
"if run loadfit; then " \
"run fitboot; " \
"else " \
"if run loadimage; then " \
"run _mmcboot; " \
"fi; " \
"fi; " \
"fi; " \
"fi\0" \
"nandboot=echo Booting from nand ...; " \ "nandboot=echo Booting from nand ...; " \
"if mtdparts; then " \ "if mtdparts; then " \
"echo Starting nand boot ...; " \ "echo Starting nand boot ...; " \
...@@ -89,24 +103,7 @@ ...@@ -89,24 +103,7 @@
"nand read ${fdt_addr} dtb 0x100000; " \ "nand read ${fdt_addr} dtb 0x100000; " \
"bootm ${loadaddr} - ${fdt_addr}\0" "bootm ${loadaddr} - ${fdt_addr}\0"
#ifdef CONFIG_NAND_MXS #define CONFIG_BOOTCOMMAND "run $modeboot"
# define CONFIG_BOOTCOMMAND "run nandboot"
#else
# define CONFIG_BOOTCOMMAND \
"if mmc rescan; then " \
"if run loadbootscript; then " \
"run bootscript; " \
"else " \
"if run loadfit; then " \
"run fitboot; " \
"else " \
"if run loadimage; then " \
"run mmcboot; " \
"fi; " \
"fi; " \
"fi; " \
"fi"
#endif
/* Miscellaneous configurable options */ /* Miscellaneous configurable options */
#define CONFIG_SYS_MEMTEST_START 0x80000000 #define CONFIG_SYS_MEMTEST_START 0x80000000
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment