Problem on imx: add rom api support on imx8mn

Peng Fan (OSS) peng.fan at oss.nxp.com
Thu Jul 8 09:12:35 CEST 2021


On 2021/7/4 1:24, Michael Nazzareno Trimarchi wrote:
> 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

Who gives 131073? Boot from boot1, you mean emmc boot partition0?

> 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

Have you enabled emmc fastboot in fuse?

boot & 1 is checking emmc fastboot. emmc fastboot mode is actually
stream device. If fastboot mode enabled, you need burn your
flash.bin into offset 0. Not 32KB offset.

Regards,
Peng.

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


More information about the U-Boot mailing list