After fabricating one set of boards, all which boot fine, we've fabricated another set that use the automotive grade iMX6Q and different eMMC memory, which is supposed to be plug-in compatible. The image is programmed over the USB OTG using the mfgtool, but on boot, it often looks like this:
U-Boot 0E90 (Jul 22 2015 - 14:03:30)
CPU: Freescale i.MX6 family TO1.5 at 792 MHz
Temperature: 29 C, calibration data 0x56d4bf7d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
Boot Device: MMC
I2C: ready
DRAM: 512 MB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
In: serial
Out: serial
Err: serial
Net: mxc_fec_initialize called
got MAC address from IIM: 00:00:00:00:00:00
enet_board_init->reseting switch.
FEC0 [PRIME]
Hit any key to stop autoboot: 0
Set voltage succeed!
Name Voltage
vddpu: 1200000
Loading file "/boot/uImage" from mmc device 2:2 (xxc2)
3569756 bytes read
## Booting kernel from Legacy Image at 10800000 ...
Image Name: Linux-3.0.35
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3569692 Bytes = 3.4 MB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Can't recover from RESET HBA!
hub 1-0:1.0: unable to enumerate USB device on port 1
Unable to handle kernel NULL pointer dereference at virtual address 00000008
pgd = 94434000
[00000008] *pgd=24750831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in:
CPU: 3 Not tainted (3.0.35 #410)
PC is at rb_insert_color+0x28/0x168
LR is at vma_adjust+0x370/0x458
pc : [<802287c8>] lr : [<800d29b4>] psr: 60000013
sp : 9491dec0 ip : 947f9e70 fp : 00000000
r10: 00000000 r9 : 00000000 r8 : 947136c4
r7 : 947136c0 r6 : 947f9e8c r5 : 2ad9d000 r4 : 00000000
r3 : 00000000 r2 : 00000000 r1 : 947136c4 r0 : 947f9e8c
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 2443404a DAC: 00000015
Process sudo (pid: 1431, stack limit = 0x9491c2f0)
Stack: (0x9491dec0 to 0x9491e000)
dec0: 943c1630 943c1b58 00000000 947136c0 00000000 800d29b4 9491df0c 947136c0
dee0: 2aaf4000 2ad9d000 943c1650 00000000 2ad9d000 2ad9a000 0002ad9a 00000000
df00: 943c1668 943c1630 943c1650 2ad9d000 0002ad9d 947f9e70 943c1630 2ad9d000
df20: 806dd5f0 947136c0 9491c000 00000000 00000000 800d2c1c 947f9e70 947f9e70
df40: 947136c4 947136c0 00000000 2ad9d000 2ae1e000 943c1630 943c1108 800d2fd4
df60: 947136fc 804c7748 00000000 947136fc 00081000 2ad9d000 947136c0 8003dfc4
df80: 9491c000 00000000 00000000 800d440c 2ad9a248 2ad9d000 2abb4008 00000007
dfa0: 0000005b 8003de40 2ad9d000 2abb4008 2ad9d000 00081000 00081000 2ad9a248
dfc0: 2ad9d000 2abb4008 00000007 0000005b 00000000 00000000 7e818e14 00000000
dfe0: 2ad9d008 7e817ad8 2acde2ac 2ad342ac 60000010 2ad9d000 27ffc811 27ffcc11
[<802287c8>] (rb_insert_color+0x28/0x168) from [<800d29b4>] (vma_adjust+0x370/0x458)
[<800d29b4>] (vma_adjust+0x370/0x458) from [<800d2c1c>] (__split_vma+0x180/0x1a8)
[<800d2c1c>] (__split_vma+0x180/0x1a8) from [<800d2fd4>] (do_munmap+0xac/0x2a4)
[<800d2fd4>] (do_munmap+0xac/0x2a4) from [<800d440c>] (sys_munmap+0x3c/0x50)
[<800d440c>] (sys_munmap+0x3c/0x50) from [<8003de40>] (ret_fast_syscall+0x0/0x30)
Code: e5952000 e3120001 1a000013 e3c24003 (e5943008)
---[ end trace 41cb41707687c66e ]---
ehci_fsl_bus_suspend begins, Host 1
ehci_fsl_bus_suspend ends, Host 1
otg udc wakeup, host sends resume signal
irq 75: nobody cared (try booting with the "irqpoll" option)
[<80044d28>] (unwind_backtrace+0x0/0xf8) from [<800a51c4>] (__report_bad_irq+0x24/0xbc)
[<800a51c4>] (__report_bad_irq+0x24/0xbc) from [<800a5504>] (note_interrupt+0x1e4/0x240)
[<800a5504>] (note_interrupt+0x1e4/0x240) from [<800a3a70>] (handle_irq_event_percpu+0xa8/0x180)
[<800a3a70>] (handle_irq_event_percpu+0xa8/0x180) from [<800a3b84>] (handle_irq_event+0x3c/0x5c)
[<800a3b84>] (handle_irq_event+0x3c/0x5c) from [<800a5ec4>] (handle_fasteoi_irq+0x98/0x158)
[<800a5ec4>] (handle_fasteoi_irq+0x98/0x158) from [<800a338c>] (generic_handle_irq+0x28/0x3c)
[<800a338c>] (generic_handle_irq+0x28/0x3c) from [<8003e6f0>] (handle_IRQ+0x4c/0xac)
[<8003e6f0>] (handle_IRQ+0x4c/0xac) from [<8003d88c>] (__irq_svc+0x4c/0xe8)
[<8003d88c>] (__irq_svc+0x4c/0xe8) from [<8003e99c>] (default_idle+0x24/0x28)
[<8003e99c>] (default_idle+0x24/0x28) from [<8003eb94>] (cpu_idle+0xbc/0xf8)
[<8003eb94>] (cpu_idle+0xbc/0xf8) from [<800088ac>] (start_kernel+0x290/0x2e0)
[<800088ac>] (start_kernel+0x290/0x2e0) from [<10008040>] (0x10008040)
handlers:
[<8005ec24>] usb_wakeup_handler
[<8031fc78>] fsl_otg_isr
[<8031bb40>] ehci_fsl_pre_irq
[<80305300>] usb_hcd_irq
[<80324bdc>] fsl_udc_irq
Disabling IRQ #75
/usr/bin/pcireset.sh: cd: line 71: can't cd to /sys/devices/pci0000:00/0000:00:00.0/
/usr/bin/pcireset.sh: line 74: can't create remove: nonexistent directory
/usr/bin/pcireset.sh: cd: line 75: can't cd to /sys/devices/pci0000:00/pci_bus/0000:00
/usr/bin/pcireset.sh: line 78: can't create rescan: nonexistent directory
eth0: no IPv6 routers present
The errors are not always the same, and i've run the DDR memory test without problems. Has anyone seen this kind of problem show up before?