
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.
- 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.
- 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 ?