diff options
author | Tim Harvey <tharvey@gateworks.com> | 2015-05-08 18:28:42 -0700 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-05-21 19:07:17 +0200 |
commit | 53940a50797d4287af1c998a251170ef65927533 (patch) | |
tree | 8d6b73de232bf9856faf46f8fc7083da1d6af2f4 | |
parent | 0d1ea05210f3221667f8085cf167f23f336ca0c0 (diff) | |
download | u-boot-53940a50797d4287af1c998a251170ef65927533.tar.gz |
imx: ventana: config: enable Falcon mode
Falcon mode entails the SPL booting the OS directly instead of U-Boot.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
-rw-r--r-- | board/gateworks/gw_ventana/gw_ventana_spl.c | 20 | ||||
-rw-r--r-- | include/configs/gw_ventana.h | 16 |
2 files changed, 36 insertions, 0 deletions
diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c b/board/gateworks/gw_ventana/gw_ventana_spl.c index 2bec428aa1..9f5d2b17cd 100644 --- a/board/gateworks/gw_ventana/gw_ventana_spl.c +++ b/board/gateworks/gw_ventana/gw_ventana_spl.c @@ -14,6 +14,7 @@ #include <asm/imx-common/boot_mode.h> #include <asm/imx-common/iomux-v3.h> #include <asm/imx-common/mxc_i2c.h> +#include <environment.h> #include <spl.h> #include "gsc.h" @@ -556,6 +557,25 @@ void spl_board_init(void) setup_pmic(); } +#ifdef CONFIG_SPL_OS_BOOT +/* return 1 if we wish to boot to uboot vs os (falcon mode) */ +int spl_start_uboot(void) +{ + int ret = 1; + + debug("%s\n", __func__); +#ifdef CONFIG_SPL_ENV_SUPPORT + env_init(); + env_relocate_spec(); + debug("boot_os=%s\n", getenv("boot_os")); + if (getenv_yesno("boot_os") == 1) + ret = 0; +#endif + debug("%s booting %s\n", __func__, ret ? "uboot" : "linux"); + return ret; +} +#endif + void reset_cpu(ulong addr) { } diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 533cbc36e1..7949b125de 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -17,6 +17,22 @@ /* Location in NAND to read U-Boot from */ #define CONFIG_SYS_NAND_U_BOOT_OFFS (14 * SZ_1M) +/* Falcon Mode */ +#define CONFIG_CMD_SPL +#define CONFIG_SPL_OS_BOOT +#define CONFIG_SPL_ENV_SUPPORT +#define CONFIG_SYS_SPL_ARGS_ADDR 0x18000000 +#define CONFIG_CMD_SPL_WRITE_SIZE (128 * SZ_1K) + +/* Falcon Mode - NAND support: args@17MB kernel@18MB */ +#define CONFIG_CMD_SPL_NAND_OFS (17 * SZ_1M) +#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS (18 * SZ_1M) + +/* Falcon Mode - MMC support: args@1MB kernel@2MB */ +#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x800 /* 1MB */ +#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (CONFIG_CMD_SPL_WRITE_SIZE / 512) +#define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x1000 /* 2MB */ + #include "imx6_spl.h" /* common IMX6 SPL configuration */ #include "mx6_common.h" #define CONFIG_MX6 |