From 3a3b9147892cb47f96dff1075f1494dca17b6eaf Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Tue, 10 May 2016 07:54:20 +0200 Subject: spl: Introduce new function spl_board_prepare_for_boot Call this function before passing control from SPL. For fpga case it is necessary to enable for example level shifters when bitstream is programmed. Signed-off-by: Michal Simek Reviewed-by: Simon Glass --- include/spl.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/spl.h') diff --git a/include/spl.h b/include/spl.h index 7edfab46dcd..335b76a1b15 100644 --- a/include/spl.h +++ b/include/spl.h @@ -58,6 +58,7 @@ u32 spl_boot_mode(void); void spl_set_header_raw_uboot(void); int spl_parse_image_header(const struct image_header *header); void spl_board_prepare_for_linux(void); +void spl_board_prepare_for_boot(void); void __noreturn jump_to_image_linux(void *arg); int spl_start_uboot(void); void spl_display_print(void); -- cgit v1.2.3 From eafd5410af2ade58f25da707edaba85e44999621 Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Tue, 24 May 2016 10:34:38 +0530 Subject: 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 Reviewed-by: Simon Glass Reviewed-by: Tom Rini Signed-off-by: Lokesh Vutla [trini: Make this still apply with Michal's alignment change for 'fit'] Signed-off-by: Tom Rini --- include/spl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include/spl.h') diff --git a/include/spl.h b/include/spl.h index 335b76a1b15..0ae160547d1 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 -- cgit v1.2.3