imx8m nano unable to boot starting USB Error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8m nano unable to boot starting USB Error

4,685 Views
scvi
Contributor II

Hello,

My custom board is unable to boot. Uboot starts but as soon as Normal Boot happens it errors out and keeps boot looping

U-Boot SPL 2021.04-5.10.35-2.0.0+g3463140881 (Jun 08 2021 - 01:39:44 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 2400MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
WDT:   Not found!
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE:  BL31: v2.4(release):lf-5.10.35-2.0.0-rc2-0-gec35fef92
NOTICE:  BL31: Built : 09:05:55, May 28 2021


U-Boot 2021.04-5.10.35-2.0.0+g3463140881 (Jun 08 2021 - 01:39:44 +0000)

CPU:   i.MX8MNano Quad rev1.0 1400 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 37C
Reset cause: POR
Model: NXP i.MX8MNano DDR4 EVK board
DRAM:  2 GiB
tcpc_init: Can't find device id=0x52
setup_typec: tcpc port2 init failed, err=-19
tcpc_init: Can't find device id=0x50
setup_typec: tcpc port1 init failed, err=-19
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environment

[*]-Video Link 0adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcd-controller@32e00000: failed to get any video link display timings
probe video device failed, ret -22

        [0] lcd-controller@32e00000, video
        [1] dsi_controller@32e10000, video_bridge
        [2] adv7535@3d, panel
adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcd-controller@32e00000: failed to get any video link display timings
probe video device failed, ret -22
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated

 BuildInfo:
  - ATF ec35fef

switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net:
Error: ethernet@30be0000 address not set.

Error: ethernet@30be0000 address not set.
No ethernet found.

Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
starting USB...
Bus usb@32e40000: dev_get_parent_plat: null device
"Synchronous Abort" handler, esr 0x96000004
elr: 0000000040248510 lr : 0000000040248504 (reloc)
elr: 0000000054d65510 lr : 0000000054d65504
x0 : 0000000014009940 x1 : 0000000000000001
x2 : 0000000054d47150 x3 : 0000000000000001
x4 : 0000000000000013 x5 : 0000000000000020
x6 : 00000000ffffffd0 x7 : 0000000000000003
x8 : 0000000000000000 x9 : 000000000b1d5339
x10: 0020000000000000 x11: 0000000052d10acc
x12: 0000000000000006 x13: 000000000001869f
x14: 0000000052d11930 x15: 0000000000000002
x16: 0000000054d6a004 x17: 0000000000004540
x18: 0000000052d1cdb0 x19: 0000000000000001
x20: 0000000000000000 x21: 0000000052d10b2f
x22: 0000000000000000 x23: 000000000000001d
x24: 0000000054deed38 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000052d33110 x29: 0000000052d10a60

Code: 97ffac86 aa0003e8 f9400000 f940380a (f9400140)
Resetting CPU ...

resetting ...

I'm not sure what's going on. This custom board uses the same reference design as the 8MNANOD4-EVK 

0 Kudos
12 Replies

3,453 Views
scvi
Contributor II

Bringing this backup,

I tried this again with i.MX Linux Yocto Project BSP 5.10.72_2.2.0 Release

I applied a ddr4_timing.c update.

My board has a control impedance of 50 ohms for all single ended lines. The MX8M_Nano_DDR4_RPA_v8.xlsx sheet does not support this number so I set all the impedance to 60 ohms which is close. I ran it through the ddr4 tool and it seems to finish running the stress test successfully. Generated the ddr4_timing.c and applied it to u-boot-imx and compiled it using "bitbake -c compile -f u-boot-imx"; then running "imx-image-multimedia". Used uuu to flash to emmc. 

My board also use the BD71837MWV-E2 for the PMIC. I'm not sure if any extra configuration is required for this.

I'm still getting 

Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
starting USB...
Bus usb@32e40000: dev_get_parent_plat: null device
"Synchronous Abort" handler, esr 0x96000004
elr: 00000000402491a8 lr : 000000004024919c (reloc)
elr: 00000000bed601a8 lr : 00000000bed6019c
x0 : 0000000014009940 x1 : 0000000000000001
x2 : 00000000bed411fc x3 : 0000000000000001
x4 : 0000000000000013 x5 : 0000000000000020
x6 : 00000000ffffffd0 x7 : 0000000000000003
x8 : 0000000000000000 x9 : 00000000b381c5af
x10: 0000000100000000 x11: 00000000bcd0afcc
x12: 0000000000000006 x13: 000000000001869f
x14: 00000000bcd0be30 x15: 0000000000000002
x16: 00000000bed64cfc x17: 0000000000004540
x18: 00000000bcd16db0 x19: 0000000000000001
x20: 0000000000000000 x21: 00000000bcd0b02f
x22: 0000000000000000 x23: 000000000000001d
x24: 00000000bedee978 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000bcd2c760 x29: 00000000bcd0af60

Code: 97ffa98b aa0003e8 f9400000 f940380a (f9400140)
Resetting CPU ...

resetting ...

 

0 Kudos

3,452 Views
scvi
Contributor II

I've look at my schematic, USB1_VBUS is not directly connected to a 5V VBUS source, it would come from any usb device that provides 5V.

scvi_0-1654205814541.png

scvi_1-1654205831223.png

 

 

0 Kudos

4,412 Views
Luke-Hsieh
Contributor III

Hi,

 

Can I consult how you fixed the problem ?

My board suddenly gets the same boot looping failure even if I program the official pre-built image into by using uuu

What shall I do to check it step by step ?

 

U-Boot SPL 2021.04-5.10.35-2.0.0+g3463140881 (Jun 08 2021 - 01:39:44 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 2400MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0: RNG instantiated
Normal Boot
WDT: Not found!
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE: BL31: v2.4(release):lf-5.10.35-2.0.0-rc1-12-gec35fef92
NOTICE: BL31: Built : 09:05:55, May 28 2021


U-Boot 2021.04-5.10.35-2.0.0+g3463140881 (Jun 08 2021 - 01:39:44 +0000)

CPU: i.MX8MNano Quad rev1.0 1500 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 43C
Reset cause: POR
Model: NXP i.MX8MNano DDR4 EVK board
DRAM: 2 GiB
wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020
i2c_init_transfer: failed for chip 0x52 retry=0
i2c_idle_bus: failed to clear bus, sda=0 scl=0
i2c_init_transfer: give up i2c_regs=0x30a30000
tcpc_init: Can't find device id=0x52
setup_typec: tcpc port2 init failed, err=-19
wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020
i2c_init_transfer: failed for chip 0x50 retry=0
i2c_idle_bus: failed to clear bus, sda=0 scl=0
i2c_init_transfer: give up i2c_regs=0x30a30000
tcpc_init: Can't find device id=0x50
setup_typec: tcpc port1 init failed, err=-19
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
[*]-Video Link 0wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020
i2c_init_transfer: failed for chip 0x3c retry=0
i2c_idle_bus: failed to clear bus, sda=0 scl=0
i2c_init_transfer: give up i2c_regs=0x30a30000
adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcd-controller@32e00000: failed to get any video link display timings
probe video device failed, ret -22

[0] lcd-controller@32e00000, video
[1] dsi_controller@32e10000, video_bridge
[2] adv7535@3d, panel
wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020
i2c_init_transfer: failed for chip 0x3c retry=0
i2c_idle_bus: failed to clear bus, sda=0 scl=0
i2c_init_transfer: give up i2c_regs=0x30a30000
adv7535_mipi2hdmi adv7535@3d: Can't find cec device id=0x3c
fail to probe panel device adv7535@3d
mxs_video lcd-controller@32e00000: failed to get any video link display timings
probe video device failed, ret -22
In: serial
Out: serial
Err: serial
SEC0: RNG instantiated

BuildInfo:
- ATF ec35fef

switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net: eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
starting USB...
Bus usb@32e40000: dev_get_parent_plat: null device
"Synchronous Abort" handler, esr 0x8600000e
elr: ffffffffff4ec940 lr : 0000000040248634 (reloc)
elr: 0000000014009940 lr : 0000000054d65634
x0 : 0000000000000000 x1 : 0000000052d10ac0
x2 : 0000000000000001 x3 : 0000000052d10ac0
x4 : 0000000014009940 x5 : 0000000000000000
x6 : 0000000014009940 x7 : 0000000000000000
x8 : 0000000000000000 x9 : 000000008a19706d
x10: 0000000000000000 x11: 0000000052d10acc
x12: 0000000000000006 x13: 000000000001869f
x14: 0000000052d11930 x15: 0000000000000002
x16: 0000000054d6a004 x17: 0000000000004540
x18: 0000000052d1cdb0 x19: 0000000000000001
x20: 0000000000000000 x21: 0000000052d10b2f
x22: 0000000000000000 x23: 000000000000001d
x24: 0000000054deed38 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000052d4bdf0 x29: 0000000052d10a60

Code: 00000000 00000000 00000000 00000000 (00000000)
Resetting CPU ...

 

0 Kudos

4,407 Views
Luke-Hsieh
Contributor III

It seems there's a usb HW issue.

 

u-boot=> usb start
starting USB...
Bus usb@32e40000: dev_get_parent_plat: null device
"Synchronous Abort" handler, esr 0x8600000e
elr: ffffffffff4ec940 lr : 0000000040248634 (reloc)
elr: 0000000014009940 lr : 0000000054d65634
x0 : 0000000000000000 x1 : 0000000052d114e0
x2 : 0000000000000001 x3 : 0000000052d114e0
x4 : 0000000014009940 x5 : 0000000000000000
x6 : 0000000014009940 x7 : 0000000000000000
x8 : 0000000000000000 x9 : 00000000bbdd704a
x10: 0000000000000000 x11: 0000000052d114ec
x12: 0000000000000006 x13: 000000000001869f
x14: 0000000052d11930 x15: 0000000000000002
x16: 0000000054d6a004 x17: 0000000000004540
x18: 0000000052d1cdb0 x19: 0000000000000001
x20: 0000000000000000 x21: 0000000052d1154f
x22: 0000000000000000 x23: 000000000000001d
x24: 0000000054deed38 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000052d2eb50 x29: 0000000052d11480

Code: 00000000 00000000 00000000 00000000 (00000000)
Resetting CPU ...

resetting ...

 

0 Kudos

4,675 Views
igorpadykov
NXP Employee
NXP Employee

Hi Stephen

 

one can run ddr test (use latest RPA tool) and update image as described in MSCALE_DDR_Tool_User_Guide document from that link

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8M-Family-DDR-Tool-Release/ta-p/110...

 

Best regards
igor

0 Kudos

4,668 Views
scvi
Contributor II

I did do so.

That was the results after getting it.

I am using the exact same ram as described in the sheet.

The tool ran fine. I follow the user guide and generated an ARRAY and follow the guide for compiling it using the yocto project

0 Kudos

4,663 Views
scvi
Contributor II

I redid the tool and used the latest .bin file for ddr4 and got this:

Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
starting USB...
Bus usb@32e40000: USB EHCI 1.00
Bus usb@32e50000: "Synchronous Abort" handler, esr 0x96000210
elr: 0000000040256a2c lr : 0000000040256a2c (reloc)
elr: 0000000054d75a2c lr : 0000000054d75a2c
x0 : 0000000002377f34 x1 : 00000000000f4240
x2 : 00000000303844d4 x3 : 0000000030380000
x4 : 0000000011000000 x5 : 0000000000000000
x6 : 0000000000000000 x7 : 0000000000000000
x8 : 0000000000000001 x9 : 00000000271a1a24
x10: 0000000000001564 x11: 0000000052d1290c
x12: 0000000000001520 x13: 0000000052d129cc
x14: 0000000052d13930 x15: 0000000000000021
x16: 0000000054d4db9c x17: 0000000000004540
x18: 0000000052d1edb0 x19: 0000000000000001
x20: 0000000032e50000 x21: 0000000052d228c0
x22: 0000000032e50000 x23: 0000000000000000
x24: 0000000052d35680 x25: 0000000052d13930
x26: 0000000000007094 x27: 0000000000000000
x28: 0000000052d35240 x29: 0000000052d12a90

Code: 52800020 97fec0a0 d2807d00 9400a9c5 (b9418680)
Resetting CPU ...

resetting ...

It sees the USB now but still errors out

0 Kudos

4,647 Views
igorpadykov
NXP Employee
NXP Employee

one can check usb power supplies: VDD_USB_3P3, VDD_USB_1P8, VDD_USB_0P8
and connections of USB1_TXRTUNE,USB1_VBUS using Table 8. USB recommendations 

i.MX 8M Nano Hardware Developer’s Guide

 

Best regards
igor

0 Kudos

4,619 Views
scvi
Contributor II

Reviewing our hardware schematics it is correct.

A little more detail. I'm using the latest LF5.10.35_2.0.0 linux kernel in the i.MX yocto project.

I'm only simply building core-image-minimal and flashing the eMMC using the uuu.exe tool in usb serial download mode.

After the fact I would switch it to usb boot mode.

I attached the serial output using a fresh yocto project building for imx8mn-ddr4-evk machine.

Also using the industrial version of the processor instead. Also the pre built binary L5.4.70-2.3.0 boots all the way to login prompt. Is there a difference preventing the latest release from not booting at all?

0 Kudos

4,607 Views
igorpadykov
NXP Employee
NXP Employee

> pre built binary L5.4.70-2.3.0 boots all the way to login prompt..

 

if prebuilt (Demo) image works fine on custom board, one can try to build

image without additional modificiations, use  i.MX Yocto Project User’s Guide​

 

Best regards
igor

0 Kudos

4,596 Views
scvi
Contributor II

The Yocto Project for that build works. I'm just wondering if anything would be the main cause of that issue. Would it be mainly in the u-boot versions? or would it be something else.

0 Kudos

4,593 Views
igorpadykov
NXP Employee
NXP Employee

regarding "u-boot versions", for L5.10.35_2.0.0 should be used v2021.04 uboot version described

in official NXP Release Notes document  i.MX Linux Release Notes

 

1.jpg

 

Best regards
igor

0 Kudos