On 3/23/22 03:42, Ye Li wrote:
Hi Marek,
Hi,
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-
imx/spl_imx_romapi.c
index d827de375a6..c47f5a6bdb4 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -38,14 +38,8 @@ ulong spl_romapi_raw_seekable_read(u32 offset,
u32
size, void *buf)
ulong __weak spl_romapi_get_uboot_base(u32 image_offset, u32
rom_bt_dev)
{
- u32 offset;
-
- if (((rom_bt_dev >> 16) & 0xff)
== BT_DEV_TYPE_FLEXSPINOR)
- offset = CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
*
512;
- else
- offset = image_offset +
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 - 0x8000;
-
- return offset;
+ return image_offset +
+ (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512 -
0x8000);
}
The change is problematic to flexspi.
Yes, I need this change to get boot from flexspi working on i.MX8MP,
without this change writing flash.bin to flexspi results in
unbootable
system.
To support boot from flexspi, please try another two changes.
1. Modify board/freescale/imx8mp_evk/imximage-8mp-lpddr4.cfg, set
"BOOT_FROM" to "fspi". (This change is unnecessary on 8MP after
switch to binman)
I already use binman and I need to be able to boot from both SD and
FlexSPI, with this patch I can do just that.
2. Update the u-boot.itb offset in imx8mp-u-boot.dtsi, set the offset
to 0x5f000. The previous offset 0x58000 is for SD, calculated by
0x60000 - 0x8000 (32KB image offset).
uboot: blob-ext@2 {
filename = "u-boot.itb";
offset = <0x5f000>;
};
But that breaks booting from SD card for me ?