From 1e93cc8473e4fe018aececc8ed3bf8fc2b3ff561 Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Tue, 29 Nov 2016 11:58:00 +0530 Subject: ti_armv7_common: env: Add support for loading FIT images FIT is a new image format which is a Tree like structure and gives more flexibility in handling of various images. Mainly used for unification of multiple images in a single blob and provide security information for each image. U-Boot already has support for loading such images, so adding the environment support to load FIT image on all TI platforms. Reviewed-by: Andrew F. Davis Signed-off-by: Lokesh Vutla Reviewed-by: Tom Rini diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 98827a1..22caed9 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -91,6 +91,9 @@ func(DHCP, dhcp, na) #define CONFIG_BOOTCOMMAND \ + "if test ${boot_fit} -eq 1; then " \ + "run update_to_fit;" \ + "fi;" \ "run findfdt; " \ "run init_console; " \ "run envboot; " \ @@ -102,6 +105,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ DEFAULT_LINUX_BOOT_ENV \ DEFAULT_MMC_TI_ARGS \ + DEFAULT_FIT_TI_ARGS \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ "bootfile=zImage\0" \ diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h index 07d3019..b47acb2 100644 --- a/include/configs/am43xx_evm.h +++ b/include/configs/am43xx_evm.h @@ -176,6 +176,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ DEFAULT_LINUX_BOOT_ENV \ DEFAULT_MMC_TI_ARGS \ + DEFAULT_FIT_TI_ARGS \ "fdtfile=undefined\0" \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ @@ -239,6 +240,9 @@ DFUARGS \ #define CONFIG_BOOTCOMMAND \ + "if test ${boot_fit} -eq 1; then " \ + "run update_to_fit;" \ + "fi;" \ "run findfdt; " \ "run envboot;" \ "run mmcboot;" \ diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index a60a32e..ae2cf46 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -110,10 +110,23 @@ "if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadimage; then " \ - "run mmcloados;" \ + "if test ${boot_fit} -eq 1; then " \ + "run loadfit; " \ + "else " \ + "run mmcloados;" \ + "fi;" \ "fi;" \ "fi;\0" \ +#define DEFAULT_FIT_TI_ARGS \ + "boot_fit=0\0" \ + "fit_loadaddr=0x88000000\0" \ + "fit_bootfile=fitImage.itb\0" \ + "update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}\0" \ + "args_fit=setenv bootargs console=${console} \0" \ + "loadfit=run args_fit; bootm ${loadaddr}:kernel@1 " \ + "${loadaddr}:ramdisk@1 ${loadaddr}:${fdtfile};\0" \ + /* * DDR information. If the CONFIG_NR_DRAM_BANKS is not defined, * we say (for simplicity) that we have 1 bank, always, even when diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h index ce9d3e8..8e0f9eb 100644 --- a/include/configs/ti_omap4_common.h +++ b/include/configs/ti_omap4_common.h @@ -98,6 +98,9 @@ func(DHCP, dhcp, na) #define CONFIG_BOOTCOMMAND \ + "if test ${boot_fit} -eq 1; then " \ + "run update_to_fit;" \ + "fi;" \ "run findfdt; " \ "run envboot; " \ "run distro_bootcmd" @@ -107,6 +110,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ DEFAULT_LINUX_BOOT_ENV \ DEFAULT_MMC_TI_ARGS \ + DEFAULT_FIT_TI_ARGS \ "console=ttyO2,115200n8\0" \ "fdtfile=undefined\0" \ "bootpart=0:2\0" \ diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index d2f61c8..f617f7d 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -65,6 +65,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ DEFAULT_LINUX_BOOT_ENV \ DEFAULT_MMC_TI_ARGS \ + DEFAULT_FIT_TI_ARGS \ "console=" CONSOLEDEV ",115200n8\0" \ "fdtfile=undefined\0" \ "bootpart=0:2\0" \ @@ -102,6 +103,9 @@ "echo Booting into fastboot ...; " \ "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \ "fi;" \ + "if test ${boot_fit} -eq 1; then " \ + "run update_to_fit;" \ + "fi;" \ "run findfdt; " \ "run envboot; " \ "run mmcboot;" \ -- cgit v0.10.2