UART Failure after upgrading to 2.71.3+rev1 from 2.50.1+rev1 on Variscite IMX8M

If you tested and can confirm, then it’s a custom carrier board and it’s i2c eeprom contents should have a value that distinguishes it from the devkits rev1 and rev2. That can be used in u-boot to select an appropriate device-tree for it - i.e it’s possible to disable pcie in the device tree only on devices with DART_CARRIER_REV_UNDEF.

See:

@acostach unfortunately when i tried to use the latest version (both unmodified and modified as you have here) I seem to be getting stuck at a different spot:

U-Boot SPL 2020.04-imx_v2020.04_5.4.24_2.1.0_var02+ga7f6308395 (May 19 2021 - 15:25:54 +0000) Normal Boot Trying to boot from MMC1
U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0_var02+ga7f6308395 (May 19 2021 - 15:25:54 +0000)
CPU: i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 44C
Reset cause: POR
Model: Variscite DART-MX8M-MINI
DRAM: 2 GiB
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC… *** Warning - No block device, using default environment
In: serial
Out: serial
Err: serial
BuildInfo:

  • ATF 7575633
  • U-Boot 2020.04-imx_v2020.04_5.4.24_2.1.0_var02+ga7f6308395
    Part number: VSM-DT8MM-202A
    Assembly: AS2007154104
    Production date: 2020 Dec 09
    Serial Number: f8:dc:7a:52:88:81
    flash target is MMC:1
    MMC card init failed!
    ** Block device MMC 1 not supported
    Net: eth0: ethernet@30be0000
    Fastboot: Normal
    Normal Boot
    Hit any key to stop autoboot: 0
    Scanning mmc devices 0 1 2
    ERROR: Could not find a resin image of any sort.
    Loading resinOS_uEnv.txt from device partition 1
    Loading extra_uEnv.txt from device partition 1
    Loading bootcount.env from device partition 1
    No bootcount.env file. Setting bootcount=0 in environment
    ** Bad device specification :2 resin_root_part_uuid **
    gpio: pin 137 (gpio 137) value is 1
    MMC Device 0 not found
    no mmc device at slot 0
    MMC Device 0 not found
    no mmc device at slot 0 Bad Linux ARM64 Image magic!
    u-boot=>

Hi @anathan84 , in the logs you attached in UART Failure after upgrading to 2.71.3+rev1 from 2.50.1+rev1 on Variscite IMX8M - #78 by anathan84 u-boot finds the image as expected:

Found resin image on mmc 2
Loading resinOS_uEnv.txt from mmc device 2 partition 1
38 bytes read in 4 ms (8.8 KiB/s)
Import resinOS_uEnv.txt in environment
Loading extra_uEnv.txt from mmc device 2 partition 1
Loading bootcount.env from mmc device 2 partition 1

But in this latest log, the same u-boot binary doesn’t find any BalenaOS image, neither on the sd-card nor on the eMMC. I suggest trying with other sd-cards and ensuring that the boot switch is set to load u-boot from the sd-card.

To check the filesystem contents of the sd-card or eMMC, in u-boot cmdline you can do:

mmc dev X
fatls mmc X:1
ext4ls mmc X:2

Where X ranges from 2 to 0:

Scanning mmc devices 0 1 2

Hi, did you manage to test the above, and if the carrier board eeprom states that your carrier rev is DART_CARRIER_REV_1, DART_CARRIER_REV_2 or DART_CARRIER_REV_UNDEF?

You can quickly build Variscite u-boot as detailed in Yocto Build U-Boot - Variscite Wiki and modify it to check if the carrier_rev is 1,2 or undefined: uboot-imx/imx8mm_var_dart.c at imx_v2020.04_5.4.24_2.1.0_var02 · varigit/uboot-imx · GitHub

Hi Aaron, have you managed to look at the above? Also, there’s a v2.82.10+rev2 image in the staging production environment which you can try and let me know if it works for your custom board.

Update: There’s now also a v2.85.2 image in production that includes the same fix for the kernel hang on carrier boards without pcie oscillator.

Will try to test that this week!

I’m running my device again the same way as before with all containers shut down to replicate it again. After that I’ll try moving it to an empty application.. .

Hi ralizop,

Any luck with this? Did you manage to get it working?