diff options
author | Fabio Estevam | 2018-06-29 15:19:14 -0300 |
---|---|---|
committer | Stefano Babic | 2018-07-23 10:59:48 +0200 |
commit | 78d30a1bc039bc4c0a63cca4c03238adb5cf02bb (patch) | |
tree | d88db7803f1c809bb98e565bb3e7ccf37b516572 | |
parent | 22dda6bd8b2b495a71d3776cf0b4379fe14fd8bc (diff) |
pico-imx7d: Add Falcon mode support
Falcon mode boots the kernel directly from SPL, without loading
the full U-Boot.
As pico-imx7d 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: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r-- | board/technexion/pico-imx7d/spl.c | 8 | ||||
-rw-r--r-- | configs/pico-imx7d_defconfig | 2 | ||||
-rw-r--r-- | include/configs/pico-imx7d.h | 12 |
3 files changed, 22 insertions, 0 deletions
diff --git a/board/technexion/pico-imx7d/spl.c b/board/technexion/pico-imx7d/spl.c index 14d96cb0c54..a5463ee68b0 100644 --- a/board/technexion/pico-imx7d/spl.c +++ b/board/technexion/pico-imx7d/spl.c @@ -13,6 +13,14 @@ #include <spl.h> #if defined(CONFIG_SPL_BUILD) + +#ifdef CONFIG_SPL_OS_BOOT +int spl_start_uboot(void) +{ + return 0; +} +#endif + static struct ddrc ddrc_regs_val = { .mstr = 0x01040001, .rfshtmg = 0x00400046, diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig index 3eb26c75d6c..6ea49fdee20 100644 --- a/configs/pico-imx7d_defconfig +++ b/configs/pico-imx7d_defconfig @@ -21,6 +21,8 @@ CONFIG_SPL_USB_SDP_SUPPORT=y CONFIG_CMD_BOOTMENU=y # CONFIG_CMD_IMI is not set # CONFIG_CMD_XIMG is not set +CONFIG_CMD_SPL=y +CONFIG_CMD_SPL_WRITE_SIZE=0x20000 CONFIG_CMD_DFU=y CONFIG_CMD_GPIO=y CONFIG_CMD_GPT=y diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h index 94c846a3959..8f1876c8b29 100644 --- a/include/configs/pico-imx7d.h +++ b/include/configs/pico-imx7d.h @@ -12,6 +12,18 @@ #include "imx7_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 + /* Size of malloc() pool */ #define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M) |