Verdin imx8mp not booting with code on M7

Hi,
I have just received some new Verdin SOMS and I am having trouble getting them to boot while running code on the M7 microcontroller. I am a little stuck at the moment, as I have had no problems with a couple of older models. I did not expect to have troubles with the new SOMS and unfortunately those original test articles are out with so colleagues so I don’t have them handy.

I’ve gone back and loaded the minimal reference image and using the Verdin development board. I have added a device tree overlay to dIisable UART4 on the linux side.
When I load the basic Freertos Hello World code, I see the output on the serial line, but is causes a kernel panic.

Below is the boot information. I was wondering if you had any ideas what might be causing issues.

Thanks !

U-Boot SPL 2022.04-6.6.0+git.d262075124dc (Mar 08 2024 - 14:27:40 +0000)␍␊
DDRINFO: start DRAM init␍␊
DDRINFO: DRAM rate 4000MTS␍␊
DDRINFO:ddrphy calibration done␍␊
DDRINFO: ddrmix config done␍␊
DDR configured as dual rank␍␊
SEC0:  RNG instantiated␍␊
Normal Boot␍␊
WDT:   Started watchdog@30280000 with servicing (60s timeout)␍␊
Trying to boot from BOOTROM␍␊
Boot Stage: Primary boot␍␊
Find img info 0x&4802a600, size 888␍␊
Need continue download 1024␍␊
Download 949760, Total size 950880␍␊
NOTICE:  BL31: v2.6(release):lf_v2.6-g3c1583ba0a␍␊
NOTICE:  BL31: Built : 11:00:38, Nov 21 2022␍␊
␍␊
␍␊
U-Boot 2022.04-6.6.0+git.d262075124dc (Mar 08 2024 - 14:27:40 +0000)␍␊
␍␊
CPU:   i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)␍␊
CPU:   Industrial temperature grade (-40C to 105C) at 57C␍␊
Reset cause: POR␍␊
DRAM:  4 GiB␍␊
Core:  89 devices, 23 uclasses, devicetree: separate␍␊
WDT:   Started watchdog@30280000 with servicing (60s timeout)␍␊
MMC:   FSL_SDHC: 1, FSL_SDHC: 2␍␊
Loading Environment from MMC... OK␍␊
In:    serial␍␊
Out:   serial␍␊
Err:   serial␍␊
Model: Toradex 0063 Verdin iMX8M Plus Quad 4GB IT V1.1B␍␊
Serial#: 15336214␍␊
Carrier: Toradex Verdin Development Board V1.1F, Serial# 11227056␍␊
SEC0:  RNG instantiated␍␊
␍␊
 BuildInfo:␍␊
  - ATF 3c1583b␍␊
␍␊
flash target is MMC:2␍␊
Net:   eth1: ethernet@30be0000, eth0: ethernet@30bf0000 [PRIME]␍␊
Fastboot: Normal␍␊
Normal Boot␍␊
Hit any key to stop autoboot:  1 <0x08><0x08><0x08> 0 ␍␊
27020 bytes read in 1 ms (25.8 MiB/s)␍␊
## Starting auxiliary core stack = 0x20020000, pc = 0x0000048D...␍␊
MMC: no card present␍␊
switch to partitions #0, OK␍␊
mmc2(part 0) is current device␍␊
Scanning mmc 2:1...␍␊
Found U-Boot script /boot.scr␍␊
6010 bytes read in 0 ms␍␊
## Executing script at 50280000␍␊
Loading DeviceTree: imx8mp-verdin-nonwifi-dev.dtb␍␊
89718 bytes read in 1 ms (85.6 MiB/s)␍␊
152 bytes read in 0 ms␍␊
Applying Overlay: verdin-imx8mp_hdmi_overlay.dtbo␍␊
2219 bytes read in 1 ms (2.1 MiB/s)␍␊
Applying Overlay: verdin-imx8mp_dsi-to-hdmi_overlay.dtbo␍␊
3165 bytes read in 1 ms (3 MiB/s)␍␊
Applying Overlay: verdin-imx8mp_spidev_overlay.dtbo␍␊
561 bytes read in 0 ms␍␊
Applying Overlay: verdin-imx8mp_M7UART_overlay.dtbo␍␊
1631 bytes read in 1 ms (1.6 MiB/s)␍␊
11666516 bytes read in 44 ms (252.9 MiB/s)␍␊
Bootargs: root=PARTUUID=e6cc09cb-02 ro rootwait console=tty1 console=ttymxc2,115200 consoleblank=0 earlycon␍␊
   Uncompressing Kernel Image␍␊
## Flattened Device Tree blob at 50200000␍␊
   Booting using the fdt blob at 0x50200000␍␊
   Loading Device Tree to 00000000ffac1000, end 00000000ffaf9fff ... OK␍␊
␍␊
Starting kernel ...␍␊
␍␊
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]␍␊
[    0.000000] Linux version 5.15.148-6.6.0-6.6.0+git.23a8e831749d (oe-user@oe-host) (aarch64-tdx-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Feb 29 20:25:21 UTC 2024␍␊
[    0.000000] Machine model: Toradex Verdin iMX8M Plus on Verdin Development Board␍␊
[    0.000000] efi: UEFI not found.␍␊
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000de000000, size 512 MiB␍␊
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool␍␊
[    0.000000] earlycon: ec_imx6q0 at MMIO 0x0000000030880000 (options '')␍␊
[    0.000000] printk: bootconsole [ec_imx6q0] enabled␍␊
[    0.000000] NUMA: No NUMA configuration found␍␊
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff]␍␊
[    0.000000] NUMA: NODE_DATA [mem 0x13f79a800-0x13f79cfff]␍␊
[    0.000000] Zone ranges:␍␊
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]␍␊
[    0.000000]   DMA32    empty␍␊
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]␍␊
[    0.000000] Movable zone start for each node␍␊
[    0.000000] Early memory node ranges␍␊
[    0.000000]   node   0: [mem 0x0000000040000000-0x000000013fffffff]␍␊
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff]␍␊
[    0.000000] psci: probing for conduit method from DT.␍␊
[    0.000000] psci: PSCIv1.1 detected in firmware.␍␊
[    0.000000] psci: Using standard PSCI v0.2 function IDs␍␊
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.␍␊
[    0.000000] psci: SMC Calling Convention v1.2␍␊
[    0.000000] percpu: Embedded 20 pages/cpu s42712 r8192 d31016 u81920␍␊
[    0.000000] Detected VIPT I-cache on CPU0␍␊
[    0.000000] CPU features: detected: GIC system register CPU interface␍␊
[    0.000000] CPU features: detected: ARM erratum 845719␍␊
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032192␍␊
[    0.000000] Policy zone: Normal␍␊
[    0.000000] Kernel command line: root=PARTUUID=e6cc09cb-02 ro rootwait console=tty1 console=ttymxc2,115200 consoleblank=0 earlycon␍␊
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)␍␊
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)␍␊
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off␍␊
[    0.000000] software IO TLB: mapped [mem 0x00000000da000000-0x00000000de000000] (64MB)␍␊
[    0.000000] Memory: 3494160K/4194304K available (16256K kernel code, 1760K rwdata, 6832K rodata, 3264K init, 524K bss, 175856K reserved, 524288K cma-reserved)␍␊
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1␍␊
[    0.000000] rcu: Preemptible hierarchical RCU implementation.␍␊
[    0.000000] rcu: ⇥	RCU event tracing is enabled.␍␊
[    0.000000] rcu: ⇥	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.␍␊
[    0.000000] ⇥	Trampoline variant of Tasks RCU enabled.␍␊
[    0.000000] ⇥	Tracing variant of Tasks RCU enabled.␍␊
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.␍␊
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4␍␊
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0␍␊
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode␍␊
[    0.000000] GICv3: 160 SPIs implemented␍␊
[    0.000000] GICv3: 0 Extended SPIs implemented␍␊
[    0.000000] GICv3: Distributor has no Range Selector support␍␊
[    0.000000] Root IRQ handler: gic_handle_irq␍␊
[    0.000000] GICv3: 16 PPIs implemented␍␊
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000␍␊
[    0.000000] ITS: No ITS available, not enabling LPIs␍␊
[    0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).␍␊
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns␍␊
[    0.000000] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns␍␊
[    0.008582] Console: colour dummy device 80x25␍␊
[    0.012975] printk: console [tty1] enabled␍␊
[    0.016690] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)␍␊
[    0.026967] pid_max: default: 32768 minimum: 301␍␊
[    0.031643] LSM: Security Framework initializing␍␊
[    0.036317] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)␍␊
[    0.043683] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)␍␊
[    0.052970] rcu: Hierarchical SRCU implementation.␍␊
[    0.057353] EFI services will not be available.␍␊
[    0.061171] smp: Bringing up secondary CPUs ...␍␊
[    0.065903] Detected VIPT I-cache on CPU1␍␊
[    0.065930] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000␍␊
[    0.065966] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]␍␊
[    0.066435] Detected VIPT I-cache on CPU2␍␊
[    0.066454] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000␍␊
[    0.066474] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]␍␊
[    0.066913] Detected VIPT I-cache on CPU3␍␊
[    0.066932] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000␍␊
[    0.066951] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]␍␊
[    0.067011] smp: Brought up 1 node, 4 CPUs␍␊
[    0.122082] SMP: Total of 4 processors activated.␍␊
[    0.126799] CPU features: detected: 32-bit EL0 Support␍␊
[    0.131975] CPU features: detected: 32-bit EL1 Support␍␊
[    0.137126] CPU features: detected: CRC32 instructions␍␊
[    0.149178] CPU: All CPU(s) started at EL2␍␊
[    0.150479] alternatives: patching kernel code␍␊
[    0.156339] devtmpfs: initialized␍␊
[    0.168118] KASLR disabled due to lack of seed␍␊
[    0.169863] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns␍␊
[    0.179549] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)␍␊
[    0.201282] pinctrl core: initialized pinctrl subsystem␍␊
[    0.204225] DMI not present or invalid.␍␊
[    0.208120] NET: Registered PF_NETLINK/PF_ROUTE protocol family␍␊
[    0.218416] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations␍␊
[    0.223041] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations␍␊
[    0.230866] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations␍␊
[    0.238479] audit: initializing netlink subsys (disabled)␍␊
[    0.244024] audit: type=2000 audit(0.176:1): state=initialized audit_enabled=0 res=1␍␊
[    0.244501] thermal_sys: Registered thermal governor 'step_wise'␍␊
[    0.251636] thermal_sys: Registered thermal governor 'power_allocator'␍␊
[    0.257935] cpuidle: using governor menu␍␊
[    0.268350] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.␍␊
[    0.275070] ASID allocator initialised with 65536 entries␍␊
[    0.280684] Serial: AMBA PL011 UART driver␍␊
[    0.284579] imx mu driver is registered.␍␊
[    0.288472] imx rpmsg driver is registered.␍␊
[    0.304148] imx8mp-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver␍␊
[    0.319231] platform 32e80000.lcd-controller: Fixing up cyclic dependency with 32e60000.mipi_dsi␍␊
[    0.329599] platform 32fd8000.hdmi: Fixing up cyclic dependency with 32fc6000.lcd-controller␍␊
[    0.354238] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages␍␊
[    0.358145] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages␍␊
[    0.364893] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages␍␊
[    0.371603] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages␍␊
[    0.379547] cryptd: max_cpu_qlen set to 1000␍␊
[    0.385706] ACPI: Interpreter disabled.␍␊
[    0.388182] iommu: Default domain type: Translated ␍␊
[    0.391622] iommu: DMA domain TLB invalidation policy: strict mode ␍␊
[    0.398057] vgaarb: loaded␍␊
[    0.400865] SCSI subsystem initialized␍␊
[    0.404683] usbcore: registered new interface driver usbfs␍␊
[    0.409929] usbcore: registered new interface driver hub␍␊
[    0.415249] usbcore: registered new device driver usb␍␊
[    0.421356] mc: Linux media interface: v0.10␍␊
[    0.424616] videodev: Linux video capture interface: v2.00␍␊
[    0.430161] pps_core: LinuxPPS API ver. 1 registered␍␊
[    0.435091] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>␍␊
[    0.444294] PTP clock support registered␍␊
[    0.448400] EDAC MC: Ver: 3.0.0␍␊
[    0.452383] FPGA manager framework␍␊
[    0.454854] Advanced Linux Sound Architecture Driver Initialized.␍␊
[    0.461912] clocksource: Switched to clocksource arch_sys_counter␍␊
[    0.467212] VFS: Disk quotas dquot_6.6.0␍␊
[    0.471015] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)␍␊
[    0.478074] pnp: PnP ACPI: disabled␍␊
[    0.487565] NET: Registered PF_INET protocol family␍␊
[    0.489771] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)␍␊
[    0.498623] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)␍␊
[    0.505695] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)␍␊
[    0.513431] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)␍␊
[    0.521580] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)␍␊
[    0.529206] TCP: Hash tables configured (established 32768 bind 32768)␍␊
[    0.535392] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)␍␊
[    0.542102] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)␍␊
[    0.549379] NET: Registered PF_UNIX/PF_LOCAL protocol family␍␊
[    0.555278] RPC: Registered named UNIX socket transport module.␍␊
[    0.560845] RPC: Registered udp transport module.␍␊
[    0.565590] RPC: Registered tcp transport module.␍␊
[    0.570290] RPC: Registered tcp NFSv4.1 backchannel transport module.␍␊
[    0.576771] PCI: CLS 0 bytes, default 64␍␊
[    0.581366] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available␍␊
[    0.589732] kvm [1]: IPA Size Limit: 40 bits␍␊
[    0.594768] kvm [1]: GICv3: no GICV resource entry␍␊
[    0.598032] kvm [1]: disabling GICv2 emulation␍␊
[    0.602499] kvm [1]: GIC system register CPU interface enabled␍␊
[    0.608442] kvm [1]: vgic interrupt IRQ9␍␊
[    0.612400] kvm [1]: Hyp mode initialized successfully␍␊
[    0.620812] Initialise system trusted keyrings␍␊
[    0.622571] workingset: timestamp_bits=42 max_order=20 bucket_order=0␍␊
[    0.634649] squashfs: version 4.0 (2009/01/31) Phillip Lougher␍␊
[    0.638229] NFS: Registering the id_resolver key type␍␊
[    0.642763] Key type id_resolver registered␍␊
[    0.646931] Key type id_legacy registered␍␊
[    0.651031] nfs4filelayout_init: NFSv4 File Layout Driver Registering...␍␊
[    0.657698] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...␍␊
[    0.665266] 9p: Installing v9fs 9p2000 file system support␍␊
[    0.707664] Key type asymmetric registered␍␊
[    0.708914] Asymmetric key parser 'x509' registered␍␊
[    0.713868] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)␍␊
[    0.721264] io scheduler mq-deadline registered␍␊
[    0.725805] io scheduler kyber registered␍␊
[    0.735432] EINJ: ACPI disabled.␍␊
[    0.736914] M4 is started␍␊
[    0.744963] mxs-dma 33000000.dma-apbh: initialized␍␊
[    0.748147] SoC: i.MX8MP revision 1.1␍␊
[    0.751167] Bus freq driver module loaded␍␊
[    0.760962] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled␍␊
[    0.766767] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 34, base_baud = 1500000) is a IMX␍␊
[    0.773729] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 35, base_baud = 1500000) is a IMX␍␊
[    0.782141] printk: console [ttymxc2] enabled␍␊
[    0.782141] printk: console [ttymxc2] enabled␍␊
[    0.790782] printk: bootconsole [ec_imx6q0] disabled␍␊
[    0.790782] printk: bootconsole [ec_imx6q0] disabled␍␊
[    0.801128] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 36, base_baud = 1500000) is a IMX␍␊
[    0.827863] brd: module loaded␍␊
[    0.835085] loop: module loaded␍␊
[    0.839592] megasas: 07.717.02.00-rc1␍␊
[    0.849654] tun: Universal TUN/TAP device driver, 1.6␍␊
[    0.856030] e1000: Intel(R) PRO/1000 Network Driver␍␊
[    0.860936] e1000: Copyright (c) 1999-2006 Intel Corporation.␍␊
[    0.866727] e1000e: Intel(R) PRO/1000 Network Driver␍␊
[    0.871702] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.␍␊
[    0.877666] igb: Intel(R) Gigabit Ethernet Network Driver␍␊
[    0.883075] igb: Copyright (c) 2007-2014 Intel Corporation.␍␊
[    0.888684] igbvf: Intel(R) Gigabit Virtual Function Network Driver␍␊
[    0.894961] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.␍␊
[    0.901147] usbcore: registered new device driver r8152-cfgselector␍␊
[    0.907491] usbcore: registered new interface driver r8152␍␊
[    0.913222] VFIO - User Level meta-driver version: 0.3␍␊
[    0.924225] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver␍␊
[    0.930841] ehci-pci: EHCI PCI platform driver␍␊
[    0.935354] ehci-platform: EHCI generic platform driver␍␊
[    0.940820] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver␍␊
[    0.947027] ohci-pci: OHCI PCI platform driver␍␊
[    0.951514] ohci-platform: OHCI generic platform driver␍␊
[    0.957605] usbcore: registered new interface driver uas␍␊
[    0.962979] usbcore: registered new interface driver usb-storage␍␊
[    0.969065] usbcore: registered new interface driver usbserial_generic␍␊
[    0.975629] usbserial: USB Serial support registered for generic␍␊
[    0.981672] usbcore: registered new interface driver ftdi_sio␍␊
[    0.987446] usbserial: USB Serial support registered for FTDI USB Serial Device␍␊
[    0.994797] usbcore: registered new interface driver usb_serial_simple␍␊
[    1.001355] usbserial: USB Serial support registered for carelink␍␊
[    1.007474] usbserial: USB Serial support registered for flashloader␍␊
[    1.013856] usbserial: USB Serial support registered for funsoft␍␊
[    1.019891] usbserial: USB Serial support registered for google␍␊
[    1.025838] usbserial: USB Serial support registered for hp4x␍␊
[    1.031609] usbserial: USB Serial support registered for kaufmann␍␊
[    1.037730] usbserial: USB Serial support registered for libtransistor␍␊
[    1.044284] usbserial: USB Serial support registered for moto_modem␍␊
[    1.050579] usbserial: USB Serial support registered for motorola_tetra␍␊
[    1.057220] usbserial: USB Serial support registered for nokia␍␊
[    1.063079] usbserial: USB Serial support registered for novatel_gps␍␊
[    1.069457] usbserial: USB Serial support registered for siemens_mpi␍␊
[    1.075842] usbserial: USB Serial support registered for suunto␍␊
[    1.081791] usbserial: USB Serial support registered for vivopay␍␊
[    1.087821] usbserial: USB Serial support registered for zio␍␊
[    1.093517] usbcore: registered new interface driver usb_ehset_test␍␊
[    1.102816] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0␍␊
[    1.117486] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc1␍␊
[    1.123860] i2c_dev: i2c /dev entries driver␍␊
[    1.133074] EDAC MC: ECC not enabled␍␊
[    1.138039] sdhci: Secure Digital Host Controller Interface driver␍␊
[    1.144245] sdhci: Copyright(c) Pierre Ossman␍␊
[    1.149143] Synopsys Designware Multimedia Card Interface Driver␍␊
[    1.155848] sdhci-pltfm: SDHCI platform and OF driver helper␍␊
[    1.163724] ledtrig-cpu: registered to indicate activity on CPUs␍␊
[    1.170646] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....␍␊
[    1.177583] usbcore: registered new interface driver usbhid␍␊
[    1.183177] usbhid: USB HID core driver␍␊
[    1.191924]  cs_system_cfg: CoreSight Configuration manager initialised␍␊
[    1.195176] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA␍␊
[    1.201442] hantrodec 0 : module inserted. Major = 510␍␊
[    1.211240] hantrodec 1 : module inserted. Major = 510␍␊
[    1.217544] hantroenc: HW at base <0000000038320000> with ID <0x80006200>␍␊
[    1.224486] hx280enc: module inserted. Major <509>␍␊
[    1.234685] NET: Registered PF_LLC protocol family␍␊
[    1.240044] NET: Registered PF_INET6 protocol family␍␊
[    1.247217] Segment Routing with IPv6␍␊
[    1.250934] In-situ OAM (IOAM) with IPv6␍␊
[    1.254919] NET: Registered PF_PACKET protocol family␍␊
[    1.260737] 8021q: 802.1Q VLAN Support v1.8␍␊
[    1.265047] 9pnet: Installing 9P2000 support␍␊
[    1.269355] tsn generic netlink module v1 init...␍␊
[    1.270174] mmc2: new HS400 Enhanced strobe MMC card at address 0001␍␊
[    1.274154] Key type dns_resolver registered␍␊
[    1.281513] mmcblk2: mmc2:0001 IX2932 29.1 GiB ␍␊
[    1.285665] Loading compiled-in X.509 certificates␍␊
[    1.291122]  mmcblk2: p1 p2␍␊
[    1.298609] mmcblk2boot0: mmc2:0001 IX2932 4.00 MiB ␍␊
[    1.305319] mmcblk2boot1: mmc2:0001 IX2932 4.00 MiB ␍␊
[    1.312221] mmcblk2rpmb: mmc2:0001 IX2932 4.00 MiB, chardev (234:0)␍␊
[    1.316008] gpio-125 (CTRL_SLEEP_MOCI#): hogged as output/high␍␊
[    1.328369] +V3.3_SD: supplied by +V3.3_SW␍␊
[    1.347857] nxp-pca9450 0-0025: pca9450bc probed.␍␊
[    1.354028] rtc-ds1307 0-0032: oscillator failed, set time!␍␊
[    1.360061] rtc-ds1307 0-0032: registered as rtc0␍␊
[    1.365087] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock␍␊
[    1.374524] at24 0-0050: supply vcc not found, using dummy regulator␍␊
[    1.381419] at24 0-0050: 256 byte 24c02 EEPROM, writable, 16 bytes/write␍␊
[    1.388196] i2c i2c-0: IMX I2C adapter registered␍␊
[    1.393966] i2c i2c-1: IMX I2C adapter registered␍␊
[    1.399002] SError Interrupt on CPU0, code 0x00000000bf000002 -- SError␍␊
[    1.399010] CPU: 0 PID: 9 Comm: kworker/u8:0 Not tainted 5.15.148-6.6.0-6.6.0+git.23a8e831749d #1␍␊
[    1.399017] Hardware name: Toradex Verdin iMX8M Plus on Verdin Development Board (DT)␍␊
[    1.399022] Workqueue: events_unbound deferred_probe_work_func␍␊
[    1.399039] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)␍␊
[    1.399050] pc : of_match_node+0x28/0xb0␍␊
[    1.399059] lr : i2c_imx_probe+0x33c/0xa10␍␊
[    1.399070] sp : ffff800009cd3a90␍␊
[    1.399072] x29: ffff800009cd3a90 x28: ffff800009187158 x27: ffff0000c12c6bf4␍␊
[    1.399084] x26: ffff0000c12c68f0 x25: ffff800009c05b00 x24: ffff800009187120␍␊
[    1.399098] x23: ffff800009c07be8 x22: 000000000000002a x21: ffff0000c00fd000␍␊
[    1.399111] x20: ffff0000c00fd010 x19: ffff800009187158 x18: ffffffffffffffff␍␊
[    1.399122] x17: 000000040044ffff x16: 00500072b5503510 x15: 0000000000000000␍␊
[    1.399136] x14: 0000000000000100 x13: 0000000000005000 x12: ffff0000c0d60914␍␊
[    1.399150] x11: ffff0000c0d60900 x10: aaaaaaaaaaaaaaab x9 : 0000000000000060␍␊
[    1.399162] x8 : ffff8000099e8b60 x7 : 0000000000000000 x6 : 000000000007a120␍␊
[    1.399173] x5 : 0000000000b71aff x4 : 0000000000000002 x3 : 0000000000000002␍␊
[    1.399185] x2 : 000000000000000c x1 : ffff0000ff7c6fb8 x0 : ffff800009c07be8␍␊
[    1.399202] Kernel panic - not syncing: Asynchronous SError Interrupt␍␊
[    1.399206] CPU: 0 PID: 9 Comm: kworker/u8:0 Not tainted 5.15.148-6.6.0-6.6.0+git.23a8e831749d #1␍␊
[    1.399214] Hardware name: Toradex Verdin iMX8M Plus on Verdin Development Board (DT)␍␊
[    1.399219] Workqueue: events_unbound deferred_probe_work_func␍␊
[    1.399227] Call trace:␍␊
[    1.399228]  dump_backtrace+0x0/0x1f0␍␊
[    1.399239]  show_stack+0x18/0x40␍␊
[    1.399248]  dump_stack_lvl+0x68/0x84␍␊
[    1.399257]  dump_stack+0x18/0x34␍␊
[    1.399266]  panic+0x18c/0x34c␍␊
[    1.399272]  add_taint+0x0/0xc0␍␊
[    1.399284]  arm64_serror_panic+0x6c/0x7c␍␊
[    1.399289]  do_serror+0x58/0x5c␍␊
[    1.399294]  el1h_64_error_handler+0x30/0x4c␍␊
[    1.399301]  el1h_64_error+0x78/0x7c␍␊
[    1.399309]  of_match_node+0x28/0xb0␍␊
[    1.399320]  i2c_imx_probe+0x33c/0xa10␍␊
[    1.399327]  platform_probe+0x68/0xe0␍␊
[    1.399334]  really_probe+0xbc/0x46c␍␊
[    1.399344]  __driver_probe_device+0x104/0x160␍␊
[    1.399350]  driver_probe_device+0x40/0x120␍␊
[    1.399359]  __device_attach_driver+0xbc/0x160␍␊
[    1.399369]  bus_for_each_drv+0x7c/0xdc␍␊
[    1.399375]  __device_attach+0xac/0x1f0␍␊
[    1.399383]  device_initial_probe+0x14/0x20␍␊
[    1.399393]  bus_probe_device+0x98/0xa0␍␊
[    1.399401]  deferred_probe_work_func+0x94/0xe4␍␊
[    1.399410]  process_one_work+0x1d0/0x374␍␊
[    1.399418]  worker_thread+0x2c0/0x490␍␊
[    1.399426]  kthread+0x150/0x160␍␊
[    1.399435]  ret_from_fork+0x10/0x20␍␊
[    1.399447] SMP: stopping secondary CPUs␍␊
[    1.399773] Kernel Offset: disabled␍␊
[    1.399774] CPU features: 0x0,00002001,20000846␍␊
[    1.399779] Memory Limit: none␍␊

Software summary

Bootloader: U-Boot
Kernel version: 5.15.148-6.6.0-6.6.0+git.23a8e831749d #1 SMP PREEMPT Thu Feb 29 20:25:21 UTC 2024
Kernel command line: root=PARTUUID=e6cc09cb-02 ro rootwait console=tty1 console=ttymxc2,115200 consoleblank=0 earlycon
Distro name: NAME=“TDX Wayland with XWayland”
Distro version: VERSION_ID=6.6.0-build.12
Distro variant: -
Hostname: verdin-imx8mp-15336214

Hardware info

HW model: Toradex Verdin iMX8M Plus on Verdin Development Board
Toradex version: 0063 V1.1B
Serial number: 15336214
Processor arch: aarch64

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Handshake,

The kernel panic you’re experiencing, indicated by the “Kernel panic - not syncing: Asynchronous SError Interrupt” message, suggests a severe system error, often related to hardware issues or a critical failure in the system’s software. Given the context, there are several steps and considerations to troubleshoot and potentially resolve the issue:

  1. Check for Hardware Issues: Since the error mentions an “SError,” which stands for System Error, it’s possible that there’s a hardware-related problem. Ensure that the Verdin SOM is properly seated on the development board and that there are no visible signs of damage to the SOM or the development board.

  2. Review Device Tree Overlays (DTOs): You’ve mentioned applying a device tree overlay to disable UART4. Ensure that this overlay is correctly applied and does not conflict with other system configurations. Incorrect DTOs can lead to system instability and crashes.

  3. Validate the M7 Firmware: Since the issue arises when running code on the M7 microcontroller, ensure that the firmware is correctly built for the target and does not contain any operations that could interfere with the resources used by the Linux system running on the A-core. For instance, accessing shared peripherals or memory regions without proper synchronization can lead to system crashes.

  4. Update to a Stable Release: The log indicates that you’re using a build marked as not a production release. If possible, update to a stable release of the BSP and TorizonCore. Development or pre-release versions might contain bugs that can lead to system instability.

  5. Review Kernel and U-Boot Versions: Ensure that the versions of the Linux kernel and U-Boot bootloader are compatible with your hardware and the version of the TorizonCore or BSP you’re using. Incompatibilities here can lead to system boot issues and kernel panics.

  6. Check Power Supply: Insufficient or unstable power supply can cause the system to behave unpredictably. Verify that your power supply meets the requirements for the Verdin Development Board and the Verdin iMX8M Plus module.

  7. Inspect Serial Output and Logs: The serial console output and system logs can provide more insights into what might be causing the system error. Look for any errors or warnings that occur before the system crash.

  8. Isolate the Issue: If possible, try running a minimal FreeRTOS application that does not interact with any peripherals or shared resources to see if the issue persists. This can help determine if the problem is related to specific parts of your application code

Please, also check if these links can help you solve your problem:

Embedded Linux Release Matrix | Toradex Developer Center.

Hi,
Just noticed that the SOMS that were working are Toradex version: 0063 V1.1A

Greetings @mmti,

This is a recent known issue with the 1.1B revision of the module. The current solution is to run the following in U-Boot:

Verdin iMX8MP # mw.w 0x550ff000 0 64

This sets the memory area to be used by the M7 into a “good” state.

Best Regards,
Jeremias

Hi Jeremais,

This does allow me to run the “hello world” code. I have not tried anything further yet.
How do I make this persistent between reboots ?

edit - I’ve tried my application code and I’m getting segmentation faults while trying to read some shared memory between the M7 and A53.

Does Toradex have any REV1.1A stock for sale ?

Thanks !

How do I make this persistent between reboots ?

Currently I don’t believe there is a way to. Power-cycling the hardware resets the state of the memory, so this needs to be executed every boot. Best that can be done at the moment is to modify the U-Boot environment so this gets executed as part of the boot process for the M7.

I’ve tried my application code and I’m getting segmentation faults while trying to read some shared memory between the M7 and A53.

I assume this only happens on 1.1B? And even with the memory “fix”?

If yes I’ll need more details here about this issue you’re having.

Does Toradex have any REV1.1A stock for sale ?

I’ll need to run this by our sales team internally and get back to you on this point.

Best Regards,
Jeremias

Hi Jeremais,

Yes, This is only happening on HW1.1B.

I’ve added a reserved memory region in my overlay:

&resmem {
        #address-cells = <2>;
        #size-cells = <2>;

         cmddr0@80000000 {
                reg = <0 0x8FF00000 0 0x100000>;
                no-map;
         };
};

I stopped U boot and entered mw.w 0x550ff000 0 64, then continued the booting with run distro_bootcmd.

I tried reading location 0x8FF00000 with devmem2 and even that fails.

root@verdin-imx8mp-15336212:~# ./devmem2 0x8FF00000
/dev/mem opened.
Error at line 75, file ../src/devmem2.c (1) [Operation not permitted]

This is all working on HW1.1A.

Cheers !

I see, well perhaps the issue here is similar to the original issue. Maybe the memory location at 0x8FF00000 is also in a not ideal default state to be worked with. Could you try using mw.w in U-Boot to set this region of memory to 0 as well. Let me know if that helps or not. If not I can bring this up to our team internally for investigation.

Best Regards,
Jeremias

Hi,
I also issued a:
mw.w 0x8FF00000 0 100000

and it did not make any difference.

Thanks for the feedback. Let me bring this up to the team maybe there’s more differences between the 1.1B and 1.1A memory than we initially realized.

If you don’t mind could you try reading what the default state of that memory area is on the 1.1B vs the 1.1A. You should be able to do so with the md command in U-Boot. For example md 0x8FF00000. This should show whether there is a difference in initial state of this memory area between the two revisions.

Best Regards,
Jeremias

Hi Jeremias,

I’ve contacted sales and hopefully some 1.1A SOMS will be shipped from Europe to North America this week. Once I get a unit I can reply with an answer.

Hi Jeremias,

It looks like our code is working on the 1.1B with the U boot command. I’m not sure what happened last week with it failing - I think it was just something I was doing while trying to debug.

Thanks for the support !

with the U boot command

Do you mean the command I asked you to run last time to set that memory region to 0? mw.w 0x8FF00000 0 100000

In any case glad to hear your issue is resolved now.

Best Regards,
Jeremias

Hi,
No - just the original region you mentioned.

setenv bootcmd "mw.w 0x550ff000 0 64;run cm_boot; ${bootcmd}"

Is what I’ve set up for this.

Cheers !