arm: socfpga: soc64: Load FIT image with ATF support
authorChee Hong Ang <chee.hong.ang@intel.com>
Thu, 24 Dec 2020 10:20:57 +0000 (18:20 +0800)
committerLey Foon Tan <ley.foon.tan@intel.com>
Fri, 15 Jan 2021 09:48:35 +0000 (17:48 +0800)
Instead of loading u-boot proper image (u-boot.img), SPL
now loads FIT image (u-boot.itb) which includes u-boot
proper, ATF and u-boot proper's DTB.

For OS, u-boot now loads FIT images (kernel.itb) which
includes Linux Image and Linux's DTB.

Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
include/configs/socfpga_soc64_common.h

index fb5e2e8..990f879 100644 (file)
@@ -78,12 +78,20 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
  * CONFIG_BOOTARGS goes into the environment value "bootargs".
  * Do note the value will override also the chosen node in FDT blob.
  */
+
+#ifdef CONFIG_FIT
+#define CONFIG_BOOTFILE "kernel.itb"
+#define CONFIG_BOOTCOMMAND "run fatscript; run mmcfitload;run linux_qspi_enable;" \
+                          "run mmcfitboot"
+#else
+#define CONFIG_BOOTFILE "Image"
 #define CONFIG_BOOTCOMMAND "run fatscript; run mmcload;run linux_qspi_enable;" \
                           "run mmcboot"
+#endif
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
-       "bootfile=Image\0" \
+       "bootfile=" CONFIG_BOOTFILE "\0" \
        "fdt_addr=8000000\0" \
        "fdtimage=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
        "mmcroot=/dev/mmcblk0p2\0" \
@@ -93,6 +101,11 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
        "mmcload=mmc rescan;" \
                "load mmc 0:1 ${loadaddr} ${bootfile};" \
                "load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
+       "mmcfitboot=setenv bootargs " CONFIG_BOOTARGS \
+               " root=${mmcroot} rw rootwait;" \
+               "bootm ${loadaddr}\0" \
+       "mmcfitload=mmc rescan;" \
+               "load mmc 0:1 ${loadaddr} ${bootfile}\0" \
        "linux_qspi_enable=if sf probe; then " \
                "echo Enabling QSPI at Linux DTB...;" \
                "fdt addr ${fdt_addr}; fdt resize;" \
@@ -193,6 +206,10 @@ unsigned int cm_get_l4_sys_free_clk_hz(void);
                                        - CONFIG_SYS_SPL_MALLOC_SIZE)
 
 /* SPL SDMMC boot support */
+#ifdef CONFIG_SPL_LOAD_FIT
+#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME                "u-boot.itb"
+#else
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME                "u-boot.img"
+#endif
 
 #endif /* __CONFIG_SOCFPGA_SOC64_COMMON_H__ */