Stuck at boot on imx6qp: EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)

Hi everyone,
I'm creating a custom openwrt build for the MCIMX6QP-SDB and am having some trouble with the boot sequence. The boot sequence stops at a certain point and then reboots doing it all over again and getting stuck at the same spot. Does anyone know what might be causing this? Any help is appreciated, the serial output is below:

U-Boot SPL 2022.04-01013-g2fab958032-dirty (May 16 2023 - 15:45:21 -0400)
Trying to boot from MMC1


U-Boot 2022.04-01013-g2fab958032-dirty (May 16 2023 - 15:45:21 -0400)

CPU:   Freescale i.MX6QP rev1.0 996 MHz (running at 792 MHz)
CPU:   Automotive temperature grade (-40C to 125C) at 37C
Reset cause: POR
Model: Freescale i.MX6 Quad Plus SABRE Smart Device Board
I2C:   ready
DRAM:  1 GiB
Core:  60 devices, 15 uclasses, devicetree: separate
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 4, FSL_SDHC: 1, FSL_SDHC: 3
Loading Environment from MMC... OK
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
Net:   eth0: ethernet@2188000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Failed to load 'boot.scr'
Failed to load 'boot/boot.scr'
2441320 bytes read in 121 ms (19.2 MiB/s)
Booting from mmc ...
42424 bytes read in 7 ms (5.8 MiB/s)
Kernel image @ 0x12000000 [ 0x000000 - 0x254028 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1800d5b7

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.14.302 (manta@britney-virtual-machine) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11252-307b66df13)) #0 SMP Wed Apr 19 12:26:45 2023
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Freescale i.MX6 Quad Plus SABRE Smart Device Board
Memory policy: Data cache writealloc
percpu: Embedded 14 pages/cpu s26892 r8192 d22260 u57344
Built 1 zonelists, mobility grouping on.  Total pages: 260096
Kernel command line: console=ttymxc0,115200,115200 root=PARTUUID=c96faeb1-02 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1030524K/1048576K available (5021K kernel code, 202K rwdata, 1364K rodata, 1024K init, 213K bss, 18052K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc0800000 - 0xff800000   (1008 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    modules : 0x7f000000 - 0x80000000   (  16 MB)
      .text : 0x80008000 - 0x805e7588   (6014 kB)
      .init : 0x80800000 - 0x80900000   (1024 kB)
      .data : 0x80900000 - 0x80932840   ( 203 kB)
       .bss : 0x80937904 - 0x8096d050   ( 214 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Hierarchical RCU implementation.
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 1024 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76470001
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x10100000 - 0x10100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU1: Spectre v2: using BPIALL workaround
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU2: Spectre v2: using BPIALL workaround
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
CPU3: Spectre v2: using BPIALL workaround
smp: Brought up 1 node, 4 CPUs
SMP: Total of 4 processors activated (24.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
CPU identified as i.MX6QP, silicon rev 1.0
vdd1p1: supplied by regulator-dummy
vdd3p0: supplied by regulator-dummy
vdd2p5: supplied by regulator-dummy
anatop_regulator 20c8000.anatop:regulator-vddcore: failed to register vddarm
anatop_regulator 20c8000.anatop:regulator-vddsoc: failed to register vddsoc
imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 110000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA, using PIO instead.
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA, using PIO instead.
i2c i2c-2: IMX I2C adapter registered
i2c i2c-2: can't use DMA, using PIO instead.
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
clocksource: Switched to clocksource mxc_timer1
FS-Cache: Loaded
NET: Registered protocol family 2
IP idents hash table entries: 16384 (order: 5, 131072 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
workingset: timestamp_bits=30 max_order=18 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
io scheduler noop registered
io scheduler deadline registered (default)
imx-pgc-pd imx-pgc-power-domain.0: Linked as a consumer to 20dc000.gpc
imx-sdma 20ec000.sdma: loaded firmware 3.5
pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1
pfuze100-regulator 1-0008: FAB: 0, FIN: 0
pfuze100-regulator 1-0008: pfuze100 found.
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 26, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
loop: module loaded
spi_imx 2008000.spi: probed
fec 2188000.ethernet: 2188000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
fec 2188000.ethernet eth0: registered PHC device 0
e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usb_otg_vbus: supplied by SWBST
usb_h1_vbus: supplied by SWBST
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
imx2-wdt 20c0000.wdog: timeout 60 sec (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO
mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
mmc1: new high speed SDHC card at address 5048
mmc2: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
mmcblk1: mmc1:5048 SD08G 7.42 GiB 
caam 2100000.caam: device ID = 0x0a16010000000000 (Era -524)
 mmcblk1: p1 p2 p3 p4
caam 2100000.caam: job rings = 2, qi = 0, dpaa2 = no
caam algorithms registered in /proc/crypto
caam_jr 2101000.jr0: registering rng-caam
NET: Registered protocol family 10
Segment Routing with IPv6
NET: Registered protocol family 17
bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
8021q: 802.1Q VLAN Support v1.8
vddpu: supplied by SW1C
Registering SWP/SWPB emulation handler
Key type encrypted registered
vddarm: supplied by SW2
vddsoc: supplied by SW1C
mmc2: new DDR MMC card at address 0001
PU : no governor for states
mmcblk2: mmc2:0001 Q2J55L 7.13 GiB 
imx-pgc-pd imx-pgc-power-domain.1: Linked as a consumer to 20dc000.gpc
mmcblk2boot0: mmc2:0001 Q2J55L partition 1 2.00 MiB
mmcblk2boot1: mmc2:0001 Q2J55L partition 2 2.00 MiB
mmcblk2rpmb: mmc2:0001 Q2J55L partition 3 4.00 MiB, chardev (249:0)
imx_thermal tempmon: Automotive CPU temperature grade - max:125C critical:120C passive:115C
hctosys: unable to open rtc device (rtc0)
usb_otg_vbus: disabling
wm8962-supply: disabling
MPCIE_3V3: disabling
VGEN2: disabling
VGEN3: disabling
EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
Freeing unused kernel memory: 1024K
init: Console is alive
init: - watchdog -
kmodloader: loading kernel modules from /etc/modules-boot.d/*
ehci-platform: EHCI generic platform driver
kmodloader: done loading kernel modules from /etc/modules-boot.d/*
init: - preinit -
random: jshn: uninitialized urandom read (4 bytes read)
random: jshn: uninitialized urandom read (4 bytes read)
random: jshn: uninitialized urandom read (4 bytes read)
Generic PHY 2188000.ethernet-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
mount_root: mounting /dev/root
EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
urandom-seed: Seeding with /etc/urandom.seed
procd: - early -
procd: - watchdog -
random: jshn: uninitialized urandom read (4 bytes read)
Failed to connect to ubus
procd: - watchdog -
procd: - ubus -
random: ubusd: uninitialized urandom read (4 bytes read)
random: ubusd: uninitialized urandom read (4 bytes read)
procd: - init -
Please press Enter to activate this console.
kmodloader: loading kernel modules from /etc/modules.d/*
NET: Registered protocol family 38
urngd: v1.0.2 started.
NET: Registered protocol family 8
NET: Registered protocol family 20
device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com
ip6_tables: (C) 2000-2006 Netfilter Core Team
random: crng init done
Netfilter messages via NETLINK v0.30.
random: 11 urandom warning(s) missed due to ratelimiting
ip_set: protocol 6
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver cdc_wdm
Loading modules backported from Linux version v4.19.137-0-gc076c79e03c6
Backport generated by backports.git v4.19.137-1-0-g60c3a249
usbcore: registered new interface driver dm9601
hso: drivers/net/usb/hso.c: Option Wireless
usbcore: registered new interface driver hso
ip_tables: (C) 2000-2006 Netfilter Core Team
usbcore: registered new interface driver ipheth
usbcore: registered new interface driver kaweth
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
usbcore: registered new interface driver plusb
usbcore: registered new interface driver qmi_wwan
usbcore: registered new interface driver r8152
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver rtl8150
usbcore: registered new interface driver sierra_net
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver sr9700
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
xt_time: kernel timezone is -0000
usbcore: registered new interface driver cdc_mbim
PPP generic driver version 2.4.2
NET: Registered protocol family 24
usbcore: registered new interface driver sierra
usbserial: USB Serial support registered for Sierra USB modem
usbcore: registered new interface driver qcserial
usbserial: USB Serial support registered for Qualcomm USB modem
kmodloader: done loading kernel modules from /etc/modules.d/*
Generic PHY 2188000.ethernet-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
kmodloader: loading kernel modules from /usr/lib/g_ether*
using random self ethernet address
using random host ethernet address
usb0: HOST MAC b2:b0:98:04:c3:65
usb0: MAC 42:87:06:00:26:e9
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
br-lan: port 1(usb0) entered blocking state
kmodloader: done loading kernel modules from /usr/lib/g_ether*
br-lan: port 1(usb0) entered disabled state
device usb0 entered promiscuous mode
IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
Generic PHY 2188000.ethernet-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
kmodloader: loading kernel modules from /usr/lib/g_ether*
kmodloader: done loading kernel modules from /usr/lib/g_ether*
Generic PHY 2188000.ethernet-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
device usb0 left promiscuous mode
br-lan: port 1(usb0) entered disabled state
IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
ci_hdrc ci_hdrc.1: remove, state 4
usb usb1: USB disconnect, device number 1
ci_hdrc ci_hdrc.1: USB bus 1 deregistered
imx2-wdt 20c0000.wdog: Device shutdown: Expect reboot!
reboot: Restarting system

U-Boot SPL 2022.04-01013-g2fab958032-dirty (May 16 2023 - 15:45:21 -0400)
Trying to boot from MMC1


U-Boot 2022.04-01013-g2fab958032-dirty (May 16 2023 - 15:45:21 -0400)

CPU:   Freescale i.MX6QP rev1.0 996 MHz (running at 792 MHz)
CPU:   Automotive temperature grade (-40C to 125C) at 39C
Reset cause: POR
Model: Freescale i.MX6 Quad Plus SABRE Smart Device Board
I2C:   ready
DRAM:  1 GiB
Core:  60 devices, 15 uclasses, devicetree: separate
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 4, FSL_SDHC: 1, FSL_SDHC: 3
Loading Environment from MMC... OK
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
Net:   eth0: ethernet@2188000
Hit any key to stop autoboot:  0 

Openwrt 18.06 ?

Time to upgrade.

i have to stick with those versions unfortunately due to project constraints.

then we wish you luck, fingers X:ed.

imx2-wdt 20c0000.wdog: Device shutdown: Expect reboot!

This is the Watchdog driver triggering the reboot. I'm not familiar with the specific hardware, but you'll need to figure out how to satisfy the watchdog or if you don't have a need for the watchdog set CONFIG_IMX2_WDT to N.

After disabling watchdog I still get stuck at the same place. Instead of rebooting indefinitely the system halts.

EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
ci_hdrc ci_hdrc.1: remove, state 4
usb usb1: USB disconnect, device number 1
ci_hdrc ci_hdrc.1: USB bus 1 deregistered
reboot: Restarting system
Reboot failed -- System halted

I've been trying to read through the watchdog code to see what triggers the reboot, but it's really hard to digest and doesn't make much sense to me.