From f1dcee59a2afc4cf39699eef7631edbff8693933 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 22 Feb 2016 22:55:56 -0700 Subject: spl: Add an option to load a FIT containing U-Boot This provides a way to load a FIT containing U-Boot and a selection of device tree files. The board can select the correct device tree by probing the hardware. Then U-Boot is started with the selected device tree. Signed-off-by: Simon Glass --- include/image.h | 2 +- include/spl.h | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/image.h b/include/image.h index 0605280c209..f9ee5649c54 100644 --- a/include/image.h +++ b/include/image.h @@ -780,7 +780,6 @@ int bootz_setup(ulong image, ulong *start, ulong *end); /*******************************************************************/ /* New uImage format specific code (prefixed with fit_) */ /*******************************************************************/ -#if IMAGE_ENABLE_FIT #define FIT_IMAGES_PATH "/images" #define FIT_CONFS_PATH "/configurations" @@ -813,6 +812,7 @@ int bootz_setup(ulong image, ulong *start, ulong *end); #define FIT_MAX_HASH_LEN HASH_MAX_DIGEST_SIZE +#if IMAGE_ENABLE_FIT /* cmdline argument format parsing */ int fit_parse_conf(const char *spec, ulong addr_curr, ulong *addr, const char **conf_name); diff --git a/include/spl.h b/include/spl.h index 92cdc049d45..16f2f6a9ee7 100644 --- a/include/spl.h +++ b/include/spl.h @@ -29,6 +29,24 @@ struct spl_image_info { u32 flags; }; +/* + * Information required to load data from a device + * + * @dev: Pointer to the device, e.g. struct mmc * + * @priv: Private data for the device + * @bl_len: Block length for reading in bytes + * @read: Function to call to read from the device + */ +struct spl_load_info { + void *dev; + void *priv; + int bl_len; + ulong (*read)(struct spl_load_info *load, ulong sector, ulong count, + void *buf); +}; + +int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fdt); + #define SPL_COPY_PAYLOAD_ONLY 1 extern struct spl_image_info spl_image; -- cgit v1.2.3