u-boot/common
Andre Przywara 411cf32d20 SPL: FIT: allow loading multiple images
So far we were not using the FIT image format to its full potential:
The SPL FIT loader was just loading the first image from the /images
node plus one of the listed DTBs.
Now with the refactored loader code it's easy to load an arbitrary
number of images in addition to the two mentioned above.
As described in the FIT image source file format description, iterate
over all images listed at the "loadables" property in the configuration
node and load every image at its desired location.
This allows to load any kind of images:
- firmware images to execute before U-Boot proper (for instance
  ARM Trusted Firmware (ATF))
- firmware images for management processors (SCP, arisc, ...)
- firmware images for devices like WiFi controllers
- bit files for FPGAs
- additional configuration data
- kernels and/or ramdisks
The actual usage of this feature would be platform and/or board specific.

Also update the FIT documentation to mention the new SPL feature and
provide an example .its file to demonstrate its features.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lokesh Vutla <lokeshvuta@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-05-17 23:15:43 +05:30
..
eeprom cmd: eeprom: add support for layout aware commands 2016-05-20 17:02:07 -04:00
init board_init.c: Always use memset() 2017-01-20 15:38:01 -05:00
spl SPL: FIT: allow loading multiple images 2017-05-17 23:15:43 +05:30
autoboot.c autoboot: move bootdelay >= 0 check to abortboot() 2016-07-01 17:42:56 -04:00
bedbug.c Consolidate bool type 2013-04-01 16:33:52 -04:00
board_f.c Merge branch 'master' of git://git.denx.de/u-boot-i2c 2017-05-15 13:01:26 -04:00
board_info.c generic-board: make show_board_info a weak function 2016-11-28 15:10:32 -05:00
board_r.c Merge branch 'master' of git://git.denx.de/u-boot-mmc 2017-05-16 08:10:50 -04:00
bootm.c bootm: fix passing argc to standalone apps 2016-10-01 20:04:37 -04:00
bootm_os.c fdt: Move fdt_fixup_ethernet to a common place 2017-05-01 09:11:59 -04:00
bootretry.c Rename bootretry functions and remove #ifdefs 2014-05-29 17:49:00 -04:00
bootstage.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bouncebuf.c Fix a few printf argument verification warnings 2014-09-15 13:32:55 -04:00
cli.c hush: complete renaming CONFIG_SYS_HUSH_PARSER to CONFIG_HUSH_PARSER 2016-06-24 17:24:34 -04:00
cli_hush.c hush: Add rudimentary support for PS1 and PS2 2016-02-08 10:10:37 -05:00
cli_readline.c common: cli_readline: Improve command line editing 2016-08-20 14:03:24 -04:00
cli_simple.c common: cli_simple: use strlcpy instead of strcpy 2016-01-13 21:05:26 -05:00
command.c Drop command-processing code when CONFIG_CMDLINE is disabled 2016-04-01 17:17:40 -04:00
console.c console: Don't enable CONFIG-CONSOLE_MUX, etc. in SPL 2017-02-06 11:38:46 +08:00
cros_ec.c cros_ec: Remove unused cros_ec_board_init() function 2015-04-18 11:11:16 -06:00
ddr_spd.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
dfu.c common: dfu: ignore reset for spl-dfu 2017-05-12 08:37:09 -04:00
dlmalloc.c malloc: improve memalign fragmentation fix 2016-05-23 11:50:17 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c edid: Add HDMI flag to timing info 2017-05-15 20:32:12 +02:00
env_attr.c env: avoid possible NULL pointer access 2017-05-12 08:37:17 -04:00
env_callback.c common: env: initialize scalar variable 2016-01-04 12:25:35 -05:00
env_common.c Rename aes.h to uboot_aes.h 2017-04-12 13:28:27 -04:00
env_dataflash.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_eeprom.c env_eeprom invalidates gd->env_addr by setting it to an offset value 2016-04-11 12:44:37 -04:00
env_embedded.c tools/env: Correct include kconfig 2016-11-23 23:41:23 -08:00
env_ext4.c common: Fix support for environment file in EXT4 2016-06-24 17:24:35 -04:00
env_fat.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
env_flags.c env: split fw_env.h in public and private parts 2017-04-12 13:28:28 -04:00
env_flash.c env_flash.c: Drop unused variables 2014-04-17 17:44:36 -04:00
env_mmc.c env_mmc: Allow SPL to use any MMC device to load/save the environment 2017-04-08 09:26:44 -04:00
env_nand.c common: env_nand: Ensure that we have nand_info[0] prior to use 2016-08-15 18:46:41 -04:00
env_nowhere.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_nvram.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_onenand.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_remote.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_sata.c common: env: support sata device 2016-04-18 12:29:14 -04:00
env_sf.c env_sf: use DIV_ROUND_UP to calculate number of sectors to erase 2017-05-03 11:18:20 +05:30
env_ubi.c common: env_ubi: Clear environment buffer before reading 2016-06-13 06:41:20 +02:00
exports.c board/ls2085rdb: Export functions for standalone AQ FW load apps 2015-07-20 11:44:37 -07:00
fb_mmc.c disk: Return the partition number in part_get_info_by_name() 2017-05-11 22:03:37 -04:00
fb_nand.c fastboot: sparse: implement reserve() 2016-06-27 16:37:39 -04:00
fdt_support.c fdt_support: Fixup 'ethernet' aliases not ending in digits 2017-03-26 09:58:23 -05:00
flash.c flash: compile common/flash.c iif CONFIG_MTD_NO_FLASH is enabled 2017-02-12 14:30:31 -05:00
hash.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
hwconfig.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ide.c dm: ide: Add support for driver-model block devices 2016-05-17 09:54:43 -06:00
image-android.c image: Update include/android_image.h 2017-05-11 22:03:37 -04:00
image-fdt.c fdt: Move fdt_fixup_ethernet to a common place 2017-05-01 09:11:59 -04:00
image-fit.c splash: add support for loading splash from a FIT image 2017-01-13 17:40:38 +01:00
image-sig.c image: Combine image_sig_algo with image_sign_info 2016-11-21 14:07:31 -05:00
image-sparse.c fastboot: sparse: improve CHUNK_TYPE_FILL write performance 2016-06-27 16:37:39 -04:00
image.c common/image.c: Use correct suffixes for binary sizes 2017-01-20 15:37:59 -05:00
iomux.c console: Don't enable CONFIG-CONSOLE_MUX, etc. in SPL 2017-02-06 11:38:46 +08:00
iotrace.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig Merge branch 'master' of git://git.denx.de/u-boot-sunxi 2017-04-08 09:28:02 -04:00
kgdb.c Fix spelling of "occurred". 2016-05-02 18:37:09 -04:00
kgdb_stubs.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
lcd.c video: bmp: rename CONFIG_BMP_24BMP to CONFIG_BMP_24BPP 2017-05-15 20:55:13 +02:00
lcd_console.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_console_rotation.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_simplefb.c dm: video: Add driver-model support to lcd_simplefb 2017-05-09 20:20:41 -04:00
lynxkdi.c checkpatch whitespace cleanups 2011-10-22 01:13:35 +02:00
main.c Drop use of CONFIG_SYS_GENERIC_BOARD in U-Boot 2016-05-27 15:39:54 -04:00
Makefile common: Only build cli_readline.o for CMDLINE on non-SPL 2017-05-12 08:37:33 -04:00
malloc_simple.c malloc_simple: Add debug statements to memalign_simple 2017-01-28 14:04:34 -05:00
memsize.c Revert "common/memsize.c: Simplify RAM size detection" 2016-02-10 08:34:42 -05:00
menu.c Fix typo choosen in comments and printf logs 2016-03-27 09:12:23 -04:00
miiphyutil.c common: miiphyutil: Add helper function for mdio bus name 2016-12-20 07:40:04 +01:00
s_record.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sata.c sata: fix sata command can not being executed bug 2016-11-28 19:49:47 -05:00
scsi.c scsi: dm: split scsi_scan() 2017-05-09 12:14:16 -06:00
splash.c splash: Introduce default_splash_locations 2016-07-26 08:47:37 +02:00
splash_source.c splash: Prevent splash_load_fs from writing to 0x0 2017-02-27 16:08:06 +01:00
stdio.c i2c: Finish dropping use of CONFIG_I2C_HARD 2017-05-15 06:18:30 +02:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c flash: complete CONFIG_SYS_NO_FLASH move with renaming 2017-02-12 14:30:25 -05:00
usb.c usb: squash lines for immediate return 2016-09-23 17:53:48 -04:00
usb_hub.c dm: Use dm_scan_fdt_dev() directly where possible 2016-07-27 14:15:54 -06:00
usb_kbd.c console: Don't enable CONFIG-CONSOLE_MUX, etc. in SPL 2017-02-06 11:38:46 +08:00
usb_storage.c Kconfig: USB: Migrate CONFIG_USB_EHCI to CONFIG_USB_EHCI_HCD 2017-05-15 10:40:05 -04:00
xyzModem.c common/xyzModem.c: Do not use hard-coded address for debug buffer 2017-04-08 09:26:55 -04:00