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>
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 @@
 	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;