[U-Boot] [PATCH] arm: socfpga: improve raw MMC SPL boot

Sylvain Lesne lesne at alse-fr.com
Wed Jun 1 11:14:54 CEST 2016


Before this patch, when booting from MMC (no filesystem), the SPL
loaded U-Boot from a fixed offset.
It will now load U-Boot from an offset of 256kB (which is 4 times the
padded SPL image) in the third partition.

This behaviour is similar to what the vendor SPL (based on
U-Boot 2013.01) does, and allows to directly 'dd' the
u-boot-with-spl.sfp file to the A2 partition.

Signed-off-by: Sylvain Lesne <lesne at alse-fr.com>
---

As discussed previously, this change relies on a tiny sprintf()
implementation to be provided to be able to build and boot correctly.

Also, I removed CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS, but I plan to
send a patch removing this obsolete define from all the configs,
so there might be a merge conflict, sorry...

I completely missed a previous occurrence of this problem
(http://lists.denx.de/pipermail/u-boot/2016-May/254492.html), so I'm
adding the previous reporter as Cc.

 include/configs/socfpga_common.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index f657766..e5972e6 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -349,9 +349,9 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot-dtb.img"
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #else
-#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	3
-#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0xa00 /* offset 2560 sect (1M+256k) */
-#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	800 /* 400 KB */
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION	3
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0x200 /* offset 512 sect (256k) */
+#define CONFIG_SPL_LIBDISK_SUPPORT
 #endif
 #endif
 
-- 
1.9.1



More information about the U-Boot mailing list