diff options
author | Simon Glass <sjg@chromium.org> | 2016-02-23 05:55:56 (GMT) |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-03-14 23:18:30 (GMT) |
commit | f1dcee59a2afc4cf39699eef7631edbff8693933 (patch) | |
tree | 495ae6e880875227e816aac1517f32e6ddea663b /include | |
parent | 4b307f2387da95d3b91f1fef8c5b6dc2108ddb4d (diff) | |
download | u-boot-fsl-qoriq-f1dcee59a2afc4cf39699eef7631edbff8693933.tar.xz |
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 <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/image.h | 2 | ||||
-rw-r--r-- | include/spl.h | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/include/image.h b/include/image.h index 0605280..f9ee564 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 92cdc04..16f2f6a 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; |