[U-Boot] [PATCH v3 13/14] pico-imx6ul: Add Falcon mode support

Otavio Salvador otavio at ossystems.com.br
Thu Sep 13 19:57:05 UTC 2018


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 at ossystems.com.br>
---

Changes in v3:
- new patch

Changes in v2: None

 board/technexion/pico-imx6ul/spl.c |  8 ++++++++
 configs/pico-imx6ul_defconfig      |  2 ++
 include/configs/pico-imx6ul.h      | 12 ++++++++++++
 3 files changed, 22 insertions(+)

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 94c14a7a43..8855be107d 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 at 1MB kernel at 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
-- 
2.19.0



More information about the U-Boot mailing list