Browse Source

Merge git://git.denx.de/u-boot-dm

Tom Rini 7 years ago
parent
commit
da54e7e5a9

+ 15 - 0
.travis.yml

@@ -118,6 +118,20 @@ script:
      ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
      ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
        -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
        -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
        --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
        --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
+     ret=$?;
+     if [[ $ret -ne 0 ]]; then
+       exit $ret;
+     fi;
+   fi;
+   if [[ -n "${TEST_PY_TOOLS}" ]]; then
+     PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
+     PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"
+     ./tools/binman/binman -t &&
+     ./tools/patman/patman --test &&
+     ./tools/buildman/buildman -t &&
+     PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
+     PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"
+     ./tools/dtoc/dtoc -t;
    fi
    fi
 
 
 matrix:
 matrix:
@@ -295,6 +309,7 @@ matrix:
           TEST_PY_TEST_SPEC="test_ofplatdata"
           TEST_PY_TEST_SPEC="test_ofplatdata"
           BUILDMAN="^sandbox$"
           BUILDMAN="^sandbox$"
           TOOLCHAIN="x86_64"
           TOOLCHAIN="x86_64"
+          TEST_PY_TOOLS="yes"
     - env:
     - env:
         - TEST_PY_BD="sandbox_flattree"
         - TEST_PY_BD="sandbox_flattree"
           BUILDMAN="^sandbox_flattree$"
           BUILDMAN="^sandbox_flattree$"

+ 8 - 8
arch/arm/cpu/armv8/fsl-layerscape/doc/README.falcon

@@ -86,7 +86,7 @@ Example:
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "ARM64 Linux kernel";
 			description = "ARM64 Linux kernel";
 			data = /incbin/("./arch/arm64/boot/Image.gz");
 			data = /incbin/("./arch/arm64/boot/Image.gz");
 			type = "kernel";
 			type = "kernel";
@@ -96,7 +96,7 @@ Example:
 			load = <0x80080000>;
 			load = <0x80080000>;
 			entry = <0x80080000>;
 			entry = <0x80080000>;
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			description = "Flattened Device Tree blob";
 			description = "Flattened Device Tree blob";
 			data = /incbin/("./fsl-ls1043ardb-static.dtb");
 			data = /incbin/("./fsl-ls1043ardb-static.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
@@ -104,7 +104,7 @@ Example:
 			compression = "none";
 			compression = "none";
 			load = <0x90000000>;
 			load = <0x90000000>;
 		};
 		};
-		ramdisk@1 {
+		ramdisk {
 			description = "LS1043 Ramdisk";
 			description = "LS1043 Ramdisk";
                         data = /incbin/("./rootfs.cpio.gz");
                         data = /incbin/("./rootfs.cpio.gz");
 			type = "ramdisk";
 			type = "ramdisk";
@@ -116,12 +116,12 @@ Example:
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
-		config@1 {
+		default = "config-1";
+		config-1 {
 			description = "Boot Linux kernel";
 			description = "Boot Linux kernel";
-			kernel = "kernel@1";
-			fdt = "fdt@1";
-			ramdisk = "ramdisk@1";
+			kernel = "kernel";
+			fdt = "fdt-1";
+			ramdisk = "ramdisk";
 			loadables = "fdt", "ramdisk";
 			loadables = "fdt", "ramdisk";
 		};
 		};
 	};
 	};

+ 1 - 1
arch/arm/cpu/armv8/sec_firmware.c

@@ -30,7 +30,7 @@ phys_addr_t sec_firmware_addr;
 #define SEC_FIRMWARE_FIT_IMAGE		"firmware"
 #define SEC_FIRMWARE_FIT_IMAGE		"firmware"
 #endif
 #endif
 #ifndef SEC_FIRMEWARE_FIT_CNF_NAME
 #ifndef SEC_FIRMEWARE_FIT_CNF_NAME
-#define SEC_FIRMEWARE_FIT_CNF_NAME	"config@1"
+#define SEC_FIRMEWARE_FIT_CNF_NAME	"config-1"
 #endif
 #endif
 #ifndef SEC_FIRMWARE_TARGET_EL
 #ifndef SEC_FIRMWARE_TARGET_EL
 #define SEC_FIRMWARE_TARGET_EL		2
 #define SEC_FIRMWARE_TARGET_EL		2

+ 8 - 8
board/sunxi/mksunxi_fit_atf.sh

@@ -21,7 +21,7 @@ cat << __HEADER_EOF
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		uboot@1 {
+		uboot {
 			description = "U-Boot (64-bit)";
 			description = "U-Boot (64-bit)";
 			data = /incbin/("u-boot-nodtb.bin");
 			data = /incbin/("u-boot-nodtb.bin");
 			type = "standalone";
 			type = "standalone";
@@ -29,7 +29,7 @@ cat << __HEADER_EOF
 			compression = "none";
 			compression = "none";
 			load = <0x4a000000>;
 			load = <0x4a000000>;
 		};
 		};
-		atf@1 {
+		atf {
 			description = "ARM Trusted Firmware";
 			description = "ARM Trusted Firmware";
 			data = /incbin/("$BL31");
 			data = /incbin/("$BL31");
 			type = "firmware";
 			type = "firmware";
@@ -44,7 +44,7 @@ cnt=1
 for dtname in $*
 for dtname in $*
 do
 do
 	cat << __FDT_IMAGE_EOF
 	cat << __FDT_IMAGE_EOF
-		fdt@$cnt {
+		fdt_$cnt {
 			description = "$(basename $dtname .dtb)";
 			description = "$(basename $dtname .dtb)";
 			data = /incbin/("$dtname");
 			data = /incbin/("$dtname");
 			type = "flat_dt";
 			type = "flat_dt";
@@ -57,7 +57,7 @@ done
 cat << __CONF_HEADER_EOF
 cat << __CONF_HEADER_EOF
 	};
 	};
 	configurations {
 	configurations {
-		default = "config@1";
+		default = "config_1";
 
 
 __CONF_HEADER_EOF
 __CONF_HEADER_EOF
 
 
@@ -65,11 +65,11 @@ cnt=1
 for dtname in $*
 for dtname in $*
 do
 do
 	cat << __CONF_SECTION_EOF
 	cat << __CONF_SECTION_EOF
-		config@$cnt {
+		config_$cnt {
 			description = "$(basename $dtname .dtb)";
 			description = "$(basename $dtname .dtb)";
-			firmware = "uboot@1";
-			loadables = "atf@1";
-			fdt = "fdt@$cnt";
+			firmware = "uboot";
+			loadables = "atf";
+			fdt = "fdt_$cnt";
 		};
 		};
 __CONF_SECTION_EOF
 __CONF_SECTION_EOF
 	cnt=$((cnt+1))
 	cnt=$((cnt+1))

+ 8 - 8
common/image-fit.c

@@ -330,7 +330,7 @@ static void fit_image_print_verification_data(const void *fit, int noffset,
 	/*
 	/*
 	 * Check subnode name, must be equal to "hash" or "signature".
 	 * Check subnode name, must be equal to "hash" or "signature".
 	 * Multiple hash/signature nodes require unique unit node
 	 * Multiple hash/signature nodes require unique unit node
-	 * names, e.g. hash@1, hash@2, signature@1, signature@2, etc.
+	 * names, e.g. hash-1, hash-2, signature-1, signature-2, etc.
 	 */
 	 */
 	name = fit_get_name(fit, noffset, NULL);
 	name = fit_get_name(fit, noffset, NULL);
 	if (!strncmp(name, FIT_HASH_NODENAME, strlen(FIT_HASH_NODENAME))) {
 	if (!strncmp(name, FIT_HASH_NODENAME, strlen(FIT_HASH_NODENAME))) {
@@ -1111,7 +1111,7 @@ int fit_image_verify(const void *fit, int image_noffset)
 		/*
 		/*
 		 * Check subnode name, must be equal to "hash".
 		 * Check subnode name, must be equal to "hash".
 		 * Multiple hash nodes require unique unit node
 		 * Multiple hash nodes require unique unit node
-		 * names, e.g. hash@1, hash@2, etc.
+		 * names, e.g. hash-1, hash-2, etc.
 		 */
 		 */
 		if (!strncmp(name, FIT_HASH_NODENAME,
 		if (!strncmp(name, FIT_HASH_NODENAME,
 			     strlen(FIT_HASH_NODENAME))) {
 			     strlen(FIT_HASH_NODENAME))) {
@@ -1348,15 +1348,15 @@ int fit_check_format(const void *fit)
  *
  *
  * / o image-tree
  * / o image-tree
  *   |-o images
  *   |-o images
- *   | |-o fdt@1
- *   | |-o fdt@2
+ *   | |-o fdt-1
+ *   | |-o fdt-2
  *   |
  *   |
  *   |-o configurations
  *   |-o configurations
- *     |-o config@1
- *     | |-fdt = fdt@1
+ *     |-o config-1
+ *     | |-fdt = fdt-1
  *     |
  *     |
- *     |-o config@2
- *       |-fdt = fdt@2
+ *     |-o config-2
+ *       |-fdt = fdt-2
  *
  *
  * / o U-Boot fdt
  * / o U-Boot fdt
  *   |-compatible = "foo,bar", "bim,bam"
  *   |-compatible = "foo,bar", "bim,bam"

+ 1 - 1
common/image-sig.c

@@ -347,7 +347,7 @@ int fit_config_check_sig(const void *fit, int noffset, int required_keynode,
 
 
 	/*
 	/*
 	 * Each node can generate one region for each sub-node. Allow for
 	 * Each node can generate one region for each sub-node. Allow for
-	 * 7 sub-nodes (hash@1, signature@1, etc.) and some extra.
+	 * 7 sub-nodes (hash-1, signature-1, etc.) and some extra.
 	 */
 	 */
 	max_regions = 20 + count * 7;
 	max_regions = 20 + count * 7;
 	struct fdt_region fdt_regions[max_regions];
 	struct fdt_region fdt_regions[max_regions];

+ 18 - 18
doc/README.uniphier

@@ -142,7 +142,7 @@ The following is an example for a simple usecase:
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@0 {
+		kernel {
 			description = "linux";
 			description = "linux";
 			data = /incbin/("PATH/TO/YOUR/LINUX/DIR/arch/arm64/boot/Image.gz");
 			data = /incbin/("PATH/TO/YOUR/LINUX/DIR/arch/arm64/boot/Image.gz");
 			type = "kernel";
 			type = "kernel";
@@ -151,44 +151,44 @@ The following is an example for a simple usecase:
 			compression = "gzip";
 			compression = "gzip";
 			load = <0x82080000>;
 			load = <0x82080000>;
 			entry = <0x82080000>;
 			entry = <0x82080000>;
-			hash@0 {
+			hash-1 {
 				algo = "sha256";
 				algo = "sha256";
 			};
 			};
 		};
 		};
 
 
-		fdt@0 {
+		fdt-1 {
 			description = "fdt";
 			description = "fdt";
 			data = /incbin/("PATH/TO/YOUR/LINUX/DIR/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dtb");
 			data = /incbin/("PATH/TO/YOUR/LINUX/DIR/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm64";
 			arch = "arm64";
 			compression = "none";
 			compression = "none";
-			hash@0 {
+			hash-1 {
 				algo = "sha256";
 				algo = "sha256";
 			};
 			};
 		};
 		};
 
 
-		ramdisk@0 {
+		ramdisk {
 			description = "ramdisk";
 			description = "ramdisk";
 			data = /incbin/("PATH/TO/YOUR/ROOTFS/DIR/rootfs.cpio");
 			data = /incbin/("PATH/TO/YOUR/ROOTFS/DIR/rootfs.cpio");
 			type = "ramdisk";
 			type = "ramdisk";
 			arch = "arm64";
 			arch = "arm64";
 			os = "linux";
 			os = "linux";
 			compression = "none";
 			compression = "none";
-			hash@0 {
+			hash-1 {
 				algo = "sha256";
 				algo = "sha256";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@0";
+		default = "config-1";
 
 
-		config@0 {
+		config-1 {
 			description = "Configuration0";
 			description = "Configuration0";
-			kernel = "kernel@0";
-			fdt = "fdt@0";
-			ramdisk = "ramdisk@0";
-			signature@0 {
+			kernel = "kernel";
+			fdt = "fdt-1";
+			ramdisk = "ramdisk";
+			signature-1 {
 				algo = "sha256,rsa2048";
 				algo = "sha256,rsa2048";
 				key-name-hint = "dev";
 				key-name-hint = "dev";
 				sign-images = "kernel", "fdt", "ramdisk";
 				sign-images = "kernel", "fdt", "ramdisk";
@@ -268,9 +268,9 @@ If it is successful, you will see messages like follows:
 
 
 ---------------------------------------->8----------------------------------------
 ---------------------------------------->8----------------------------------------
 ## Loading kernel from FIT Image at 84100000 ...
 ## Loading kernel from FIT Image at 84100000 ...
-   Using 'config@0' configuration
+   Using 'config-1' configuration
    Verifying Hash Integrity ... sha256,rsa2048:dev+ OK
    Verifying Hash Integrity ... sha256,rsa2048:dev+ OK
-   Trying 'kernel@0' kernel subimage
+   Trying 'kernel' kernel subimage
      Description:  linux
      Description:  linux
      Created:      2017-10-20  14:32:29 UTC
      Created:      2017-10-20  14:32:29 UTC
      Type:         Kernel Image
      Type:         Kernel Image
@@ -285,8 +285,8 @@ If it is successful, you will see messages like follows:
      Hash value:   82a37b7f11ae55f4e07aa25bf77e4067cb9dc1014d52d6cd4d588f92eee3aaad
      Hash value:   82a37b7f11ae55f4e07aa25bf77e4067cb9dc1014d52d6cd4d588f92eee3aaad
    Verifying Hash Integrity ... sha256+ OK
    Verifying Hash Integrity ... sha256+ OK
 ## Loading ramdisk from FIT Image at 84100000 ...
 ## Loading ramdisk from FIT Image at 84100000 ...
-   Using 'config@0' configuration
-   Trying 'ramdisk@0' ramdisk subimage
+   Using 'config-1' configuration
+   Trying 'ramdisk' ramdisk subimage
      Description:  ramdisk
      Description:  ramdisk
      Created:      2017-10-20  14:32:29 UTC
      Created:      2017-10-20  14:32:29 UTC
      Type:         RAMDisk Image
      Type:         RAMDisk Image
@@ -301,8 +301,8 @@ If it is successful, you will see messages like follows:
      Hash value:   44980a2874154a2e31ed59222c9f8ea968867637f35c81e4107a984de7014deb
      Hash value:   44980a2874154a2e31ed59222c9f8ea968867637f35c81e4107a984de7014deb
    Verifying Hash Integrity ... sha256+ OK
    Verifying Hash Integrity ... sha256+ OK
 ## Loading fdt from FIT Image at 84100000 ...
 ## Loading fdt from FIT Image at 84100000 ...
-   Using 'config@0' configuration
-   Trying 'fdt@0' fdt subimage
+   Using 'config-1' configuration
+   Trying 'fdt-1' fdt subimage
      Description:  fdt
      Description:  fdt
      Created:      2017-10-20  14:32:29 UTC
      Created:      2017-10-20  14:32:29 UTC
      Type:         Flat Device Tree
      Type:         Flat Device Tree

+ 8 - 8
doc/chromium/chromebook_jerry.its

@@ -5,7 +5,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "U-Boot mainline";
 			description = "U-Boot mainline";
 			type = "kernel_noload";
 			type = "kernel_noload";
 			arch = "arm";
 			arch = "arm";
@@ -14,29 +14,29 @@
 			compression = "none";
 			compression = "none";
 			load = <0>;
 			load = <0>;
 			entry = <0>;
 			entry = <0>;
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		fdt@1{
+		fdt-1{
 			description = "rk3288-veryron-jerry.dtb";
 			description = "rk3288-veryron-jerry.dtb";
 			data = /incbin/("../../b/chromebook_jerry/u-boot.dtb");
 			data = /incbin/("../../b/chromebook_jerry/u-boot.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
-			hash@1{
+			hash-1{
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
-		config@1 {
+		default = "config-1";
+		config-1 {
 			description = "Boot U-Boot";
 			description = "Boot U-Boot";
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+			kernel = "kernel";
+			fdt = "fdt-1";
 		};
 		};
 	};
 	};
 };
 };

+ 8 - 8
doc/chromium/nyan-big.its

@@ -5,7 +5,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "U-Boot mainline";
 			description = "U-Boot mainline";
 			type = "kernel_noload";
 			type = "kernel_noload";
 			arch = "arm";
 			arch = "arm";
@@ -14,29 +14,29 @@
 			compression = "none";
 			compression = "none";
 			load = <0>;
 			load = <0>;
 			entry = <0>;
 			entry = <0>;
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		fdt@1{
+		fdt-1{
 			description = "tegra124-nyan-big.dtb";
 			description = "tegra124-nyan-big.dtb";
 			data = /incbin/("../.././b/nyan-big/u-boot.dtb");
 			data = /incbin/("../.././b/nyan-big/u-boot.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
-			hash@1{
+			hash-1{
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
-		config@1 {
+		default = "config-1";
+		config-1 {
 			description = "Boot U-Boot";
 			description = "Boot U-Boot";
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+			kernel = "kernel";
+			fdt = "fdt-1";
 		};
 		};
 	};
 	};
 };
 };

+ 42 - 42
doc/uImage.FIT/beaglebone_vboot.txt

@@ -130,7 +130,7 @@ Put this into a file in that directory called sign.its:
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			data = /incbin/("Image.lzo");
 			data = /incbin/("Image.lzo");
 			type = "kernel";
 			type = "kernel";
 			arch = "arm";
 			arch = "arm";
@@ -138,27 +138,27 @@ Put this into a file in that directory called sign.its:
 			compression = "lzo";
 			compression = "lzo";
 			load = <0x80008000>;
 			load = <0x80008000>;
 			entry = <0x80008000>;
 			entry = <0x80008000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			description = "beaglebone-black";
 			description = "beaglebone-black";
 			data = /incbin/("am335x-boneblack.dtb");
 			data = /incbin/("am335x-boneblack.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
-			signature@1 {
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel";
+			fdt = "fdt-1";
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				key-name-hint = "dev";
 				key-name-hint = "dev";
 				sign-images = "fdt", "kernel";
 				sign-images = "fdt", "kernel";
@@ -211,7 +211,7 @@ You should see something like this:
 
 
 FIT description: Beaglebone black
 FIT description: Beaglebone black
 Created:         Sun Jun  1 12:50:30 2014
 Created:         Sun Jun  1 12:50:30 2014
- Image 0 (kernel@1)
+ Image 0 (kernel)
   Description:  unavailable
   Description:  unavailable
   Created:      Sun Jun  1 12:50:30 2014
   Created:      Sun Jun  1 12:50:30 2014
   Type:         Kernel Image
   Type:         Kernel Image
@@ -223,7 +223,7 @@ Created:         Sun Jun  1 12:50:30 2014
   Entry Point:  0x80008000
   Entry Point:  0x80008000
   Hash algo:    sha1
   Hash algo:    sha1
   Hash value:   c94364646427e10f423837e559898ef02c97b988
   Hash value:   c94364646427e10f423837e559898ef02c97b988
- Image 1 (fdt@1)
+ Image 1 (fdt-1)
   Description:  beaglebone-black
   Description:  beaglebone-black
   Created:      Sun Jun  1 12:50:30 2014
   Created:      Sun Jun  1 12:50:30 2014
   Type:         Flat Device Tree
   Type:         Flat Device Tree
@@ -232,11 +232,11 @@ Created:         Sun Jun  1 12:50:30 2014
   Architecture: ARM
   Architecture: ARM
   Hash algo:    sha1
   Hash algo:    sha1
   Hash value:   cb09202f889d824f23b8e4404b781be5ad38a68d
   Hash value:   cb09202f889d824f23b8e4404b781be5ad38a68d
- Default Configuration: 'conf@1'
- Configuration 0 (conf@1)
+ Default Configuration: 'conf-1'
+ Configuration 0 (conf-1)
   Description:  unavailable
   Description:  unavailable
-  Kernel:       kernel@1
-  FDT:          fdt@1
+  Kernel:       kernel
+  FDT:          fdt-1
 
 
 
 
 Now am335x-boneblack-pubkey.dtb contains the public key and image.fit contains
 Now am335x-boneblack-pubkey.dtb contains the public key and image.fit contains
@@ -251,12 +251,12 @@ which results in:
 
 
 Verifying Hash Integrity ... sha1,rsa2048:dev+
 Verifying Hash Integrity ... sha1,rsa2048:dev+
 ## Loading kernel from FIT Image at 7fc6ee469000 ...
 ## Loading kernel from FIT Image at 7fc6ee469000 ...
-   Using 'conf@1' configuration
+   Using 'conf-1' configuration
    Verifying Hash Integrity ...
    Verifying Hash Integrity ...
 sha1,rsa2048:dev+
 sha1,rsa2048:dev+
 OK
 OK
 
 
-   Trying 'kernel@1' kernel subimage
+   Trying 'kernel' kernel subimage
      Description:  unavailable
      Description:  unavailable
      Created:      Sun Jun  1 12:50:30 2014
      Created:      Sun Jun  1 12:50:30 2014
      Type:         Kernel Image
      Type:         Kernel Image
@@ -274,8 +274,8 @@ OK
 
 
 Unimplemented compression type 4
 Unimplemented compression type 4
 ## Loading fdt from FIT Image at 7fc6ee469000 ...
 ## Loading fdt from FIT Image at 7fc6ee469000 ...
-   Using 'conf@1' configuration
-   Trying 'fdt@1' fdt subimage
+   Using 'conf-1' configuration
+   Trying 'fdt-1' fdt subimage
      Description:  beaglebone-black
      Description:  beaglebone-black
      Created:      Sun Jun  1 12:50:30 2014
      Created:      Sun Jun  1 12:50:30 2014
      Type:         Flat Device Tree
      Type:         Flat Device Tree
@@ -291,7 +291,7 @@ OK
    Loading Flat Device Tree ... OK
    Loading Flat Device Tree ... OK
 
 
 ## Loading ramdisk from FIT Image at 7fc6ee469000 ...
 ## Loading ramdisk from FIT Image at 7fc6ee469000 ...
-   Using 'conf@1' configuration
+   Using 'conf-1' configuration
 Could not find subimage node
 Could not find subimage node
 
 
 Signature check OK
 Signature check OK
@@ -313,8 +313,8 @@ the above flow works.
 But it is fun to do this by hand, so you can load image.fit into a hex editor
 But it is fun to do this by hand, so you can load image.fit into a hex editor
 like ghex, and change a byte in the kernel:
 like ghex, and change a byte in the kernel:
 
 
-   $UOUT/tools/fit_info -f image.fit -n /images/kernel@1 -p data
-NAME: kernel@1
+   $UOUT/tools/fit_info -f image.fit -n /images/kernel -p data
+NAME: kernel
 LEN: 7790938
 LEN: 7790938
 OFF: 168
 OFF: 168
 
 
@@ -324,12 +324,12 @@ fit_check_sign again. You should see something like:
 
 
 Verifying Hash Integrity ... sha1,rsa2048:dev+
 Verifying Hash Integrity ... sha1,rsa2048:dev+
 ## Loading kernel from FIT Image at 7f5a39571000 ...
 ## Loading kernel from FIT Image at 7f5a39571000 ...
-   Using 'conf@1' configuration
+   Using 'conf-1' configuration
    Verifying Hash Integrity ...
    Verifying Hash Integrity ...
 sha1,rsa2048:dev+
 sha1,rsa2048:dev+
 OK
 OK
 
 
-   Trying 'kernel@1' kernel subimage
+   Trying 'kernel' kernel subimage
      Description:  unavailable
      Description:  unavailable
      Created:      Sun Jun  1 13:09:21 2014
      Created:      Sun Jun  1 13:09:21 2014
      Type:         Kernel Image
      Type:         Kernel Image
@@ -343,12 +343,12 @@ OK
      Hash value:   c94364646427e10f423837e559898ef02c97b988
      Hash value:   c94364646427e10f423837e559898ef02c97b988
    Verifying Hash Integrity ...
    Verifying Hash Integrity ...
 sha1 error
 sha1 error
-Bad hash value for 'hash@1' hash node in 'kernel@1' image node
+Bad hash value for 'hash-1' hash node in 'kernel' image node
 Bad Data Hash
 Bad Data Hash
 
 
 ## Loading fdt from FIT Image at 7f5a39571000 ...
 ## Loading fdt from FIT Image at 7f5a39571000 ...
-   Using 'conf@1' configuration
-   Trying 'fdt@1' fdt subimage
+   Using 'conf-1' configuration
+   Trying 'fdt-1' fdt subimage
      Description:  beaglebone-black
      Description:  beaglebone-black
      Created:      Sun Jun  1 13:09:21 2014
      Created:      Sun Jun  1 13:09:21 2014
      Type:         Flat Device Tree
      Type:         Flat Device Tree
@@ -364,7 +364,7 @@ OK
    Loading Flat Device Tree ... OK
    Loading Flat Device Tree ... OK
 
 
 ## Loading ramdisk from FIT Image at 7f5a39571000 ...
 ## Loading ramdisk from FIT Image at 7f5a39571000 ...
-   Using 'conf@1' configuration
+   Using 'conf-1' configuration
 Could not find subimage node
 Could not find subimage node
 
 
 Signature check Bad (error 1)
 Signature check Bad (error 1)
@@ -386,11 +386,11 @@ images
 configurations
 configurations
 
 
    fdtget -l image.fit /configurations
    fdtget -l image.fit /configurations
-conf@1
-fdtget -l image.fit /configurations/conf@1
-signature@1
+conf-1
+fdtget -l image.fit /configurations/conf-1
+signature-1
 
 
-   fdtget -p image.fit /configurations/conf@1/signature@1
+   fdtget -p image.fit /configurations/conf-1/signature-1
 hashed-strings
 hashed-strings
 hashed-nodes
 hashed-nodes
 timestamp
 timestamp
@@ -401,20 +401,20 @@ algo
 key-name-hint
 key-name-hint
 sign-images
 sign-images
 
 
-   fdtget image.fit /configurations/conf@1/signature@1 hashed-nodes
-/ /configurations/conf@1 /images/fdt@1 /images/fdt@1/hash@1 /images/kernel@1 /images/kernel@1/hash@1
+   fdtget image.fit /configurations/conf-1/signature-1 hashed-nodes
+/ /configurations/conf-1 /images/fdt-1 /images/fdt-1/hash /images/kernel /images/kernel/hash-1
 
 
 This gives us a bit of a look into the signature that mkimage added. Note you
 This gives us a bit of a look into the signature that mkimage added. Note you
 can also use fdtdump to list the entire device tree.
 can also use fdtdump to list the entire device tree.
 
 
 Say we want to change the kernel that this configuration uses
 Say we want to change the kernel that this configuration uses
-(/images/kernel@1). We could just put a new kernel in the image, but we will
+(/images/kernel). We could just put a new kernel in the image, but we will
 need to change the hash to match. Let's simulate that by changing a byte of
 need to change the hash to match. Let's simulate that by changing a byte of
 the hash:
 the hash:
 
 
-    fdtget -tx image.fit /images/kernel@1/hash@1 value
+    fdtget -tx image.fit /images/kernel/hash-1 value
 c9436464 6427e10f 423837e5 59898ef0 2c97b988
 c9436464 6427e10f 423837e5 59898ef0 2c97b988
-    fdtput -tx image.fit /images/kernel@1/hash@1 value c9436464 6427e10f 423837e5 59898ef0 2c97b981
+    fdtput -tx image.fit /images/kernel/hash-1 value c9436464 6427e10f 423837e5 59898ef0 2c97b981
 
 
 Now check it again:
 Now check it again:
 
 
@@ -437,7 +437,7 @@ configuration. But that won't work since you are not allowed to change the
 configuration in any way. Try it with a fresh (valid) image if you like by
 configuration in any way. Try it with a fresh (valid) image if you like by
 running the mkimage link again. Then:
 running the mkimage link again. Then:
 
 
-   fdtput -p image.fit /configurations/conf@1/signature@2 value fred
+   fdtput -p image.fit /configurations/conf-1/signature-1 value fred
    $UOUT/tools/fit_check_sign -f image.fit -k am335x-boneblack-pubkey.dtb
    $UOUT/tools/fit_check_sign -f image.fit -k am335x-boneblack-pubkey.dtb
 Verifying Hash Integrity ... -
 Verifying Hash Integrity ... -
 sha1,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
 sha1,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
@@ -521,9 +521,9 @@ U-Boot# ext2load mmc 0:2 82000000 /boot/image.fit
 7824930 bytes read in 589 ms (12.7 MiB/s)
 7824930 bytes read in 589 ms (12.7 MiB/s)
 U-Boot# bootm 82000000
 U-Boot# bootm 82000000
 ## Loading kernel from FIT Image at 82000000 ...
 ## Loading kernel from FIT Image at 82000000 ...
-   Using 'conf@1' configuration
+   Using 'conf-1' configuration
    Verifying Hash Integrity ... sha1,rsa2048:dev+ OK
    Verifying Hash Integrity ... sha1,rsa2048:dev+ OK
-   Trying 'kernel@1' kernel subimage
+   Trying 'kernel' kernel subimage
      Description:  unavailable
      Description:  unavailable
      Created:      2014-06-01  19:32:54 UTC
      Created:      2014-06-01  19:32:54 UTC
      Type:         Kernel Image
      Type:         Kernel Image
@@ -538,8 +538,8 @@ U-Boot# bootm 82000000
      Hash value:   c94364646427e10f423837e559898ef02c97b988
      Hash value:   c94364646427e10f423837e559898ef02c97b988
    Verifying Hash Integrity ... sha1+ OK
    Verifying Hash Integrity ... sha1+ OK
 ## Loading fdt from FIT Image at 82000000 ...
 ## Loading fdt from FIT Image at 82000000 ...
-   Using 'conf@1' configuration
-   Trying 'fdt@1' fdt subimage
+   Using 'conf-1' configuration
+   Trying 'fdt-1' fdt subimage
      Description:  beaglebone-black
      Description:  beaglebone-black
      Created:      2014-06-01  19:32:54 UTC
      Created:      2014-06-01  19:32:54 UTC
      Type:         Flat Device Tree
      Type:         Flat Device Tree

+ 21 - 21
doc/uImage.FIT/command_syntax_extensions.txt

@@ -138,31 +138,31 @@ unit.
 
 
 Examples:
 Examples:
 
 
-- boot kernel "kernel@1" stored in a new uImage located at 200000:
-bootm 200000:kernel@1
+- boot kernel "kernel-1" stored in a new uImage located at 200000:
+bootm 200000:kernel-1
 
 
-- boot configuration "cfg@1" from a new uImage located at 200000:
-bootm 200000#cfg@1
+- boot configuration "cfg-1" from a new uImage located at 200000:
+bootm 200000#cfg-1
 
 
-- boot configuration "cfg@1" with extra "cfg@2" from a new uImage located
+- boot configuration "cfg-1" with extra "cfg-2" from a new uImage located
   at 200000:
   at 200000:
-bootm 200000#cfg@1#cfg@2
+bootm 200000#cfg-1#cfg-2
 
 
-- boot "kernel@1" from a new uImage at 200000 with initrd "ramdisk@2" found in
+- boot "kernel-1" from a new uImage at 200000 with initrd "ramdisk-2" found in
   some other new uImage stored at address 800000:
   some other new uImage stored at address 800000:
-bootm 200000:kernel@1 800000:ramdisk@2
+bootm 200000:kernel-1 800000:ramdisk-2
 
 
-- boot "kernel@2" from a new uImage at 200000, with initrd "ramdisk@1" and FDT
-  "fdt@1", both stored in some other new uImage located at 800000:
-bootm 200000:kernel@1 800000:ramdisk@1 800000:fdt@1
+- boot "kernel-2" from a new uImage at 200000, with initrd "ramdisk-1" and FDT
+  "fdt-1", both stored in some other new uImage located at 800000:
+bootm 200000:kernel-1 800000:ramdisk-1 800000:fdt-1
 
 
-- boot kernel "kernel@2" with initrd "ramdisk@2", both stored in a new uImage
+- boot kernel "kernel-2" with initrd "ramdisk-2", both stored in a new uImage
   at address 200000, with a raw FDT blob stored at address 600000:
   at address 200000, with a raw FDT blob stored at address 600000:
-bootm 200000:kernel@2 200000:ramdisk@2 600000
+bootm 200000:kernel-2 200000:ramdisk-2 600000
 
 
-- boot kernel "kernel@2" from new uImage at 200000 with FDT "fdt@1" from the
+- boot kernel "kernel-2" from new uImage at 200000 with FDT "fdt-1" from the
   same new uImage:
   same new uImage:
-bootm 200000:kernel@2 - 200000:fdt@1
+bootm 200000:kernel-2 - 200000:fdt-1
 
 
 
 
 Note on current image address
 Note on current image address
@@ -186,16 +186,16 @@ current image address is to be used. For example, consider the following
 commands:
 commands:
 
 
 tftp 200000 /tftpboot/uImage
 tftp 200000 /tftpboot/uImage
-bootm :kernel@1
+bootm :kernel-1
 Last command is equivalent to:
 Last command is equivalent to:
-bootm 200000:kernel@1
+bootm 200000:kernel-1
 
 
 tftp 200000 /tftpboot/uImage
 tftp 200000 /tftpboot/uImage
-bootm 400000:kernel@1 :ramdisk@1
+bootm 400000:kernel-1 :ramdisk-1
 Last command is equivalent to:
 Last command is equivalent to:
-bootm 400000:kernel@1 400000:ramdisk@1
+bootm 400000:kernel-1 400000:ramdisk-1
 
 
 tftp 200000 /tftpboot/uImage
 tftp 200000 /tftpboot/uImage
-bootm :kernel@1 400000:ramdisk@1 :fdt@1
+bootm :kernel-1 400000:ramdisk-1 :fdt-1
 Last command is equivalent to:
 Last command is equivalent to:
-bootm 200000:kernel@1 400000:ramdisk@1 400000:fdt@1
+bootm 200000:kernel-1 400000:ramdisk-1 400000:fdt-1

+ 26 - 26
doc/uImage.FIT/howto.txt

@@ -86,7 +86,7 @@ $
 $ mkimage -l kernel.itb
 $ mkimage -l kernel.itb
 FIT description: Simple image with single Linux kernel
 FIT description: Simple image with single Linux kernel
 Created:	 Tue Mar 11 17:26:15 2008
 Created:	 Tue Mar 11 17:26:15 2008
- Image 0 (kernel@1)
+ Image 0 (kernel)
   Description:	Vanilla Linux kernel
   Description:	Vanilla Linux kernel
   Type:		Kernel Image
   Type:		Kernel Image
   Compression:	gzip compressed
   Compression:	gzip compressed
@@ -99,10 +99,10 @@ Created:	 Tue Mar 11 17:26:15 2008
   Hash value:	2ae2bb40
   Hash value:	2ae2bb40
   Hash algo:	sha1
   Hash algo:	sha1
   Hash value:	3c200f34e2c226ddc789240cca0c59fc54a67cf4
   Hash value:	3c200f34e2c226ddc789240cca0c59fc54a67cf4
- Default Configuration: 'config@1'
- Configuration 0 (config@1)
+ Default Configuration: 'config-1'
+ Configuration 0 (config-1)
   Description:	Boot Linux kernel
   Description:	Boot Linux kernel
-  Kernel:	kernel@1
+  Kernel:	kernel
 
 
 
 
 The resulting image file kernel.itb can be now transferred to the target,
 The resulting image file kernel.itb can be now transferred to the target,
@@ -130,7 +130,7 @@ Bytes transferred = 944464 (e6950 hex)
    FIT image found
    FIT image found
    FIT description: Simple image with single Linux kernel
    FIT description: Simple image with single Linux kernel
    Created:	    2008-03-11	16:26:15 UTC
    Created:	    2008-03-11	16:26:15 UTC
-    Image 0 (kernel@1)
+    Image 0 (kernel)
      Description:  Vanilla Linux kernel
      Description:  Vanilla Linux kernel
      Type:	   Kernel Image
      Type:	   Kernel Image
      Compression:  gzip compressed
      Compression:  gzip compressed
@@ -144,15 +144,15 @@ Bytes transferred = 944464 (e6950 hex)
      Hash value:   2ae2bb40
      Hash value:   2ae2bb40
      Hash algo:    sha1
      Hash algo:    sha1
      Hash value:   3c200f34e2c226ddc789240cca0c59fc54a67cf4
      Hash value:   3c200f34e2c226ddc789240cca0c59fc54a67cf4
-    Default Configuration: 'config@1'
-    Configuration 0 (config@1)
+    Default Configuration: 'config-1'
+    Configuration 0 (config-1)
      Description:  Boot Linux kernel
      Description:  Boot Linux kernel
-     Kernel:	   kernel@1
+     Kernel:	   kernel
 
 
 => bootm
 => bootm
 ## Booting kernel from FIT Image at 00900000 ...
 ## Booting kernel from FIT Image at 00900000 ...
-   Using 'config@1' configuration
-   Trying 'kernel@1' kernel subimage
+   Using 'config-1' configuration
+   Trying 'kernel' kernel subimage
      Description:  Vanilla Linux kernel
      Description:  Vanilla Linux kernel
      Type:	   Kernel Image
      Type:	   Kernel Image
      Compression:  gzip compressed
      Compression:  gzip compressed
@@ -196,7 +196,7 @@ $
 $ mkimage -l kernel_fdt.itb
 $ mkimage -l kernel_fdt.itb
 FIT description: Simple image with single Linux kernel and FDT blob
 FIT description: Simple image with single Linux kernel and FDT blob
 Created:	 Tue Mar 11 16:29:22 2008
 Created:	 Tue Mar 11 16:29:22 2008
- Image 0 (kernel@1)
+ Image 0 (kernel)
   Description:	Vanilla Linux kernel
   Description:	Vanilla Linux kernel
   Type:		Kernel Image
   Type:		Kernel Image
   Compression:	gzip compressed
   Compression:	gzip compressed
@@ -209,7 +209,7 @@ Created:	 Tue Mar 11 16:29:22 2008
   Hash value:	2c0cc807
   Hash value:	2c0cc807
   Hash algo:	sha1
   Hash algo:	sha1
   Hash value:	264b59935470e42c418744f83935d44cdf59a3bb
   Hash value:	264b59935470e42c418744f83935d44cdf59a3bb
- Image 1 (fdt@1)
+ Image 1 (fdt-1)
   Description:	Flattened Device Tree blob
   Description:	Flattened Device Tree blob
   Type:		Flat Device Tree
   Type:		Flat Device Tree
   Compression:	uncompressed
   Compression:	uncompressed
@@ -219,11 +219,11 @@ Created:	 Tue Mar 11 16:29:22 2008
   Hash value:	0d655d71
   Hash value:	0d655d71
   Hash algo:	sha1
   Hash algo:	sha1
   Hash value:	25ab4e15cd4b8a5144610394560d9c318ce52def
   Hash value:	25ab4e15cd4b8a5144610394560d9c318ce52def
- Default Configuration: 'conf@1'
- Configuration 0 (conf@1)
+ Default Configuration: 'conf-1'
+ Configuration 0 (conf-1)
   Description:	Boot Linux kernel with FDT blob
   Description:	Boot Linux kernel with FDT blob
-  Kernel:	kernel@1
-  FDT:		fdt@1
+  Kernel:	kernel
+  FDT:		fdt-1
 
 
 
 
 The resulting image file kernel_fdt.itb can be now transferred to the target,
 The resulting image file kernel_fdt.itb can be now transferred to the target,
@@ -245,7 +245,7 @@ Bytes transferred = 1109776 (10ef10 hex)
    FIT image found
    FIT image found
    FIT description: Simple image with single Linux kernel and FDT blob
    FIT description: Simple image with single Linux kernel and FDT blob
    Created:	    2008-03-11	15:29:22 UTC
    Created:	    2008-03-11	15:29:22 UTC
-    Image 0 (kernel@1)
+    Image 0 (kernel)
      Description:  Vanilla Linux kernel
      Description:  Vanilla Linux kernel
      Type:	   Kernel Image
      Type:	   Kernel Image
      Compression:  gzip compressed
      Compression:  gzip compressed
@@ -259,7 +259,7 @@ Bytes transferred = 1109776 (10ef10 hex)
      Hash value:   2c0cc807
      Hash value:   2c0cc807
      Hash algo:    sha1
      Hash algo:    sha1
      Hash value:   264b59935470e42c418744f83935d44cdf59a3bb
      Hash value:   264b59935470e42c418744f83935d44cdf59a3bb
-    Image 1 (fdt@1)
+    Image 1 (fdt-1)
      Description:  Flattened Device Tree blob
      Description:  Flattened Device Tree blob
      Type:	   Flat Device Tree
      Type:	   Flat Device Tree
      Compression:  uncompressed
      Compression:  uncompressed
@@ -270,15 +270,15 @@ Bytes transferred = 1109776 (10ef10 hex)
      Hash value:   0d655d71
      Hash value:   0d655d71
      Hash algo:    sha1
      Hash algo:    sha1
      Hash value:   25ab4e15cd4b8a5144610394560d9c318ce52def
      Hash value:   25ab4e15cd4b8a5144610394560d9c318ce52def
-    Default Configuration: 'conf@1'
-    Configuration 0 (conf@1)
+    Default Configuration: 'conf-1'
+    Configuration 0 (conf-1)
      Description:  Boot Linux kernel with FDT blob
      Description:  Boot Linux kernel with FDT blob
-     Kernel:	   kernel@1
-     FDT:	   fdt@1
+     Kernel:	   kernel
+     FDT:	   fdt-1
 => bootm
 => bootm
 ## Booting kernel from FIT Image at 00900000 ...
 ## Booting kernel from FIT Image at 00900000 ...
-   Using 'conf@1' configuration
-   Trying 'kernel@1' kernel subimage
+   Using 'conf-1' configuration
+   Trying 'kernel' kernel subimage
      Description:  Vanilla Linux kernel
      Description:  Vanilla Linux kernel
      Type:	   Kernel Image
      Type:	   Kernel Image
      Compression:  gzip compressed
      Compression:  gzip compressed
@@ -295,8 +295,8 @@ Bytes transferred = 1109776 (10ef10 hex)
    Verifying Hash Integrity ... crc32+ sha1+ OK
    Verifying Hash Integrity ... crc32+ sha1+ OK
    Uncompressing Kernel Image ... OK
    Uncompressing Kernel Image ... OK
 ## Flattened Device Tree from FIT Image at 00900000
 ## Flattened Device Tree from FIT Image at 00900000
-   Using 'conf@1' configuration
-   Trying 'fdt@1' FDT blob subimage
+   Using 'conf-1' configuration
+   Trying 'fdt-1' FDT blob subimage
      Description:  Flattened Device Tree blob
      Description:  Flattened Device Tree blob
      Type:	   Flat Device Tree
      Type:	   Flat Device Tree
      Compression:  uncompressed
      Compression:  uncompressed

+ 14 - 14
doc/uImage.FIT/kernel.its

@@ -9,7 +9,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "Vanilla Linux kernel";
 			description = "Vanilla Linux kernel";
 			data = /incbin/("./vmlinux.bin.gz");
 			data = /incbin/("./vmlinux.bin.gz");
 			type = "kernel";
 			type = "kernel";
@@ -18,20 +18,20 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "crc32";
 				algo = "crc32";
 			};
 			};
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
-		config@1 {
+		default = "config-1";
+		config-1 {
 			description = "Boot Linux kernel";
 			description = "Boot Linux kernel";
-			kernel = "kernel@1";
+			kernel = "kernel";
 		};
 		};
 	};
 	};
 };
 };
@@ -47,7 +47,7 @@ For x86 a setup node is also required: see x86-fit-boot.txt.
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "Vanilla Linux kernel";
 			description = "Vanilla Linux kernel";
 			data = /incbin/("./image.bin.lzo");
 			data = /incbin/("./image.bin.lzo");
 			type = "kernel";
 			type = "kernel";
@@ -56,12 +56,12 @@ For x86 a setup node is also required: see x86-fit-boot.txt.
 			compression = "lzo";
 			compression = "lzo";
 			load = <0x01000000>;
 			load = <0x01000000>;
 			entry = <0x00000000>;
 			entry = <0x00000000>;
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		setup@1 {
+		setup {
 			description = "Linux setup.bin";
 			description = "Linux setup.bin";
 			data = /incbin/("./setup.bin");
 			data = /incbin/("./setup.bin");
 			type = "x86_setup";
 			type = "x86_setup";
@@ -70,18 +70,18 @@ For x86 a setup node is also required: see x86-fit-boot.txt.
 			compression = "none";
 			compression = "none";
 			load = <0x00090000>;
 			load = <0x00090000>;
 			entry = <0x00090000>;
 			entry = <0x00090000>;
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
-		config@1 {
+		default = "config-1";
+		config-1 {
 			description = "Boot Linux kernel";
 			description = "Boot Linux kernel";
-			kernel = "kernel@1";
-			setup = "setup@1";
+			kernel = "kernel";
+			setup = "setup";
 		};
 		};
 	};
 	};
 };
 };

+ 10 - 10
doc/uImage.FIT/kernel_fdt.its

@@ -9,7 +9,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			description = "Vanilla Linux kernel";
 			description = "Vanilla Linux kernel";
 			data = /incbin/("./vmlinux.bin.gz");
 			data = /incbin/("./vmlinux.bin.gz");
 			type = "kernel";
 			type = "kernel";
@@ -18,34 +18,34 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "crc32";
 				algo = "crc32";
 			};
 			};
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			description = "Flattened Device Tree blob";
 			description = "Flattened Device Tree blob";
 			data = /incbin/("./target.dtb");
 			data = /incbin/("./target.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "ppc";
 			arch = "ppc";
 			compression = "none";
 			compression = "none";
-			hash@1 {
+			hash-1 {
 				algo = "crc32";
 				algo = "crc32";
 			};
 			};
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
+		default = "conf-1";
+		conf-1 {
 			description = "Boot Linux kernel with FDT blob";
 			description = "Boot Linux kernel with FDT blob";
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+			kernel = "kernel";
+			fdt = "fdt-1";
 		};
 		};
 	};
 	};
 };
 };

+ 14 - 14
doc/uImage.FIT/multi-with-fpga.its

@@ -10,31 +10,31 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		fdt@1 {
+		fdt-1 {
 			description = "zc706";
 			description = "zc706";
 			data = /incbin/("/tftpboot/devicetree.dtb");
 			data = /incbin/("/tftpboot/devicetree.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
 			load = <0x10000000>;
 			load = <0x10000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		fpga@1 {
+		fpga {
 			description = "FPGA";
 			description = "FPGA";
 			data = /incbin/("/tftpboot/download.bit");
 			data = /incbin/("/tftpboot/download.bit");
 			type = "fpga";
 			type = "fpga";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
 			load = <0x30000000>;
 			load = <0x30000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		linux_kernel@1 {
+		linux_kernel {
 			description = "Linux";
 			description = "Linux";
 			data = /incbin/("/tftpboot/zImage");
 			data = /incbin/("/tftpboot/zImage");
 			type = "kernel";
 			type = "kernel";
@@ -43,25 +43,25 @@
 			compression = "none";
 			compression = "none";
 			load = <0x8000>;
 			load = <0x8000>;
 			entry = <0x8000>;
 			entry = <0x8000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@2";
-		config@1 {
+		default = "config-2";
+		config-1 {
 			description = "Linux";
 			description = "Linux";
-			kernel = "linux_kernel@1";
-			fdt = "fdt@1";
+			kernel = "linux_kernel";
+			fdt = "fdt-1";
 		};
 		};
 
 
-		config@2 {
+		config-2 {
 			description = "Linux with fpga";
 			description = "Linux with fpga";
-			kernel = "linux_kernel@1";
-			fdt = "fdt@1";
-			fpga = "fpga@1";
+			kernel = "linux_kernel";
+			fdt = "fdt-1";
+			fpga = "fpga";
 		};
 		};
 	};
 	};
 };
 };

+ 20 - 20
doc/uImage.FIT/multi-with-loadables.its

@@ -10,7 +10,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		xen_kernel@1 {
+		xen_kernel {
 			description = "xen binary";
 			description = "xen binary";
 			data = /incbin/("./xen");
 			data = /incbin/("./xen");
 			type = "kernel";
 			type = "kernel";
@@ -19,36 +19,36 @@
 			compression = "none";
 			compression = "none";
 			load = <0xa0000000>;
 			load = <0xa0000000>;
 			entry = <0xa0000000>;
 			entry = <0xa0000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		fdt@1 {
+		fdt-1 {
 			description = "xexpress-ca15 tree blob";
 			description = "xexpress-ca15 tree blob";
 			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
 			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
 			load = <0xb0000000>;
 			load = <0xb0000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		fdt@2 {
+		fdt-2 {
 			description = "xexpress-ca15 tree blob";
 			description = "xexpress-ca15 tree blob";
 			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
 			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "arm";
 			arch = "arm";
 			compression = "none";
 			compression = "none";
 			load = <0xb0400000>;
 			load = <0xb0400000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		linux_kernel@1 {
+		linux_kernel {
 			description = "Linux Image";
 			description = "Linux Image";
 			data = /incbin/("./Image");
 			data = /incbin/("./Image");
 			type = "kernel";
 			type = "kernel";
@@ -57,33 +57,33 @@
 			compression = "none";
 			compression = "none";
 			load = <0xa0000000>;
 			load = <0xa0000000>;
 			entry = <0xa0000000>;
 			entry = <0xa0000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@2";
+		default = "config-2";
 
 
-		config@1 {
+		config-1 {
 			description = "Just plain Linux";
 			description = "Just plain Linux";
-			kernel = "linux_kernel@1";
-			fdt = "fdt@1";
+			kernel = "linux_kernel";
+			fdt = "fdt-1";
 		};
 		};
 
 
-		config@2 {
+		config-2 {
 			description = "Xen one loadable";
 			description = "Xen one loadable";
-			kernel = "xen_kernel@1";
-			fdt = "fdt@1";
-			loadables = "linux_kernel@1";
+			kernel = "xen_kernel";
+			fdt = "fdt-1";
+			loadables = "linux_kernel";
 		};
 		};
 
 
-		config@3 {
+		config-3 {
 			description = "Xen two loadables";
 			description = "Xen two loadables";
-			kernel = "xen_kernel@1";
-			fdt = "fdt@1";
-			loadables = "linux_kernel@1", "fdt@2";
+			kernel = "xen_kernel";
+			fdt = "fdt-1";
+			loadables = "linux_kernel", "fdt-2";
 		};
 		};
 	};
 	};
 };
 };

+ 27 - 27
doc/uImage.FIT/multi.its

@@ -9,7 +9,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel-1 {
 			description = "vanilla-2.6.23";
 			description = "vanilla-2.6.23";
 			data = /incbin/("./vmlinux.bin.gz");
 			data = /incbin/("./vmlinux.bin.gz");
 			type = "kernel";
 			type = "kernel";
@@ -18,15 +18,15 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
-			hash@2 {
+			hash-2 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		kernel@2 {
+		kernel-2 {
 			description = "2.6.23-denx";
 			description = "2.6.23-denx";
 			data = /incbin/("./2.6.23-denx.bin.gz");
 			data = /incbin/("./2.6.23-denx.bin.gz");
 			type = "kernel";
 			type = "kernel";
@@ -35,12 +35,12 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		kernel@3 {
+		kernel-3 {
 			description = "2.4.25-denx";
 			description = "2.4.25-denx";
 			data = /incbin/("./2.4.25-denx.bin.gz");
 			data = /incbin/("./2.4.25-denx.bin.gz");
 			type = "kernel";
 			type = "kernel";
@@ -49,12 +49,12 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "md5";
 				algo = "md5";
 			};
 			};
 		};
 		};
 
 
-		ramdisk@1 {
+		ramdisk-1 {
 			description = "eldk-4.2-ramdisk";
 			description = "eldk-4.2-ramdisk";
 			data = /incbin/("./eldk-4.2-ramdisk");
 			data = /incbin/("./eldk-4.2-ramdisk");
 			type = "ramdisk";
 			type = "ramdisk";
@@ -63,12 +63,12 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		ramdisk@2 {
+		ramdisk-2 {
 			description = "eldk-3.1-ramdisk";
 			description = "eldk-3.1-ramdisk";
 			data = /incbin/("./eldk-3.1-ramdisk");
 			data = /incbin/("./eldk-3.1-ramdisk");
 			type = "ramdisk";
 			type = "ramdisk";
@@ -77,30 +77,30 @@
 			compression = "gzip";
 			compression = "gzip";
 			load = <00000000>;
 			load = <00000000>;
 			entry = <00000000>;
 			entry = <00000000>;
-			hash@1 {
+			hash-1 {
 				algo = "crc32";
 				algo = "crc32";
 			};
 			};
 		};
 		};
 
 
-		fdt@1 {
+		fdt-1 {
 			description = "tqm5200-fdt";
 			description = "tqm5200-fdt";
 			data = /incbin/("./tqm5200.dtb");
 			data = /incbin/("./tqm5200.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "ppc";
 			arch = "ppc";
 			compression = "none";
 			compression = "none";
-			hash@1 {
+			hash-1 {
 				algo = "crc32";
 				algo = "crc32";
 			};
 			};
 		};
 		};
 
 
-		fdt@2 {
+		fdt-2 {
 			description = "tqm5200s-fdt";
 			description = "tqm5200s-fdt";
 			data = /incbin/("./tqm5200s.dtb");
 			data = /incbin/("./tqm5200s.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "ppc";
 			arch = "ppc";
 			compression = "none";
 			compression = "none";
 			load = <00700000>;
 			load = <00700000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
@@ -108,26 +108,26 @@
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
+		default = "config-1";
 
 
-		config@1 {
+		config-1 {
 			description = "tqm5200 vanilla-2.6.23 configuration";
 			description = "tqm5200 vanilla-2.6.23 configuration";
-			kernel = "kernel@1";
-			ramdisk = "ramdisk@1";
-			fdt = "fdt@1";
+			kernel = "kernel-1";
+			ramdisk = "ramdisk-1";
+			fdt = "fdt-1";
 		};
 		};
 
 
-		config@2 {
+		config-2 {
 			description = "tqm5200s denx-2.6.23 configuration";
 			description = "tqm5200s denx-2.6.23 configuration";
-			kernel = "kernel@2";
-			ramdisk = "ramdisk@1";
-			fdt = "fdt@2";
+			kernel = "kernel-2";
+			ramdisk = "ramdisk-1";
+			fdt = "fdt-2";
 		};
 		};
 
 
-		config@3 {
+		config-3 {
 			description = "tqm5200s denx-2.4.25 configuration";
 			description = "tqm5200s denx-2.4.25 configuration";
-			kernel = "kernel@3";
-			ramdisk = "ramdisk@2";
+			kernel = "kernel-3";
+			ramdisk = "ramdisk-2";
 		};
 		};
 	};
 	};
 };
 };

+ 7 - 7
doc/uImage.FIT/multi_spl.its

@@ -45,7 +45,7 @@
 			load = <0x40000>;
 			load = <0x40000>;
 		};
 		};
 
 
-		fdt@1 {
+		fdt-1 {
 			description = "Pine64+ DT";
 			description = "Pine64+ DT";
 			type = "flat_dt";
 			type = "flat_dt";
 			compression = "none";
 			compression = "none";
@@ -53,7 +53,7 @@
 			arch = "arm64";
 			arch = "arm64";
 		};
 		};
 
 
-		fdt@2 {
+		fdt-2 {
 			description = "Pine64 DT";
 			description = "Pine64 DT";
 			type = "flat_dt";
 			type = "flat_dt";
 			compression = "none";
 			compression = "none";
@@ -79,18 +79,18 @@
 	};
 	};
 
 
 	configurations {
 	configurations {
-		default = "config@1";
+		default = "config-1";
 
 
-		config@1 {
+		config-1 {
 			description = "sun50i-a64-pine64-plus";
 			description = "sun50i-a64-pine64-plus";
 			loadables = "uboot", "atf", "kernel", "initrd";
 			loadables = "uboot", "atf", "kernel", "initrd";
-			fdt = "fdt@1";
+			fdt = "fdt-1";
 		};
 		};
 
 
-		config@2 {
+		config-2 {
 			description = "sun50i-a64-pine64";
 			description = "sun50i-a64-pine64";
 			loadables = "uboot", "atf", "mgmt-firmware";
 			loadables = "uboot", "atf", "mgmt-firmware";
-			fdt = "fdt@2";
+			fdt = "fdt-2";
 		};
 		};
 	};
 	};
 };
 };

+ 39 - 39
doc/uImage.FIT/overlay-fdt-boot.txt

@@ -24,7 +24,7 @@ Without using overlays the configuration would be as follows for every case.
 	/dts-v1/;
 	/dts-v1/;
 	/ {
 	/ {
 		images {
 		images {
-			kernel@1 {
+			kernel {
 				data = /incbin/("./zImage");
 				data = /incbin/("./zImage");
 				type = "kernel";
 				type = "kernel";
 				arch = "arm";
 				arch = "arm";
@@ -32,32 +32,32 @@ Without using overlays the configuration would be as follows for every case.
 				load = <0x82000000>;
 				load = <0x82000000>;
 				entry = <0x82000000>;
 				entry = <0x82000000>;
 			};
 			};
-			fdt@1 {
+			fdt-1 {
 				data = /incbin/("./foo-reva.dtb");
 				data = /incbin/("./foo-reva.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 			};
 			};
-			fdt@2 {
+			fdt-2 {
 				data = /incbin/("./foo-revb.dtb");
 				data = /incbin/("./foo-revb.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 			};
 			};
-			fdt@3 {
+			fdt-3 {
 				data = /incbin/("./foo-reva-bar.dtb");
 				data = /incbin/("./foo-reva-bar.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 			};
 			};
-			fdt@4 {
+			fdt-4 {
 				data = /incbin/("./foo-revb-bar.dtb");
 				data = /incbin/("./foo-revb-bar.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 			};
 			};
-			fdt@5 {
+			fdt-5 {
 				data = /incbin/("./foo-revb-baz.dtb");
 				data = /incbin/("./foo-revb-baz.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 			};
 			};
-			fdt@6 {
+			fdt-6 {
 				data = /incbin/("./foo-revb-bar-baz.dtb");
 				data = /incbin/("./foo-revb-bar-baz.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
@@ -67,28 +67,28 @@ Without using overlays the configuration would be as follows for every case.
 		configurations {
 		configurations {
 			default = "foo-reva.dtb;
 			default = "foo-reva.dtb;
 			foo-reva.dtb {
 			foo-reva.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1";
+				kernel = "kernel";
+				fdt = "fdt-1";
 			};
 			};
 			foo-revb.dtb {
 			foo-revb.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@2";
+				kernel = "kernel";
+				fdt = "fdt-2";
 			};
 			};
 			foo-reva-bar.dtb {
 			foo-reva-bar.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@3";
+				kernel = "kernel";
+				fdt = "fdt-3";
 			};
 			};
 			foo-revb-bar.dtb {
 			foo-revb-bar.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@4";
+				kernel = "kernel";
+				fdt = "fdt-4";
 			};
 			};
 			foo-revb-baz.dtb {
 			foo-revb-baz.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@5";
+				kernel = "kernel";
+				fdt = "fdt-5";
 			};
 			};
 			foo-revb-bar-baz.dtb {
 			foo-revb-bar-baz.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@6";
+				kernel = "kernel";
+				fdt = "fdt-6";
 			};
 			};
 		};
 		};
 	};
 	};
@@ -117,7 +117,7 @@ explosion problem.
 	/dts-v1/;
 	/dts-v1/;
 	/ {
 	/ {
 		images {
 		images {
-			kernel@1 {
+			kernel {
 				data = /incbin/("./zImage");
 				data = /incbin/("./zImage");
 				type = "kernel";
 				type = "kernel";
 				arch = "arm";
 				arch = "arm";
@@ -125,31 +125,31 @@ explosion problem.
 				load = <0x82000000>;
 				load = <0x82000000>;
 				entry = <0x82000000>;
 				entry = <0x82000000>;
 			};
 			};
-			fdt@1 {
+			fdt-1 {
 				data = /incbin/("./foo.dtb");
 				data = /incbin/("./foo.dtb");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 				load = <0x87f00000>;
 				load = <0x87f00000>;
 			};
 			};
-			fdt@2 {
+			fdt-2 {
 				data = /incbin/("./reva.dtbo");
 				data = /incbin/("./reva.dtbo");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 				load = <0x87fc0000>;
 				load = <0x87fc0000>;
 			};
 			};
-			fdt@3 {
+			fdt-3 {
 				data = /incbin/("./revb.dtbo");
 				data = /incbin/("./revb.dtbo");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 				load = <0x87fc0000>;
 				load = <0x87fc0000>;
 			};
 			};
-			fdt@4 {
+			fdt-4 {
 				data = /incbin/("./bar.dtbo");
 				data = /incbin/("./bar.dtbo");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
 				load = <0x87fc0000>;
 				load = <0x87fc0000>;
 			};
 			};
-			fdt@5 {
+			fdt-5 {
 				data = /incbin/("./baz.dtbo");
 				data = /incbin/("./baz.dtbo");
 				type = "flat_dt";
 				type = "flat_dt";
 				arch = "arm";
 				arch = "arm";
@@ -160,34 +160,34 @@ explosion problem.
 		configurations {
 		configurations {
 			default = "foo-reva.dtb;
 			default = "foo-reva.dtb;
 			foo-reva.dtb {
 			foo-reva.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@2";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-2";
 			};
 			};
 			foo-revb.dtb {
 			foo-revb.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@3";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-3";
 			};
 			};
 			foo-reva-bar.dtb {
 			foo-reva-bar.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@2", "fdt@4";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-2", "fdt-4";
 			};
 			};
 			foo-revb-bar.dtb {
 			foo-revb-bar.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@3", "fdt@4";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-3", "fdt-4";
 			};
 			};
 			foo-revb-baz.dtb {
 			foo-revb-baz.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@3", "fdt@5";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-3", "fdt-5";
 			};
 			};
 			foo-revb-bar-baz.dtb {
 			foo-revb-bar-baz.dtb {
-				kernel = "kernel@1";
-				fdt = "fdt@1", "fdt@3", "fdt@4", "fdt@5";
+				kernel = "kernel";
+				fdt = "fdt-1", "fdt-3", "fdt-4", "fdt-5";
 			};
 			};
 			bar {
 			bar {
-				fdt = "fdt@4";
+				fdt = "fdt-4";
 			};
 			};
 			baz {
 			baz {
-				fdt = "fdt@5";
+				fdt = "fdt-5";
 			};
 			};
 		};
 		};
 	};
 	};

+ 9 - 9
doc/uImage.FIT/sign-configs.its

@@ -5,7 +5,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			data = /incbin/("test-kernel.bin");
 			data = /incbin/("test-kernel.bin");
 			type = "kernel_noload";
 			type = "kernel_noload";
 			arch = "sandbox";
 			arch = "sandbox";
@@ -14,28 +14,28 @@
 			load = <0x4>;
 			load = <0x4>;
 			entry = <0x8>;
 			entry = <0x8>;
 			kernel-version = <1>;
 			kernel-version = <1>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			description = "snow";
 			description = "snow";
 			data = /incbin/("sandbox-kernel.dtb");
 			data = /incbin/("sandbox-kernel.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "sandbox";
 			arch = "sandbox";
 			compression = "none";
 			compression = "none";
 			fdt-version = <1>;
 			fdt-version = <1>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 	};
 	};
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
-			signature@1 {
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel";
+			fdt = "fdt-1";
+			signature {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				key-name-hint = "dev";
 				key-name-hint = "dev";
 				sign-images = "fdt", "kernel";
 				sign-images = "fdt", "kernel";

+ 8 - 8
doc/uImage.FIT/sign-images.its

@@ -5,7 +5,7 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		kernel@1 {
+		kernel {
 			data = /incbin/("test-kernel.bin");
 			data = /incbin/("test-kernel.bin");
 			type = "kernel_noload";
 			type = "kernel_noload";
 			arch = "sandbox";
 			arch = "sandbox";
@@ -14,29 +14,29 @@
 			load = <0x4>;
 			load = <0x4>;
 			entry = <0x8>;
 			entry = <0x8>;
 			kernel-version = <1>;
 			kernel-version = <1>;
-			signature@1 {
+			signature {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				key-name-hint = "dev";
 				key-name-hint = "dev";
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			description = "snow";
 			description = "snow";
 			data = /incbin/("sandbox-kernel.dtb");
 			data = /incbin/("sandbox-kernel.dtb");
 			type = "flat_dt";
 			type = "flat_dt";
 			arch = "sandbox";
 			arch = "sandbox";
 			compression = "none";
 			compression = "none";
 			fdt-version = <1>;
 			fdt-version = <1>;
-			signature@1 {
+			signature {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				key-name-hint = "dev";
 				key-name-hint = "dev";
 			};
 			};
 		};
 		};
 	};
 	};
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel";
+			fdt = "fdt-1";
 		};
 		};
 	};
 	};
 };
 };

+ 50 - 50
doc/uImage.FIT/signature.txt

@@ -83,7 +83,7 @@ Device Tree Bindings
 The following properties are required in the FIT's signature node(s) to
 The following properties are required in the FIT's signature node(s) to
 allow the signer to operate. These should be added to the .its file.
 allow the signer to operate. These should be added to the .its file.
 Signature nodes sit at the same level as hash nodes and are called
 Signature nodes sit at the same level as hash nodes and are called
-signature@1, signature@2, etc.
+signature-1, signature-2, etc.
 
 
 - algo: Algorithm name (e.g. "sha1,rsa2048")
 - algo: Algorithm name (e.g. "sha1,rsa2048")
 
 
@@ -118,9 +118,9 @@ For config bindings, these properties are added by the signer:
 - hashed-nodes: A list of nodes which were hashed by the signer. Each is
 - hashed-nodes: A list of nodes which were hashed by the signer. Each is
 	a string - the full path to node. A typical value might be:
 	a string - the full path to node. A typical value might be:
 
 
-	hashed-nodes = "/", "/configurations/conf@1", "/images/kernel@1",
-		"/images/kernel@1/hash@1", "/images/fdt@1",
-		"/images/fdt@1/hash@1";
+	hashed-nodes = "/", "/configurations/conf-1", "/images/kernel",
+		"/images/kernel/hash-1", "/images/fdt-1",
+		"/images/fdt-1/hash-1";
 
 
 - hashed-strings: The start and size of the string region of the FIT that
 - hashed-strings: The start and size of the string region of the FIT that
 	was hashed
 	was hashed
@@ -178,44 +178,44 @@ As an example, consider this FIT:
 
 
 / {
 / {
 	images {
 	images {
-		kernel@1 {
+		kernel-1 {
 			data = <data for kernel1>
 			data = <data for kernel1>
-			signature@1 {
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				value = <...kernel signature 1...>
 				value = <...kernel signature 1...>
 			};
 			};
 		};
 		};
-		kernel@2 {
+		kernel-2 {
 			data = <data for kernel2>
 			data = <data for kernel2>
-			signature@1 {
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				value = <...kernel signature 2...>
 				value = <...kernel signature 2...>
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			data = <data for fdt1>;
 			data = <data for fdt1>;
-			signature@1 {
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				vaue = <...fdt signature 1...>
 				vaue = <...fdt signature 1...>
 			};
 			};
 		};
 		};
-		fdt@2 {
+		fdt-2 {
 			data = <data for fdt2>;
 			data = <data for fdt2>;
-			signature@1 {
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				vaue = <...fdt signature 2...>
 				vaue = <...fdt signature 2...>
 			};
 			};
 		};
 		};
 	};
 	};
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel-1";
+			fdt = "fdt-1";
 		};
 		};
-		conf@1 {
-			kernel = "kernel@2";
-			fdt = "fdt@2";
+		conf-1 {
+			kernel = "kernel-2";
+			fdt = "fdt-2";
 		};
 		};
 	};
 	};
 };
 };
@@ -224,18 +224,18 @@ Since both kernels are signed it is easy for an attacker to add a new
 configuration 3 with kernel 1 and fdt 2:
 configuration 3 with kernel 1 and fdt 2:
 
 
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel-1";
+			fdt = "fdt-1";
 		};
 		};
-		conf@1 {
-			kernel = "kernel@2";
-			fdt = "fdt@2";
+		conf-1 {
+			kernel = "kernel-2";
+			fdt = "fdt-2";
 		};
 		};
-		conf@3 {
-			kernel = "kernel@1";
-			fdt = "fdt@2";
+		conf-3 {
+			kernel = "kernel-1";
+			fdt = "fdt-2";
 		};
 		};
 	};
 	};
 
 
@@ -250,49 +250,49 @@ So the above example is adjusted to look like this:
 
 
 / {
 / {
 	images {
 	images {
-		kernel@1 {
+		kernel-1 {
 			data = <data for kernel1>
 			data = <data for kernel1>
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 				value = <...kernel hash 1...>
 				value = <...kernel hash 1...>
 			};
 			};
 		};
 		};
-		kernel@2 {
+		kernel-2 {
 			data = <data for kernel2>
 			data = <data for kernel2>
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 				value = <...kernel hash 2...>
 				value = <...kernel hash 2...>
 			};
 			};
 		};
 		};
-		fdt@1 {
+		fdt-1 {
 			data = <data for fdt1>;
 			data = <data for fdt1>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 				value = <...fdt hash 1...>
 				value = <...fdt hash 1...>
 			};
 			};
 		};
 		};
-		fdt@2 {
+		fdt-2 {
 			data = <data for fdt2>;
 			data = <data for fdt2>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 				value = <...fdt hash 2...>
 				value = <...fdt hash 2...>
 			};
 			};
 		};
 		};
 	};
 	};
 	configurations {
 	configurations {
-		default = "conf@1";
-		conf@1 {
-			kernel = "kernel@1";
-			fdt = "fdt@1";
-			signature@1 {
+		default = "conf-1";
+		conf-1 {
+			kernel = "kernel-1";
+			fdt = "fdt-1";
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				value = <...conf 1 signature...>;
 				value = <...conf 1 signature...>;
 			};
 			};
 		};
 		};
-		conf@2 {
-			kernel = "kernel@2";
-			fdt = "fdt@2";
-			signature@1 {
+		conf-2 {
+			kernel = "kernel-2";
+			fdt = "fdt-2";
+			signature-1 {
 				algo = "sha1,rsa2048";
 				algo = "sha1,rsa2048";
 				value = <...conf 1 signature...>;
 				value = <...conf 1 signature...>;
 			};
 			};
@@ -303,11 +303,11 @@ So the above example is adjusted to look like this:
 
 
 You can see that we have added hashes for all images (since they are no
 You can see that we have added hashes for all images (since they are no
 longer signed), and a signature to each configuration. In the above example,
 longer signed), and a signature to each configuration. In the above example,
-mkimage will sign configurations/conf@1, the kernel and fdt that are
-pointed to by the configuration (/images/kernel@1, /images/kernel@1/hash@1,
-/images/fdt@1, /images/fdt@1/hash@1) and the root structure of the image
+mkimage will sign configurations/conf-1, the kernel and fdt that are
+pointed to by the configuration (/images/kernel-1, /images/kernel-1/hash-1,
+/images/fdt-1, /images/fdt-1/hash-1) and the root structure of the image
 (so that it isn't possible to add or remove root nodes). The signature is
 (so that it isn't possible to add or remove root nodes). The signature is
-written into /configurations/conf@1/signature@1/value. It can easily be
+written into /configurations/conf-1/signature-1/value. It can easily be
 verified later even if the FIT has been signed with other keys in the
 verified later even if the FIT has been signed with other keys in the
 meantime.
 meantime.
 
 

+ 13 - 13
doc/uImage.FIT/source_file_format.txt

@@ -102,15 +102,15 @@ Root node of the uImage Tree should have the following layout:
     |
     |
     o images
     o images
     | |
     | |
-    | o image@1 {...}
-    | o image@2 {...}
+    | o image-1 {...}
+    | o image-2 {...}
     | ...
     | ...
     |
     |
     o configurations
     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
 This node is a container node for component sub-image nodes. Each sub-node of
 the '/images' node should have the following layout:
 the '/images' node should have the following layout:
 
 
- o image@1
+ o image-1
    |- description = "component sub-image description"
    |- description = "component sub-image description"
    |- data = /incbin/("path/to/data/file.bin")
    |- data = /incbin/("path/to/data/file.bin")
    |- type = "sub-image type name"
    |- type = "sub-image type name"
@@ -152,8 +152,8 @@ the '/images' node should have the following layout:
    |- load = <00000000>
    |- load = <00000000>
    |- entry = <00000000>
    |- entry = <00000000>
    |
    |
-   o hash@1 {...}
-   o hash@2 {...}
+   o hash-1 {...}
+   o hash-2 {...}
    ...
    ...
 
 
   Mandatory properties:
   Mandatory properties:
@@ -183,14 +183,14 @@ the '/images' node should have the following layout:
     property of the root node. Mandatory for types: "standalone" and "kernel".
     property of the root node. Mandatory for types: "standalone" and "kernel".
 
 
   Optional nodes:
   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.
     calculated for node's data according to specified algorithm.
 
 
 
 
 5) Hash nodes
 5) Hash nodes
 -------------
 -------------
 
 
-o hash@1
+o hash-1
   |- algo = "hash or checksum algorithm name"
   |- algo = "hash or checksum algorithm name"
   |- value = [hash or checksum value]
   |- value = [hash or checksum value]
 
 
@@ -212,8 +212,8 @@ The 'configurations' node has has the following structure:
 o configurations
 o configurations
   |- default = "default configuration sub-node unit name"
   |- default = "default configuration sub-node unit name"
   |
   |
-  o config@1 {...}
-  o config@2 {...}
+  o config-1 {...}
+  o config-2 {...}
   ...
   ...
 
 
 
 
@@ -231,7 +231,7 @@ o configurations
 
 
 Each configuration has the following structure:
 Each configuration has the following structure:
 
 
-o config@1
+o config-1
   |- description = "configuration description"
   |- description = "configuration description"
   |- kernel = "kernel sub-node unit name"
   |- kernel = "kernel sub-node unit name"
   |- ramdisk = "ramdisk sub-node unit name"
   |- ramdisk = "ramdisk sub-node unit name"

+ 6 - 6
doc/uImage.FIT/update3.its

@@ -9,34 +9,34 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		update@1 {
+		update-1 {
 			description = "Linux kernel binary";
 			description = "Linux kernel binary";
 			data = /incbin/("./vmlinux.bin.gz");
 			data = /incbin/("./vmlinux.bin.gz");
 			compression = "none";
 			compression = "none";
 			type = "firmware";
 			type = "firmware";
 			load = <FF700000>;
 			load = <FF700000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
-		update@2 {
+		update-2 {
 			description = "Ramdisk image";
 			description = "Ramdisk image";
 			data = /incbin/("./ramdisk_image.gz");
 			data = /incbin/("./ramdisk_image.gz");
 			compression = "none";
 			compression = "none";
 			type = "firmware";
 			type = "firmware";
 			load = <FF8E0000>;
 			load = <FF8E0000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};
 
 
-		update@3 {
+		update-3 {
 			description = "FDT blob";
 			description = "FDT blob";
 			data = /incbin/("./blob.fdt");
 			data = /incbin/("./blob.fdt");
 			compression = "none";
 			compression = "none";
 			type = "firmware";
 			type = "firmware";
 			load = <FFAC0000>;
 			load = <FFAC0000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};

+ 2 - 2
doc/uImage.FIT/update_uboot.its

@@ -10,13 +10,13 @@
 	#address-cells = <1>;
 	#address-cells = <1>;
 
 
 	images {
 	images {
-		update@1 {
+		update-1 {
 			description = "U-Boot binary";
 			description = "U-Boot binary";
 			data = /incbin/("./u-boot.bin");
 			data = /incbin/("./u-boot.bin");
 			compression = "none";
 			compression = "none";
 			type = "firmware";
 			type = "firmware";
 			load = <FFFC0000>;
 			load = <FFFC0000>;
-			hash@1 {
+			hash-1 {
 				algo = "sha1";
 				algo = "sha1";
 			};
 			};
 		};
 		};

+ 5 - 5
doc/uImage.FIT/x86-fit-boot.txt

@@ -197,7 +197,7 @@ You can take a look at the resulting fit file if you like:
 $ dumpimage -l image.fit
 $ dumpimage -l image.fit
 FIT description: Simple image with single Linux kernel on x86
 FIT description: Simple image with single Linux kernel on x86
 Created:         Tue Oct  7 10:57:24 2014
 Created:         Tue Oct  7 10:57:24 2014
- Image 0 (kernel@1)
+ Image 0 (kernel)
   Description:  Vanilla Linux kernel
   Description:  Vanilla Linux kernel
   Created:      Tue Oct  7 10:57:24 2014
   Created:      Tue Oct  7 10:57:24 2014
   Type:         Kernel Image
   Type:         Kernel Image
@@ -209,7 +209,7 @@ Created:         Tue Oct  7 10:57:24 2014
   Entry Point:  0x00000000
   Entry Point:  0x00000000
   Hash algo:    sha1
   Hash algo:    sha1
   Hash value:   446b5163ebfe0fb6ee20cbb7a8501b263cd92392
   Hash value:   446b5163ebfe0fb6ee20cbb7a8501b263cd92392
- Image 1 (setup@1)
+ Image 1 (setup)
   Description:  Linux setup.bin
   Description:  Linux setup.bin
   Created:      Tue Oct  7 10:57:24 2014
   Created:      Tue Oct  7 10:57:24 2014
   Type:         x86 setup.bin
   Type:         x86 setup.bin
@@ -217,10 +217,10 @@ Created:         Tue Oct  7 10:57:24 2014
   Data Size:    12912 Bytes = 12.61 kB = 0.01 MB
   Data Size:    12912 Bytes = 12.61 kB = 0.01 MB
   Hash algo:    sha1
   Hash algo:    sha1
   Hash value:   a1f2099cf47ff9816236cd534c77af86e713faad
   Hash value:   a1f2099cf47ff9816236cd534c77af86e713faad
- Default Configuration: 'config@1'
- Configuration 0 (config@1)
+ Default Configuration: 'config-1'
+ Configuration 0 (config-1)
   Description:  Boot Linux kernel
   Description:  Boot Linux kernel
-  Kernel:       kernel@1
+  Kernel:       kernel
 
 
 
 
 Booting the FIT
 Booting the FIT

+ 13 - 13
include/image.h

@@ -578,7 +578,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
  * boot_get_loadable() will take the given FIT configuration, and look
  * boot_get_loadable() will take the given FIT configuration, and look
  * for a field named "loadables".  Loadables, is a list of elements in
  * for a field named "loadables".  Loadables, is a list of elements in
  * the FIT given as strings.  exe:
  * the FIT given as strings.  exe:
- *   loadables = "linux_kernel@1", "fdt@2";
+ *   loadables = "linux_kernel", "fdt-2";
  * this function will attempt to parse each string, and load the
  * this function will attempt to parse each string, and load the
  * corresponding element from the FIT into memory.  Once placed,
  * corresponding element from the FIT into memory.  Once placed,
  * no aditional actions are taken.
  * no aditional actions are taken.
@@ -604,10 +604,10 @@ int boot_get_setup_fit(bootm_headers_t *images, uint8_t arch,
  * @param images	Boot images structure
  * @param images	Boot images structure
  * @param addr		Address of FIT in memory
  * @param addr		Address of FIT in memory
  * @param fit_unamep	On entry this is the requested image name
  * @param fit_unamep	On entry this is the requested image name
- *			(e.g. "kernel@1") or NULL to use the default. On exit
+ *			(e.g. "kernel") or NULL to use the default. On exit
  *			points to the selected image name
  *			points to the selected image name
  * @param fit_uname_configp	On entry this is the requested configuration
  * @param fit_uname_configp	On entry this is the requested configuration
- *			name (e.g. "conf@1") or NULL to use the default. On
+ *			name (e.g. "conf-1") or NULL to use the default. On
  *			exit points to the selected configuration name.
  *			exit points to the selected configuration name.
  * @param arch		Expected architecture (IH_ARCH_...)
  * @param arch		Expected architecture (IH_ARCH_...)
  * @param datap		Returns address of loaded image
  * @param datap		Returns address of loaded image
@@ -632,10 +632,10 @@ int boot_get_fdt_fit(bootm_headers_t *images, ulong addr,
  * @param images	Boot images structure
  * @param images	Boot images structure
  * @param addr		Address of FIT in memory
  * @param addr		Address of FIT in memory
  * @param fit_unamep	On entry this is the requested image name
  * @param fit_unamep	On entry this is the requested image name
- *			(e.g. "kernel@1") or NULL to use the default. On exit
+ *			(e.g. "kernel") or NULL to use the default. On exit
  *			points to the selected image name
  *			points to the selected image name
  * @param fit_uname_configp	On entry this is the requested configuration
  * @param fit_uname_configp	On entry this is the requested configuration
- *			name (e.g. "conf@1") or NULL to use the default. On
+ *			name (e.g. "conf-1") or NULL to use the default. On
  *			exit points to the selected configuration name.
  *			exit points to the selected configuration name.
  * @param arch		Expected architecture (IH_ARCH_...)
  * @param arch		Expected architecture (IH_ARCH_...)
  * @param image_type	Required image type (IH_TYPE_...). If this is
  * @param image_type	Required image type (IH_TYPE_...). If this is
@@ -658,25 +658,25 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
 /**
 /**
  * fit_get_node_from_config() - Look up an image a FIT by type
  * fit_get_node_from_config() - Look up an image a FIT by type
  *
  *
- * This looks in the selected conf@ node (images->fit_uname_cfg) for a
+ * This looks in the selected conf- node (images->fit_uname_cfg) for a
  * particular image type (e.g. "kernel") and then finds the image that is
  * particular image type (e.g. "kernel") and then finds the image that is
  * referred to.
  * referred to.
  *
  *
  * For example, for something like:
  * For example, for something like:
  *
  *
  * images {
  * images {
- *	kernel@1 {
+ *	kernel {
  *		...
  *		...
  *	};
  *	};
  * };
  * };
  * configurations {
  * configurations {
- *	conf@1 {
- *		kernel = "kernel@1";
+ *	conf-1 {
+ *		kernel = "kernel";
  *	};
  *	};
  * };
  * };
  *
  *
  * the function will return the node offset of the kernel@1 node, assuming
  * the function will return the node offset of the kernel@1 node, assuming
- * that conf@1 is the chosen configuration.
+ * that conf-1 is the chosen configuration.
  *
  *
  * @param images	Boot images structure
  * @param images	Boot images structure
  * @param prop_name	Property name to look up (FIT_..._PROP)
  * @param prop_name	Property name to look up (FIT_..._PROP)
@@ -1022,10 +1022,10 @@ int fit_conf_get_node(const void *fit, const char *conf_uname);
  * @noffset:	Offset of conf@xxx node to check
  * @noffset:	Offset of conf@xxx node to check
  * @prop_name:	Property to read from the conf node
  * @prop_name:	Property to read from the conf node
  *
  *
- * The conf@ nodes contain references to other nodes, using properties
- * like 'kernel = "kernel@1"'. Given such a property name (e.g. "kernel"),
+ * The conf- nodes contain references to other nodes, using properties
+ * like 'kernel = "kernel"'. Given such a property name (e.g. "kernel"),
  * return the offset of the node referred to (e.g. offset of node
  * return the offset of the node referred to (e.g. offset of node
- * "/images/kernel@1".
+ * "/images/kernel".
  */
  */
 int fit_conf_get_prop_node(const void *fit, int noffset,
 int fit_conf_get_prop_node(const void *fit, int noffset,
 		const char *prop_name);
 		const char *prop_name);

+ 15 - 0
test/run

@@ -17,6 +17,21 @@ run_test ./test/py/test.py --bd sandbox_spl --build -k \
 # Run tests for the flat DT version of sandbox
 # Run tests for the flat DT version of sandbox
 ./test/py/test.py --bd sandbox_flattree --build
 ./test/py/test.py --bd sandbox_flattree --build
 
 
+DTC_DIR=build-sandbox_spl/scripts/dtc
+
+PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \
+	./tools/binman/binman -t
+run_test ./tools/patman/patman --test
+run_test ./tools/buildman/buildman -t
+PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test ./tools/dtoc/dtoc -t
+
+# This needs you to set up Python test coverage tools.
+# To enable Python test coverage on Debian-type distributions (e.g. Ubuntu):
+#   $ sudo apt-get install python-pip python-pytest
+#   $ sudo pip install coverage
+PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \
+	./tools/binman/binman -T
+
 if [ $result == 0 ]; then
 if [ $result == 0 ]; then
 	echo "Tests passed!"
 	echo "Tests passed!"
 else
 else

+ 4 - 0
tools/binman/README

@@ -536,6 +536,10 @@ entry contents.
 Most of the time such essoteric behaviour is not needed, but it can be
 Most of the time such essoteric behaviour is not needed, but it can be
 essential for complex images.
 essential for complex images.
 
 
+If you need to specify a particular device-tree compiler to use, you can define
+the DTC environment variable. This can be useful when the system dtc is too
+old.
+
 
 
 History / Credits
 History / Credits
 -----------------
 -----------------

+ 2 - 1
tools/dtoc/fdt_util.py

@@ -79,7 +79,8 @@ def EnsureCompiled(fname):
             '-W', 'no-unit_address_vs_reg']
             '-W', 'no-unit_address_vs_reg']
     args.extend(search_list)
     args.extend(search_list)
     args.append(dts_input)
     args.append(dts_input)
-    command.Run('dtc', *args)
+    dtc = os.environ.get('DTC') or 'dtc'
+    command.Run(dtc, *args)
     return dtb_output
     return dtb_output
 
 
 def GetInt(node, propname, default=None):
 def GetInt(node, propname, default=None):

+ 12 - 12
tools/fit_image.c

@@ -185,7 +185,7 @@ static void get_basename(char *str, int size, const char *fname)
  * fit_write_images() - Write out a list of images to the FIT
  * fit_write_images() - Write out a list of images to the FIT
  *
  *
  * We always include the main image (params->datafile). If there are device
  * We always include the main image (params->datafile). If there are device
- * tree files, we include an fdt@ node for each of those too.
+ * tree files, we include an fdt- node for each of those too.
  */
  */
 static int fit_write_images(struct image_tool_params *params, char *fdt)
 static int fit_write_images(struct image_tool_params *params, char *fdt)
 {
 {
@@ -199,7 +199,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
 
 
 	/* First the main image */
 	/* First the main image */
 	typename = genimg_get_type_short_name(params->fit_image_type);
 	typename = genimg_get_type_short_name(params->fit_image_type);
-	snprintf(str, sizeof(str), "%s@1", typename);
+	snprintf(str, sizeof(str), "%s-1", typename);
 	fdt_begin_node(fdt, str);
 	fdt_begin_node(fdt, str);
 	fdt_property_string(fdt, "description", params->imagename);
 	fdt_property_string(fdt, "description", params->imagename);
 	fdt_property_string(fdt, "type", typename);
 	fdt_property_string(fdt, "type", typename);
@@ -225,7 +225,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
 	for (cont = params->content_head; cont; cont = cont->next) {
 	for (cont = params->content_head; cont; cont = cont->next) {
 		if (cont->type != IH_TYPE_FLATDT)
 		if (cont->type != IH_TYPE_FLATDT)
 			continue;
 			continue;
-		snprintf(str, sizeof(str), "%s@%d", FIT_FDT_PROP, ++upto);
+		snprintf(str, sizeof(str), "%s-%d", FIT_FDT_PROP, ++upto);
 		fdt_begin_node(fdt, str);
 		fdt_begin_node(fdt, str);
 
 
 		get_basename(str, sizeof(str), cont->fname);
 		get_basename(str, sizeof(str), cont->fname);
@@ -243,7 +243,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
 
 
 	/* And a ramdisk file if available */
 	/* And a ramdisk file if available */
 	if (params->fit_ramdisk) {
 	if (params->fit_ramdisk) {
-		fdt_begin_node(fdt, FIT_RAMDISK_PROP "@1");
+		fdt_begin_node(fdt, FIT_RAMDISK_PROP "-1");
 
 
 		fdt_property_string(fdt, "type", FIT_RAMDISK_PROP);
 		fdt_property_string(fdt, "type", FIT_RAMDISK_PROP);
 		fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os));
 		fdt_property_string(fdt, "os", genimg_get_os_short_name(params->os));
@@ -277,41 +277,41 @@ static void fit_write_configs(struct image_tool_params *params, char *fdt)
 	int upto;
 	int upto;
 
 
 	fdt_begin_node(fdt, "configurations");
 	fdt_begin_node(fdt, "configurations");
-	fdt_property_string(fdt, "default", "conf@1");
+	fdt_property_string(fdt, "default", "conf-1");
 
 
 	upto = 0;
 	upto = 0;
 	for (cont = params->content_head; cont; cont = cont->next) {
 	for (cont = params->content_head; cont; cont = cont->next) {
 		if (cont->type != IH_TYPE_FLATDT)
 		if (cont->type != IH_TYPE_FLATDT)
 			continue;
 			continue;
 		typename = genimg_get_type_short_name(cont->type);
 		typename = genimg_get_type_short_name(cont->type);
-		snprintf(str, sizeof(str), "conf@%d", ++upto);
+		snprintf(str, sizeof(str), "conf-%d", ++upto);
 		fdt_begin_node(fdt, str);
 		fdt_begin_node(fdt, str);
 
 
 		get_basename(str, sizeof(str), cont->fname);
 		get_basename(str, sizeof(str), cont->fname);
 		fdt_property_string(fdt, "description", str);
 		fdt_property_string(fdt, "description", str);
 
 
 		typename = genimg_get_type_short_name(params->fit_image_type);
 		typename = genimg_get_type_short_name(params->fit_image_type);
-		snprintf(str, sizeof(str), "%s@1", typename);
+		snprintf(str, sizeof(str), "%s-1", typename);
 		fdt_property_string(fdt, typename, str);
 		fdt_property_string(fdt, typename, str);
 
 
 		if (params->fit_ramdisk)
 		if (params->fit_ramdisk)
 			fdt_property_string(fdt, FIT_RAMDISK_PROP,
 			fdt_property_string(fdt, FIT_RAMDISK_PROP,
-					    FIT_RAMDISK_PROP "@1");
+					    FIT_RAMDISK_PROP "-1");
 
 
-		snprintf(str, sizeof(str), FIT_FDT_PROP "@%d", upto);
+		snprintf(str, sizeof(str), FIT_FDT_PROP "-%d", upto);
 		fdt_property_string(fdt, FIT_FDT_PROP, str);
 		fdt_property_string(fdt, FIT_FDT_PROP, str);
 		fdt_end_node(fdt);
 		fdt_end_node(fdt);
 	}
 	}
 
 
 	if (!upto) {
 	if (!upto) {
-		fdt_begin_node(fdt, "conf@1");
+		fdt_begin_node(fdt, "conf-1");
 		typename = genimg_get_type_short_name(params->fit_image_type);
 		typename = genimg_get_type_short_name(params->fit_image_type);
-		snprintf(str, sizeof(str), "%s@1", typename);
+		snprintf(str, sizeof(str), "%s-1", typename);
 		fdt_property_string(fdt, typename, str);
 		fdt_property_string(fdt, typename, str);
 
 
 		if (params->fit_ramdisk)
 		if (params->fit_ramdisk)
 			fdt_property_string(fdt, FIT_RAMDISK_PROP,
 			fdt_property_string(fdt, FIT_RAMDISK_PROP,
-					    FIT_RAMDISK_PROP "@1");
+					    FIT_RAMDISK_PROP "-1");
 
 
 		fdt_end_node(fdt);
 		fdt_end_node(fdt);
 	}
 	}

+ 5 - 5
tools/image-host.c

@@ -270,16 +270,16 @@ static int fit_image_process_sig(const char *keydir, void *keydest,
  *
  *
  * Input component image node structure:
  * Input component image node structure:
  *
  *
- * o image@1 (at image_noffset)
+ * o image-1 (at image_noffset)
  *   | - data = [binary data]
  *   | - data = [binary data]
- *   o hash@1
+ *   o hash-1
  *     |- algo = "sha1"
  *     |- algo = "sha1"
  *
  *
  * Output component image node structure:
  * Output component image node structure:
  *
  *
- * o image@1 (at image_noffset)
+ * o image-1 (at image_noffset)
  *   | - data = [binary data]
  *   | - data = [binary data]
- *   o hash@1
+ *   o hash-1
  *     |- algo = "sha1"
  *     |- algo = "sha1"
  *     |- value = sha1(data)
  *     |- value = sha1(data)
  *
  *
@@ -321,7 +321,7 @@ int fit_image_add_verification_data(const char *keydir, void *keydest,
 		/*
 		/*
 		 * Check subnode name, must be equal to "hash" or "signature".
 		 * Check subnode name, must be equal to "hash" or "signature".
 		 * Multiple hash nodes require unique unit node
 		 * Multiple hash nodes require unique unit node
-		 * names, e.g. hash@1, hash@2, signature@1, etc.
+		 * names, e.g. hash-1, hash-2, signature-1, etc.
 		 */
 		 */
 		node_name = fit_get_name(fit, noffset, NULL);
 		node_name = fit_get_name(fit, noffset, NULL);
 		if (!strncmp(node_name, FIT_HASH_NODENAME,
 		if (!strncmp(node_name, FIT_HASH_NODENAME,