summaryrefslogtreecommitdiff
path: root/include/spl.h
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2016-05-24 10:34:38 +0530
committerKlaus Goger <klaus.goger@theobroma-systems.com>2016-09-18 20:22:04 +0200
commite72c68614e9c77e0d46b18d7ec24cbda07b34c5a (patch)
tree9cc66b22e20fdfe3e3f54a64db5f8234303f0802 /include/spl.h
parent73afdc168b2e8958df8d2972d8ccd82be892749d (diff)
spl: Allow to load a FIT containing U-Boot from FS
This provides a way to load a FIT containing U-Boot and a selection of device tree files from a File system. Making sure that all the reads and writes are aligned to their respective needs. Tested-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> [trini: Make this still apply with Michal's alignment change for 'fit'] Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/spl.h')
-rw-r--r--include/spl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/spl.h b/include/spl.h
index de4f70a377..af02a6de9a 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -35,16 +35,28 @@ struct spl_image_info {
* @dev: Pointer to the device, e.g. struct mmc *
* @priv: Private data for the device
* @bl_len: Block length for reading in bytes
+ * @filename: Name of the fit image file.
* @read: Function to call to read from the device
*/
struct spl_load_info {
void *dev;
void *priv;
int bl_len;
+ const char *filename;
ulong (*read)(struct spl_load_info *load, ulong sector, ulong count,
void *buf);
};
+/**
+ * spl_load_simple_fit() - Loads a fit image from a device.
+ * @info: Structure containing the information required to load data.
+ * @sector: Sector number where FIT image is located in the device
+ * @fdt: Pointer to the copied FIT header.
+ *
+ * Reads the FIT image @sector in the device. Loads u-boot image to
+ * specified load address and copies the dtb to end of u-boot image.
+ * Returns 0 on success.
+ */
int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fdt);
#define SPL_COPY_PAYLOAD_ONLY 1