Hi all,
we have our custom board based on mx6sabreauto design with custom peripherals set. Previously we were using quad and dual cores imx6 CPUs on the same PCB without any modification and were able to get a stable production system based on yocto warrior BSP (4.19.35 kernel).
Now we're bringing up imx6 solo cpu on the same PCB and got stacked on the manufacturing stage. I was able to build mfgtools version of u-boot, kernel, DTB and initramfs but it seems something is missed in the commands execution flow. It looks like:
- u-boot is starting fine, cmdline for kernel is
console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idV
endor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber= clk_ignore_unused
- during kernel startup I see a crash in the main loop of USB gadget framework
g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
Unable to handle kernel NULL pointer dereference at virtual address 00000050
pgd = (ptrval)
[00000050] *pgd=00000000
Internal error: Oops: 817 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 92 Comm: file-storage Not tainted 4.19.35 #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
PC is at fsg_main_thread+0x186c/0x21f8
LR is at _raw_spin_unlock_irqrestore+0x28/0x54
pc : [<80685ef4>] lr : [<80a5fe30>] psr: 600e0113
sp : 86623f08 ip : 00000000 fp : 8661ae00
r10: 43425355 r9 : 53425355 r8 : 86622000
r7 : 8642af00 r6 : 8661ae00 r5 : 00000000 r4 : 00000000
r3 : ffffffff r2 : 00000009 r1 : 00000001 r0 : 8661ae00
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c53c7d Table: 16600059 DAC: 00000051
Process file-storage (pid: 92, stack limit = 0x(ptrval))
Stack: (0x86623f08 to 0x86624000)
3f00: 00000000 8bb24180 86419e00 8661ae28 81004d08 81004e98
3f20: 00000000 00000000 8bb24180 80a5b480 00055302 a08f1000 00000000 80a5b958
3f40: 86614580 80a5b5e8 8603db1c 48412166 8641a270 600e0013 ffffe000 48412166
3f60: 866145dc 866145c0 86614580 00000000 86622000 8661ae00 80684688 8603db1c
3f80: 866145dc 8014bb1c 00000000 86614580 8014b9d4 00000000 00000000 00000000
3fa0: 00000000 00000000 00000000 801010e8 00000000 00000000 00000000 00000000
3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<80685ef4>] (fsg_main_thread) from [<8014bb1c>] (kthread+0x148/0x150)
[<8014bb1c>] (kthread) from [<801010e8>] (ret_from_fork+0x14/0x2c)
Exception stack(0x86623fb0 to 0x86623ff8)
3fa0: 00000000 00000000 00000000 00000000
3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
Code: e5974084 e3e03000 e59020cc e3a05000 (e5c43050)
---[ end trace 28e3678b23d9a982 ]---
- initramfs execute linuxrc script which starts seats in the endless loop waiting for UTP device
Run /linuxrc as init process
uuc 0.6 [built Feb 27 2023 05:09:57]
UTP: Waiting for /dev/utp to appear
Does anyone have an experience in the flashing process for SOLO CPU enough to figure out what is wrong? Maybe someone has kernel-DTB-initramfs based on 4.19.35 kernel suitable for SOLO CPU?
I appreciate any help on this.