summaryrefslogtreecommitdiffstats
path: root/doc/uImage.FIT/source_file_format.txt
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-02-22 22:55:53 -0700
committerTom Rini <trini@konsulko.com>2016-03-14 19:18:29 -0400
commit722ebc8f84d5bccd2e70fad1079a0dd40cceddec (patch)
tree9e7891e15d4690b8ec23f0fcfe7cd606423a5ef6 /doc/uImage.FIT/source_file_format.txt
parentfb4cce0f98ea0784130ff544d7c85d0841bea2e6 (diff)
downloadtalos-obmc-uboot-722ebc8f84d5bccd2e70fad1079a0dd40cceddec.tar.gz
talos-obmc-uboot-722ebc8f84d5bccd2e70fad1079a0dd40cceddec.zip
mkimage: Support placing data outside the FIT
One limitation of FIT is that all the data is 'inline' within it, using a 'data' property in each image node. This means that to find out what is in the FIT it is necessary to scan the entire file. Once loaded it can be scanned and then the images can be copied to the correct place in memory. In SPL it can take a significant amount of time to copy images around in memory. Also loading data that does not end up being used is wasteful. It would be useful if the FIT were small, acting as a directory, with the actual data stored elsewhere. This allows SPL to load the entire FIT, without the images, then load the images it wants later. Add a -E option to mkimage to request that it output an 'external' FIT. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'doc/uImage.FIT/source_file_format.txt')
-rw-r--r--doc/uImage.FIT/source_file_format.txt20
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/uImage.FIT/source_file_format.txt b/doc/uImage.FIT/source_file_format.txt
index 3175c9f0b7..3db068d6c8 100644
--- a/doc/uImage.FIT/source_file_format.txt
+++ b/doc/uImage.FIT/source_file_format.txt
@@ -2,6 +2,7 @@ U-Boot new uImage source file format (bindings definition)
==========================================================
Author: Marian Balakowicz <m8@semihalf.com>
+External data additions, 25/1/16 Simon Glass <sjg@chromium.org>
1) Introduction
---------------
@@ -262,7 +263,24 @@ Older, 2.4 kernel and 2.6 non-FDT kernel do not use FDT blob, in such cases
not* be specified in a configuration node.
-8) Examples
+8) External data
+----------------
+
+The above format shows a 'data' property which holds the data for each image.
+It is also possible for this data to reside outside the FIT itself. This
+allows the FIT to be quite small, so that it can be loaded and scanned
+without loading a large amount of data. Then when an image is needed it can
+be loaded from an external source.
+
+In this case the 'data' property is omitted. Instead you can use:
+
+ - data-offset : offset of the data in a separate image store. The image
+ store is placed immediately after the last byte of the device tree binary,
+ aligned to a 4-byte boundary.
+ - data-size : size of the data in bytes
+
+
+9) Examples
-----------
Please see doc/uImage.FIT/*.its for actual image source files.
OpenPOWER on IntegriCloud