i.MX6UL: isiot: 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> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
parent
7cf22dc8d8
commit
2e2a8dc635
|
@ -103,6 +103,27 @@ 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:
|
||||||
|
case IMX6_BMODE_MMC:
|
||||||
|
case IMX6_BMODE_EMMC:
|
||||||
|
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 */
|
||||||
|
|
|
@ -37,3 +37,4 @@ CONFIG_PINCTRL=y
|
||||||
CONFIG_PINCTRL_IMX6=y
|
CONFIG_PINCTRL_IMX6=y
|
||||||
CONFIG_MXC_UART=y
|
CONFIG_MXC_UART=y
|
||||||
CONFIG_IMX_THERMAL=y
|
CONFIG_IMX_THERMAL=y
|
||||||
|
CONFIG_BOARD_LATE_INIT=y
|
||||||
|
|
|
@ -39,3 +39,4 @@ CONFIG_PINCTRL=y
|
||||||
CONFIG_PINCTRL_IMX6=y
|
CONFIG_PINCTRL_IMX6=y
|
||||||
CONFIG_MXC_UART=y
|
CONFIG_MXC_UART=y
|
||||||
CONFIG_IMX_THERMAL=y
|
CONFIG_IMX_THERMAL=y
|
||||||
|
CONFIG_BOARD_LATE_INIT=y
|
||||||
|
|
|
@ -40,3 +40,4 @@ CONFIG_PINCTRL_IMX6=y
|
||||||
CONFIG_SYS_I2C_MXC=y
|
CONFIG_SYS_I2C_MXC=y
|
||||||
CONFIG_MXC_UART=y
|
CONFIG_MXC_UART=y
|
||||||
CONFIG_IMX_THERMAL=y
|
CONFIG_IMX_THERMAL=y
|
||||||
|
CONFIG_BOARD_LATE_INIT=y
|
||||||
|
|
|
@ -64,8 +64,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; " \
|
|
||||||
"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 " \
|
||||||
"bootm ${loadaddr} - ${fdt_addr}; " \
|
"bootm ${loadaddr} - ${fdt_addr}; " \
|
||||||
|
@ -79,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 ...; " \
|
||||||
|
@ -90,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
|
||||||
|
|
Loading…
Reference in New Issue