colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / doc / uImage.FIT / source_file_format.txt
index 3f5418045e5b6e203a8172a42d1399b6de2c61cd..884a58456f760c6b2b9fc8bce78cf52ac46090af 100644 (file)
@@ -102,15 +102,15 @@ Root node of the uImage Tree should have the following layout:
     |
     o images
     | |
-    | o image@1 {...}
-    | o image@2 {...}
+    | o image-1 {...}
+    | o image-2 {...}
     | ...
     |
     o configurations
-      |- default = "conf@1"
+      |- default = "conf-1"
       |
-      o conf@1 {...}
-      o conf@2 {...}
+      o conf-1 {...}
+      o conf-2 {...}
       ...
 
 
@@ -142,7 +142,7 @@ Root node of the uImage Tree should have the following layout:
 This node is a container node for component sub-image nodes. Each sub-node of
 the '/images' node should have the following layout:
 
- o image@1
+ o image-1
    |- description = "component sub-image description"
    |- data = /incbin/("path/to/data/file.bin")
    |- type = "sub-image type name"
@@ -152,19 +152,21 @@ the '/images' node should have the following layout:
    |- load = <00000000>
    |- entry = <00000000>
    |
-   o hash@1 {...}
-   o hash@2 {...}
+   o hash-1 {...}
+   o hash-2 {...}
    ...
 
   Mandatory properties:
   - description : Textual description of the component sub-image
   - type : Name of component sub-image type, supported types are:
-    "standalone", "kernel", "ramdisk", "firmware", "script", "filesystem",
-    "flat_dt" and others (see uimage_type in common/image.c).
+    "standalone", "kernel", "kernel_noload", "ramdisk", "firmware", "script",
+    "filesystem", "flat_dt" and others (see uimage_type in common/image.c).
   - data : Path to the external file which contains this node's binary data.
   - compression : Compression used by included data. Supported compressions
     are "gzip" and "bzip2". If no compression is used compression property
-    should be set to "none".
+    should be set to "none". If the data is compressed but it should not be
+    uncompressed by U-Boot (e.g. compressed ramdisk), this should also be set
+    to "none".
 
   Conditionally mandatory property:
   - os : OS name, mandatory for types "kernel" and "ramdisk". Valid OS names
@@ -183,14 +185,14 @@ the '/images' node should have the following layout:
     property of the root node. Mandatory for types: "standalone" and "kernel".
 
   Optional nodes:
-  - hash@1 : Each hash sub-node represents separate hash or checksum
+  - hash-1 : Each hash sub-node represents separate hash or checksum
     calculated for node's data according to specified algorithm.
 
 
 5) Hash nodes
 -------------
 
-o hash@1
+o hash-1
   |- algo = "hash or checksum algorithm name"
   |- value = [hash or checksum value]
 
@@ -212,8 +214,8 @@ The 'configurations' node has has the following structure:
 o configurations
   |- default = "default configuration sub-node unit name"
   |
-  o config@1 {...}
-  o config@2 {...}
+  o config-1 {...}
+  o config-2 {...}
   ...
 
 
@@ -231,13 +233,14 @@ o configurations
 
 Each configuration has the following structure:
 
-o config@1
+o config-1
   |- description = "configuration description"
   |- kernel = "kernel sub-node unit name"
   |- ramdisk = "ramdisk sub-node unit name"
-  |- fdt = "fdt sub-node unit-name"
+  |- fdt = "fdt sub-node unit-name" [, "fdt overlay sub-node unit-name", ...]
   |- fpga = "fpga sub-node unit-name"
   |- loadables = "loadables sub-node unit-name"
+  |- compatible = "vendor,board-style device tree compatible string"
 
 
   Mandatory properties:
@@ -249,14 +252,24 @@ o config@1
   - ramdisk : Unit name of the corresponding ramdisk image (component image
     node of a "ramdisk" type).
   - fdt : Unit name of the corresponding fdt blob (component image node of a
-    "fdt type").
+    "fdt type"). Additional fdt overlay nodes can be supplied which signify
+    that the resulting device tree blob is generated by the first base fdt
+    blob with all subsequent overlays applied.
   - setup : Unit name of the corresponding setup binary (used for booting
     an x86 kernel). This contains the setup.bin file built by the kernel.
   - fpga : Unit name of the corresponding fpga bitstream blob
     (component image node of a "fpga type").
   - loadables : Unit name containing a list of additional binaries to be
     loaded at their given locations.  "loadables" is a comma-separated list
-    of strings. U-Boot will load each binary at its given start-address.
+    of strings. U-Boot will load each binary at its given start-address and
+    may optionally invoke additional post-processing steps on this binary based
+    on its component image node type.
+  - compatible : The root compatible string of the U-Boot device tree that
+    this configuration shall automatically match when CONFIG_FIT_BEST_MATCH is
+    enabled. If this property is not provided, the compatible string will be
+    extracted from the fdt blob instead. This is only possible if the fdt is
+    not compressed, so images with compressed fdts that want to use compatible
+    string matching must always provide this property.
 
 The FDT blob is required to properly boot FDT based kernel, so the minimal
 configuration for 2.6 FDT kernel is (kernel, fdt) pair.
@@ -282,6 +295,19 @@ In this case the 'data' property is omitted. Instead you can use:
     aligned to a 4-byte boundary.
   - data-size : size of the data in bytes
 
+The 'data-offset' property can be substituted with 'data-position', which
+defines an absolute position or address as the offset. This is helpful when
+booting U-Boot proper before performing relocation. Pass '-p [offset]' to
+mkimage to enable 'data-position'.
+
+Normal kernel FIT image has data embedded within FIT structure. U-Boot image
+for SPL boot has external data. Existence of 'data-offset' can be used to
+identify which format is used.
+
+For FIT image with external data, it would be better to align each blob of data
+to block(512 byte) for block device, so that we don't need to do the copy when
+read the image data in SPL. Pass '-B 0x200' to mkimage to align the FIT
+structure and data to 512 byte, other values available for other align size.
 
 9) Examples
 -----------