mkimage: Report information about fpga

Add FIT_FPGA_PROP that user can identify an optional
entry for fpga.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
master
Michal Simek 8 years ago
parent 905bca6c2d
commit ed0cea7c52
  1. 4
      common/image-fit.c
  2. 1
      common/image.c
  3. 67
      doc/uImage.FIT/multi-with-fpga.its
  4. 3
      doc/uImage.FIT/source_file_format.txt
  5. 4
      include/image.h

@ -1483,6 +1483,10 @@ void fit_conf_print(const void *fit, int noffset, const char *p)
if (uname) if (uname)
printf("%s FDT: %s\n", p, uname); printf("%s FDT: %s\n", p, uname);
uname = (char *)fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL);
if (uname)
printf("%s FPGA: %s\n", p, uname);
/* Print out all of the specified loadables */ /* Print out all of the specified loadables */
for (loadables_index = 0; for (loadables_index = 0;
fdt_get_string_index(fit, noffset, fdt_get_string_index(fit, noffset,

@ -160,6 +160,7 @@ static const table_entry_t uimage_type[] = {
{ IH_TYPE_RKSPI, "rkspi", "Rockchip SPI Boot Image" }, { IH_TYPE_RKSPI, "rkspi", "Rockchip SPI Boot Image" },
{ IH_TYPE_ZYNQIMAGE, "zynqimage", "Xilinx Zynq Boot Image" }, { IH_TYPE_ZYNQIMAGE, "zynqimage", "Xilinx Zynq Boot Image" },
{ IH_TYPE_ZYNQMPIMAGE, "zynqmpimage", "Xilinx ZynqMP Boot Image" }, { IH_TYPE_ZYNQMPIMAGE, "zynqmpimage", "Xilinx ZynqMP Boot Image" },
{ IH_TYPE_FPGA, "fpga", "FPGA Image" },
{ -1, "", "", }, { -1, "", "", },
}; };

@ -0,0 +1,67 @@
/*
* U-Boot uImage source file with multiple kernels, ramdisks and FDT blobs
* This example makes use of the 'loadables' field
*/
/dts-v1/;
/ {
description = "Configuration to load fpga before Kernel";
#address-cells = <1>;
images {
fdt@1 {
description = "zc706";
data = /incbin/("/tftpboot/devicetree.dtb");
type = "flat_dt";
arch = "arm";
compression = "none";
load = <0x10000000>;
hash@1 {
algo = "md5";
};
};
fpga@1 {
description = "FPGA";
data = /incbin/("/tftpboot/download.bit");
type = "fpga";
arch = "arm";
compression = "none";
load = <0x30000000>;
hash@1 {
algo = "md5";
};
};
linux_kernel@1 {
description = "Linux";
data = /incbin/("/tftpboot/zImage");
type = "kernel";
arch = "arm";
os = "linux";
compression = "none";
load = <0x8000>;
entry = <0x8000>;
hash@1 {
algo = "md5";
};
};
};
configurations {
default = "config@2";
config@1 {
description = "Linux";
kernel = "linux_kernel@1";
fdt = "fdt@1";
};
config@2 {
description = "Linux with fpga";
kernel = "linux_kernel@1";
fdt = "fdt@1";
fpga = "fpga@1";
};
};
};

@ -236,6 +236,7 @@ o config@1
|- kernel = "kernel sub-node unit name" |- kernel = "kernel sub-node unit name"
|- ramdisk = "ramdisk sub-node unit name" |- ramdisk = "ramdisk sub-node unit name"
|- fdt = "fdt sub-node unit-name" |- fdt = "fdt sub-node unit-name"
|- fpga = "fpga sub-node unit-name"
|- loadables = "loadables sub-node unit-name" |- loadables = "loadables sub-node unit-name"
@ -251,6 +252,8 @@ o config@1
"fdt type"). "fdt type").
- setup : Unit name of the corresponding setup binary (used for booting - setup : Unit name of the corresponding setup binary (used for booting
an x86 kernel). This contains the setup.bin file built by the kernel. 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 - loadables : Unit name containing a list of additional binaries to be
loaded at their given locations. "loadables" is a comma-separated list 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.

@ -247,8 +247,9 @@ struct lmb;
#define IH_TYPE_RKSPI 25 /* Rockchip SPI image */ #define IH_TYPE_RKSPI 25 /* Rockchip SPI image */
#define IH_TYPE_ZYNQIMAGE 26 /* Xilinx Zynq Boot Image */ #define IH_TYPE_ZYNQIMAGE 26 /* Xilinx Zynq Boot Image */
#define IH_TYPE_ZYNQMPIMAGE 27 /* Xilinx ZynqMP Boot Image */ #define IH_TYPE_ZYNQMPIMAGE 27 /* Xilinx ZynqMP Boot Image */
#define IH_TYPE_FPGA 28 /* FPGA Image */
#define IH_TYPE_COUNT 28 /* Number of image types */ #define IH_TYPE_COUNT 29 /* Number of image types */
/* /*
* Compression Types * Compression Types
@ -810,6 +811,7 @@ int bootz_setup(ulong image, ulong *start, ulong *end);
#define FIT_LOADABLE_PROP "loadables" #define FIT_LOADABLE_PROP "loadables"
#define FIT_DEFAULT_PROP "default" #define FIT_DEFAULT_PROP "default"
#define FIT_SETUP_PROP "setup" #define FIT_SETUP_PROP "setup"
#define FIT_FPGA_PROP "fpga"
#define FIT_MAX_HASH_LEN HASH_MAX_DIGEST_SIZE #define FIT_MAX_HASH_LEN HASH_MAX_DIGEST_SIZE

Loading…
Cancel
Save