Serial Download Boot on i.MX8MN EVK Board

Hi all,
We are trying to boot our i.MX8MNano UltraLite DDR3L EVK via USB using Serial Download Mode. We are using u-boot v2022.04-rc3 with patches to support DDR3L memory on this eval system.
ATF firmware used is built using imx_5.4.47_2.2.0 branch of imx-atf firmware. In addition we are using ddr3_[di]mem_1d_201810.bin DDR training images from firmware-imx-8.10 package.
When copying the resulting flash.bin image on SD card or eMMC, the board is booting fine to linux prompt. But when trying to boot that same image via USB when the board is in Serial Download Mode, the board hangs up when ATF firmware (bl31.bin) has finished (I have added some debug prints to BL31 to verify this).
Are the DDR4/LPDDR4 variants of the i.MX8MNano eval kit known to boot in serial download mode?
Best regards, Thomas
Thomas Schäfer SW Design Engineer
Kontron Europe GmbH Heinrich-Barth-Straße 1-1a | 66115 Saarbrücken | Germany thomas.schaefer@kontron.com

Hi Thomas,
On Mon, May 30, 2022 at 9:01 AM Thomas Schaefer Thomas.Schaefer@kontron.com wrote:
Hi all,
We are trying to boot our i.MX8MNano UltraLite DDR3L EVK via USB using Serial Download Mode. We are using u-boot v2022.04-rc3 with patches to support DDR3L memory on this eval system.
Do you mean 2022.04-rc3 or 2022.07-rc3?
2022.07-rc3 has the following commit that allows booting imx8mn evk ddr4/lpdd4 via USB download mode: https://source.denx.de/u-boot/u-boot/-/commit/d175982c207bb2ace592d7985cd3f0...
ATF firmware used is built using imx_5.4.47_2.2.0 branch of imx-atf firmware.
I am using the NXP lf_v2.4 branch instead.
In addition we are using ddr3_[di]mem_1d_201810.bin DDR training images from firmware-imx-8.10 package.
When copying the resulting flash.bin image on SD card or eMMC, the board is booting fine to linux prompt. But when trying to boot that same image via USB when the board is in Serial Download Mode, the board hangs up when ATF firmware (bl31.bin) has finished (I have added some debug prints to BL31 to verify this).
Are the DDR4/LPDDR4 variants of the i.MX8MNano eval kit known to boot in serial download mode?
Yes, I confirm these variants boot fine via "uuu flash.bin".
Regards,
Fabio Estevam

Hi Fabio,
Hi Thomas,
On Mon, May 30, 2022 at 9:01 AM Thomas Schaefer Thomas.Schaefer@kontron.com wrote:
Hi all,
We are trying to boot our i.MX8MNano UltraLite DDR3L EVK via USB using Serial Download Mode. We are using u-boot v2022.04-rc3 with patches to support DDR3L memory on this eval system.
Do you mean 2022.04-rc3 or 2022.07-rc3?
Actually I'm working on v2022.04-rc3 right now. We are waiting for Heiko's patch series for i.MX8MN DDR3L EVK support (https://patchwork.ozlabs.org/project/uboot/patch/20220415183558.149447-1-hei...) to be merged into mainline.
2022.07-rc3 has the following commit that allows booting imx8mn evk ddr4/lpdd4 via USB download mode: https://source.denx.de/u-boot/u-boot/-/commit/d175982c207bb2ace592d7985cd3f0...
But anyway, the patch above is the missing piece, now the DDR3L EVK boots fine over USB.
ATF firmware used is built using imx_5.4.47_2.2.0 branch of imx-atf firmware.
I am using the NXP lf_v2.4 branch instead.
We are using NXP imx_5.4.47_2.2.0 branch because it is documented this way in the board docs. Is there a reason why you prefer lf_v2.4 ?
In addition we are using ddr3_[di]mem_1d_201810.bin DDR training images from firmware-imx-8.10 package.
When copying the resulting flash.bin image on SD card or eMMC, the board is booting fine to linux prompt. But when trying to boot that same image via USB when the board is in Serial Download Mode, the board hangs up when ATF firmware (bl31.bin) has finished (I have added some debug prints to BL31 to verify this).
Are the DDR4/LPDDR4 variants of the i.MX8MNano eval kit known to boot in serial download mode?
Yes, I confirm these variants boot fine via "uuu flash.bin".
Regards,
Fabio Estevam
Thanks a lot for your help, Thomas

Hi Thomas,
On Mon, May 30, 2022 at 9:50 AM Thomas Schaefer Thomas.Schaefer@kontron.com wrote:
But anyway, the patch above is the missing piece, now the DDR3L EVK boots fine over USB.
Ok, great.
I am using the NXP lf_v2.4 branch instead.
We are using NXP imx_5.4.47_2.2.0 branch because it is documented this way in the board docs. Is there a reason why you prefer lf_v2.4 ?
Yes, lf_v2.4 allows passing the IMX_BOOT_UART_BASE as a build parameter.
Passing IMX_BOOT_UART_BASE is not needed for imx8mn-evk, but other boards need to specify it so that a different UART port can be used by TF-A.
Regards,
Fabio Estevam
participants (2)
-
Fabio Estevam
-
Thomas Schaefer