imx: mx7dsabresd: add command and macros for boot m4 core
authorPeng Fan <peng.fan@nxp.com>
Thu, 28 Jan 2016 08:55:08 +0000 (16:55 +0800)
committerStefano Babic <sbabic@denx.de>
Sun, 21 Feb 2016 10:46:26 +0000 (11:46 +0100)
Introduce macros and command to support booting M4 core for
i.MX7D SabreSD board.

Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
include/configs/mx7dsabresd.h

index d23e4f3c407bdb576aa9ecc53fd31c1fd3943543..2c981e0939fd6753555c5c7db109a860c1cc5dd3 100644 (file)
 #define CONFIG_SUPPORT_EMMC_BOOT       /* eMMC specific */
 #define CONFIG_SYS_MMC_IMG_LOAD_PART   1
 
+#ifdef CONFIG_IMX_BOOTAUX
+/* Set to QSPI1 A flash at default */
+#define CONFIG_SYS_AUXCORE_BOOTDATA 0x60000000
+#define CONFIG_CMD_SETEXPR
+
+#define UPDATE_M4_ENV \
+       "m4image=m4_qspi.bin\0" \
+       "loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \
+       "update_m4_from_sd=" \
+               "if sf probe 0:0; then " \
+                       "if run loadm4image; then " \
+                               "setexpr fw_sz ${filesize} + 0xffff; " \
+                               "setexpr fw_sz ${fw_sz} / 0x10000; "    \
+                               "setexpr fw_sz ${fw_sz} * 0x10000; "    \
+                               "sf erase 0x0 ${fw_sz}; " \
+                               "sf write ${loadaddr} 0x0 ${filesize}; " \
+                       "fi; " \
+               "fi\0" \
+       "m4boot=sf probe 0:0; bootaux "__stringify(CONFIG_SYS_AUXCORE_BOOTDATA)"\0"
+#else
+#define UPDATE_M4_ENV ""
+#endif
+
 #define CONFIG_MFG_ENV_SETTINGS \
        "mfgtool_args=setenv bootargs console=${console},${baudrate} " \
                "rdinit=/linuxrc " \
@@ -76,6 +99,7 @@
                "rootfs part 0 2\0" \
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+       UPDATE_M4_ENV \
        CONFIG_MFG_ENV_SETTINGS \
        CONFIG_DFU_ENV_SETTINGS \
        "script=boot.scr\0" \