diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2018-09-13 16:57:05 -0300 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2018-09-14 15:22:52 +0200 |
commit | 9ddd1cd596b5d825a53265c267d9322f2af0f4d1 (patch) | |
tree | 0db406ad186af253781b5b9e0904b1db6caee238 | |
parent | 1b5f4dc9e618763b0729bdb9a91aaeecf9499eeb (diff) | |
download | u-boot-9ddd1cd596b5d825a53265c267d9322f2af0f4d1.tar.gz |
pico-imx6ul: Add Falcon mode support
Falcon mode boots the kernel directly from SPL, without loading
the full U-Boot.
As pico-imx6ul does not have a GPIO for selecting Falcon versus normal
mode, enter in Falcon mode when the customer selects the
CONFIG_SPL_OS_BOOT option in menuconfig.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r-- | board/technexion/pico-imx6ul/spl.c | 8 | ||||
-rw-r--r-- | configs/pico-imx6ul_defconfig | 2 | ||||
-rw-r--r-- | include/configs/pico-imx6ul.h | 12 |
3 files changed, 22 insertions, 0 deletions
diff --git a/board/technexion/pico-imx6ul/spl.c b/board/technexion/pico-imx6ul/spl.c index 1819722024..6464a32d3b 100644 --- a/board/technexion/pico-imx6ul/spl.c +++ b/board/technexion/pico-imx6ul/spl.c @@ -14,6 +14,14 @@ #include <spl.h> #if defined(CONFIG_SPL_BUILD) + +#ifdef CONFIG_SPL_OS_BOOT +int spl_start_uboot(void) +{ + return 0; +} +#endif + #include <asm/arch/mx6-ddr.h> static struct mx6ul_iomux_grp_regs mx6_grp_ioregs = { diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig index 3d4063b136..c8d58cbe71 100644 --- a/configs/pico-imx6ul_defconfig +++ b/configs/pico-imx6ul_defconfig @@ -21,6 +21,8 @@ CONFIG_SPL_USB_HOST_SUPPORT=y CONFIG_SPL_USB_GADGET_SUPPORT=y CONFIG_SPL_USB_SDP_SUPPORT=y CONFIG_CMD_BOOTMENU=y +CONFIG_CMD_SPL=y +CONFIG_CMD_SPL_WRITE_SIZE=0x20000 CONFIG_CMD_MEMTEST=y CONFIG_CMD_DFU=y # CONFIG_CMD_FLASH is not set diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h index ead242d2ff..8c657c13ac 100644 --- a/include/configs/pico-imx6ul.h +++ b/include/configs/pico-imx6ul.h @@ -14,6 +14,18 @@ #include <asm/mach-imx/gpio.h> #include "imx6_spl.h" +#ifdef CONFIG_SPL_OS_BOOT +/* Falcon Mode */ +#define CONFIG_SPL_FS_LOAD_ARGS_NAME "args" +#define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage" +#define CONFIG_SYS_SPL_ARGS_ADDR 0x88000000 + +/* 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 */ +#endif + /* Network support */ #define CONFIG_FEC_MXC |