im8mn: Loading U-Boot via serial download mode

Adam Ford aford173 at gmail.com
Wed Apr 20 21:48:55 CEST 2022


On Wed, Apr 20, 2022 at 2:40 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> Hi Adam,
>
> Looking at your imx8mn beacon patches, it seems you managed to boot
> the imx8mn beacon board via serial download mode.
>
> I am trying to achieve the same on an imx8mn-evk running top of tree
> U-Boot and added the following changes:
>
> --- a/configs/imx8mn_evk_defconfig
> +++ b/configs/imx8mn_evk_defconfig
> @@ -50,11 +50,22 @@ CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
>  CONFIG_CMD_CACHE=y
> +CONFIG_USB=y
> +# CONFIG_SPL_DM_USB is not set
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_MANUFACTURER="FSL"
> +CONFIG_USB_GADGET_VENDOR_NUM=0x0525
> +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
> +CONFIG_CI_UDC=y
> +CONFIG_SDP_LOADADDR=0x0
> +CONFIG_OF_LIBFDT_OVERLAY=y
>  CONFIG_CMD_REGULATOR=y
>  CONFIG_CMD_EXT4_WRITE=y
>  CONFIG_OF_CONTROL=y
>  CONFIG_SPL_OF_CONTROL=y
>  CONFIG_ENV_OVERWRITE=y
> +CONFIG_ENV_IS_NOWHERE=y
>  CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>
> Then I put the board into serial download mode and I run:
>
> $ sudo uuu flash.bin
>
> The following output appears on the console:
>
> U-Boot SPL 2022.04-00856-g246e03476ba3-dirty (Apr 20 2022 - 16:24:48 -0300)
> SEC0:  RNG instantiated
> Normal Boot
> WDT:   Started watchdog at 30280000 with servicing (60s timeout)
> Trying to boot from BOOTROM
> Find img info 0x&48020a00, size 872
> Need continue download 1024
> Download 694696, Total size 696232
> NOTICE:  BL31: v2.2(release):rel_imx_5.4.47_2.2.0-0-gc949a888e909
> NOTICE:  BL31: Built : 16:07:45, Apr 20 2022
>
> What would be the other uuu command that needs to be run so that
> U-Boot proper can be loaded?

I had to set the environmental variable for ENV is nowhere.  There was
a bunch of discussion about the fact that the 8MN and 8MP have some
special code which makes the environmental variable location depend on
the boot device.  A few of us went a few rounds, but Marek didn't like
our solution.

Set CONFIG_ENV_IS_NOWHERE=y and rebuild.  It will likely boot.

adam
>
> Thanks,
>
> Fabio Estevam


More information about the U-Boot mailing list