imx-boot issue

firmware: Apalis-iMX8_Console-Image-Tezi_3.0b4.254 2020-04-21

board: Apalis iMX8QM 4GB WB V1.0B

Our company has used Apalis iMX8QM 4GB WB V1.0B to develop a product, and shipped several samples to customers. The product needs firmware use gpio to load fpga bit file to a xilinx fpga chip after linux boot-up, then firmware will run reboot command to do a soft reboot, finally linux kernal will find our pcie device on fpga. For this means, linux will boot twice, first time fpga will be configured, second time linux will find pcie device.

Recent days, we bought some Apalis iMX8QM 4GB IT V1.1B boards because we really do not need wifi. However after I burned my firmware into these new boards via easy installer, I found the boards can not boot up. I realized the old imx-boot can not work on the new boards, because I can not see anything on debug uart port. Then I download Apalis-iMX8_Console-Image-Tezi_4.0.0-devel-202008+build.6.tar, and used the new imx-boot file in my firmware, finally it works.

However, this new imx-boot causes another serious issue. I found at the second boot-up, linux can not find pcie device. We only replaced imx-boot file, so definitely it causes this issue. My colleague found imx8 cpu board pin 24 POWER_ENABLE_MOCI reset fpga circuit. I wonder why a soft reboot needs to generate a reset signal and clear everything, is it an issue?

Then I tried imx-boot 200207 version, I found it can not work on new board. then the new feature or issue begins to appear on 202008 version.

How can I solve this issue for new cpu boards?

  • Maybe we can wait your company to offer new version if you think this is an issue.
  • or, Can you tell me how to downgrade to the old version for the new cpu board. Then our current boards and future boards have the same version, and I do not need to worry future boards will not work. I think I need to update the factory section. If possible, please tell me a safe way.
  • or, hack linux kernel to support rescan pcie devices. Actually I did it in my first firmware version which can find pcie device and do not need reboot. However the new hack code causes another serious issue, I do not time to fix it and have to give up temporarily. If your new version supports pcie rescan, that’s great, I only need load fpga bit file, then rescan to find pcie device, do not need reboot.

can you do me a favour quickly? we already ran out of our old cpu boards.

thanks.

Hi @wen_jian_1973

Thanks for writing to the Toradex Community!

Could you install the latest Bsp 5.0 nightly Build from CI-Feeds and check if the issue is still present?

Thanks and best regards,
Jaski

no, they do not work.

I tried : Apalis-iMX8_Reference-Minimal-Image-Tezi_5.0.0-devel-202009+build.2.tar

this does not work, still can not find my pcie device after reboot.

I tried : Apalis-iMX8_Reference-Minimal-Image-Tezi_5.0.0-devel-20200929+build.82.zip

This uboot can not boot up on my board Apalis IMX8QM 4GB IT v1.1b. I do not know if I should set some variables in uboot.

U-Boot 2020.04-5.0.0-devel+git.5b7dc2732868 (Sep 28 2020 - 08:15:42 +0000)

CPU:   NXP i.MX8QM RevB A53 at 1200 MHz

DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB IT V1.1B, Serial# 06738597

 BuildInfo:
  - SCFW 732e719a, SECO-FW 376e3c15, IMX-MKIMAGE 6745ccdc, ATF
  - U-Boot 2020.04-5.0.0-devel+git.5b7dc2732868

switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
MMC: no card present
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3655 bytes read in 16 ms (222.7 KiB/s)
## Executing script at 83100000
102464 bytes read in 22 ms (4.4 MiB/s)
Loading hdp firmware from 0x000000009c000000 offset 0x0000000000002000
Loading hdp firmware Complete
162623 bytes read in 30 ms (5.2 MiB/s)
14 bytes read in 19 ms (0 Bytes/s)
SCRIPT FAILED: continuing...
Found U-Boot script /boot.scr
3655 bytes read in 16 ms (222.7 KiB/s)
## Executing script at 83100000
102464 bytes read in 22 ms (4.4 MiB/s)
Loading hdp firmware from 0x000000009c000000 offset 0x0000000000002000
Loading hdp firmware Complete
162623 bytes read in 30 ms (5.2 MiB/s)
14 bytes read in 19 ms (0 Bytes/s)
SCRIPT FAILED: continuing...
162623 bytes read in 31 ms (5 MiB/s)
starting USB...
Bus usb@5b0d0000: usb dr_mode not found
Port not available.
Bus usbh3: XHCI-imx8 init hccr 0x000000005b130000 and hcor 0x000000005b130080 hc_length 128
Register 2000820 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usbh3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11

@wen_jian_1973
for the Apalis-iMX8_Reference-Minimal-Image-Tezi_5.0.0-devel-20200929+build.82.zip build just try to reset U-Boot env, it should boot issue. Execute these commands in U-Boot shell:

env default -a; saveenv; reset

We checked our circuit today, We found PIN 185 is float after power on, this causes our circuit unstable. This is not uboot issue, we will fix our circuit.

thanks

Thank you for update.