summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2016-05-24 10:34:38 +0530
committerTom Rini <trini@konsulko.com>2016-05-27 15:41:39 -0400
commiteafd5410af2ade58f25da707edaba85e44999621 (patch)
tree4fd4a6005666b33307b2d8ce35b3bb0cbcd915d1 /include
parent4d9d34a7f280ba0e14896d4157ede677899f83a2 (diff)
downloadu-boot-eafd5410af2ade58f25da707edaba85e44999621.tar.gz
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')
-rw-r--r--include/spl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/spl.h b/include/spl.h
index 335b76a1b1..0ae160547d 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