
Hi all
I have some problems that I have understood and fixed but I can not explain. Right now I have on imx8mn that can boot from boot0 or boot1 partition after remove a condition in the is_boot_from_stream_device
This is a boot from mmcblk0boot0 with some debug
U-Boot SPL 2020.04-5.4.70-2.3.2+gf3bcbdfc62 (Jul 03 2021 - 17:00:27 +0000) power_bd71837_init DDRINFO: start DRAM init DDRINFO: DRAM rate 1600MTS DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done Normal Boot Trying to boot from BOOTROM ROM API interface 2 from boot 131073
Interface is 2 MMC and boot is 131073 and according to this
static int is_boot_from_stream_device(u32 boot) +{ + u32 interface; + + interface = boot >> 16; + if (interface >= BT_DEV_TYPE_USB) + return 1; + + if (interface == BT_DEV_TYPE_MMC && (boot & 1)) + return 1; + + return 0; +}
means a stream interface but it does not boot.
Boot from boot1 give 131072 that is boot1 this let device boot because is_boot_from_stream_device is 0 and romapi use spl_romapi_load_image_seekable
Remove boot & 1 condition let me boot from mmcblk0boot0 and mmcblk0boot1 without any problem
mmc partconf 0 EXT_CSD[179], PARTITION_CONFIG: BOOT_ACK: 0x0 BOOT_PARTITION_ENABLE: 0x1 PARTITION_ACCESS: 0x0
and the board was fused already.
Any idea why?
Michael