arm: socfpga: improve raw MMC SPL boot
PATCH 1/1 arm: socfpga: improve raw MMC SPL boot
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.
---
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(-)
include/configs/socfpga_common.h +3 -3
@@ -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
Signature · 1 line
1.9.1
PATCH 1/1 arm: socfpga: improve raw MMC SPL boot
Quoted 10 lines · Sylvain Lesne
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 <[email protected]>
Looks fine, applied, thanks.
Quoted 34 lines
---
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(-)include/configs/socfpga_common.h +3
-3@@ -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
Signature · 2 lines
Best regards, Marek Vasut