summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-02-23 05:55:56 (GMT)
committerTom Rini <trini@konsulko.com>2016-03-14 23:18:30 (GMT)
commitf1dcee59a2afc4cf39699eef7631edbff8693933 (patch)
tree495ae6e880875227e816aac1517f32e6ddea663b /include
parent4b307f2387da95d3b91f1fef8c5b6dc2108ddb4d (diff)
downloadu-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.h2
-rw-r--r--include/spl.h18
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;