arch: arm: mach-socfpga: Adjust a raw sectors for MMC loading of U-Boot from SPL
If U-Boot is located on MMC, SPL and U-Boot proper are glued together. More precisely, SPL is stored 4 times. Take this and its padding into account and adjust sector number via board_spl_mmc_get_uboot_raw_sector. This allows loading from a partition, without the need to hard-code the offset via SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
This commit is contained in:
committed by
Tien Fong Chee
parent
62584916c9
commit
1cf1b504f4
@@ -14,6 +14,7 @@
|
||||
#include <hang.h>
|
||||
#include <handoff.h>
|
||||
#include <image.h>
|
||||
#include <spl.h>
|
||||
#include <usb.h>
|
||||
#include <usb/dwc2_udc.h>
|
||||
#include <asm/global_data.h>
|
||||
@@ -209,3 +210,13 @@ void lmb_arch_add_memory(void)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (defined(CONFIG_TARGET_SOCFPGA_ARRIA10) || \
|
||||
defined(CONFIG_TARGET_SOCFPGA_GEN5)) && defined(CONFIG_XPL_BUILD)
|
||||
unsigned long board_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
|
||||
unsigned long raw_sect)
|
||||
{
|
||||
/* offset of u-boot proper inside u-boot-with-spl.sfp image */
|
||||
return (CONFIG_SPL_PAD_TO * 4) / 512 + raw_sect;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user