walnascar_yocto_project_build_on_adlink_i.mx6_som

This page documents the current status of trying to get a modern (“walnascar”) Yocto Project (YP) build on a legacy carrier board built around an ADLINK LEC-iMX6 SMARC module. The last YP build for this target board used the “zeus” release, so that's a few years old, and that was the last release of YP that supported that particular ADLINK SoM, so this upgrade will have to cover a few years of bringing things up to date.

At the moment, a generic “walnascar” build targeting that board is actually booting, although unreliably – sometimes it boots to a command-line prompt, more often it hangs at exactly the same place in the boot process – but the fact that it can sometimes boot fully without even incorporating any of the old ADLINK-specific kernel patches is encouraging. It is at least a “proof of concept” that a totally generic YP build can boot on this board, even though it still has issues.

All of the following was done on a fully-updated Debian 13 (“trixie”) system.

List of things to ponder:

  1. Can you confirm the actual processor from the serial number?
  2. Is there a simpler hardware bringup/validation image than imx-image-core? Just to keep things simple. No GUI, simple command line, to focus on hardware validation.
  3. Did I select the correct .dtb file from all of the .dtb files that were generated?
  4. After creating a fresh USB boot drive, does an initial boot affect the USB drive in any way to affect subsequent boots?
  5. What other commands should I run and record after a successful boot? (More generally, what should be incorporated in a “H/W bringup” image?)

Here are links to most of what is relevant for this page.

As above, here's the page for the ADLINK LEC-iMX6 SMARC module.

Next, there are some zeus-related links representing the last production build for this target from some time ago:

Some of the walnascar-related links used in this build:

$ mkdir walnascar ; cd $_
$ repo init \
  -u https://github.com/nxp-imx/imx-manifest \
  -b imx-linux-walnascar \
  -m imx-6.12.34-2.1.0.xml
$ repo sync

Generic YP configuration for a given target board and distro:

$ MACHINE=imx6qdlsabresd DISTRO=fsl-imx-xwayland \
  . ./imx-setup-release.sh \
  -b build

For what it's worth, my .conf files for this build:

local.conf

MACHINE ??= 'imx6qdlsabresd'
DISTRO ?= 'fsl-imx-xwayland'
EXTRA_IMAGE_FEATURES ?= "allow-empty-password empty-root-password allow-root-login"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    HALT,${TMPDIR},100M,1K \
    HALT,${DL_DIR},100M,1K \
    HALT,${SSTATE_DIR},100M,1K \
    HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
CONF_VERSION = "2"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

# Switch to Debian packaging and include package-management in the image
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "package-management"

site.conf (to use my personal local source mirror)

SCONF_VERSION = "1"
SOURCE_MIRROR_URL ?= "file:///home/rpjday/oe/tarballs/"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"
# BB_NO_NETWORK = "1"
INIT_MANAGER = "systemd"
PACKAGE_CLASSES = "package_deb"

My precise sequence of instructions – just the way I do things:

$ bitbake --runall=fetch imx-image-core
$ export BB_NUMBER_THREADS=8
$ bitbake imx-image-core

NOTE: While the generic docs recommend building the imx-image-core image, it seems like this is overkill because it incorporates a desktop. I'm more interested in an image that is far simpler (command line only), and that more closely resembles a “hardware bringup/validation” image, if anyone has any suggestions.

Build Configuration:
BB_VERSION           = "2.12.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "imx6qdlsabresd"
DISTRO               = "fsl-imx-xwayland"
DISTRO_VERSION       = "6.12-walnascar"
TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
TARGET_FPU           = "hard"
meta                 
meta-poky            = "HEAD:b642d6a4a93a23d5b99886844ff7b224aa7e13bf"
meta-oe              
meta-multimedia      
meta-python          = "HEAD:dca497d728792e3cb655c78455c2d649af312ce8"
meta-freescale       = "HEAD:167ff4ddb79299cf5477e94620a9e598659c407b"
meta-freescale-3rdparty = "HEAD:68d47bf4dde321f1289758fe6c36bfbdad81fc30"
meta-freescale-distro = "HEAD:b9c3536b68271c420fe5de36fc284781ceaa32ab"
meta-imx-bsp         
meta-imx-sdk         
meta-imx-ml          
meta-imx-v2x         = "HEAD:5fe9cc9d449af5482c49d6b57e0c5fbd3809e380"
meta-nxp-demo-experience = "HEAD:a5bc57e29f177e7ac801a68ece97b3c141f1a423"
meta-nxp-matter-baseline 
meta-nxp-openthread  = "HEAD:3409f5dcf55233ed3e285d8c7f2d4be773576da5"
meta-arm             
meta-arm-toolchain   = "HEAD:2de04c3d31e119d4bedbea24b9c63a8c113a1ce3"
meta-clang           = "HEAD:003cba92e982bdd565a6889f28799f8bba14957e"
meta-gnome           
meta-networking      
meta-filesystems     
meta-perl            = "HEAD:dca497d728792e3cb655c78455c2d649af312ce8"
meta-qt6             = "HEAD:00c3bd954341a2a755fdee6b978af952f51793e7"
meta-parsec          
meta-tpm             = "HEAD:784ca4b6584101e971b2d5d76ec7b716ad1301b5"
meta-virtualization  = "HEAD:898239e810acbb7db93299f20deec8afe434f11b"
-rw-r--r-- 2 rpjday rpjday       824 Oct 16 15:54 imx-image-core-imx-uboot-bootpart.wks
-rw-r--r-- 2 rpjday rpjday     69932 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.manifest
-rw-r--r-- 2 rpjday rpjday  20523388 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.spdx.json
-rw-r--r-- 2 rpjday rpjday 192855295 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.tar.zst
-rw-r--r-- 2 rpjday rpjday   1519801 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.testdata.json
-rw-r--r-- 2 rpjday rpjday      3395 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.wic.bmap
-rw-r--r-- 2 rpjday rpjday 202798519 Oct 16 15:54 imx-image-core-imx6qdlsabresd.rootfs-20251016190317.wic.zst
-rw-r--r-- 2 rpjday rpjday      6559 Oct 16 15:54 imx-image-core.env
-rw-r--r-- 2 rpjday rpjday     55196 Oct 16 14:29 imx6dl-sabresd-btwifi.dtb
-rw-r--r-- 2 rpjday rpjday     54540 Oct 16 14:29 imx6dl-sabresd-enetirq.dtb
-rw-r--r-- 2 rpjday rpjday     54412 Oct 16 14:29 imx6dl-sabresd-hdcp.dtb
-rw-r--r-- 2 rpjday rpjday     54331 Oct 16 14:29 imx6dl-sabresd-ldo.dtb
-rw-r--r-- 2 rpjday rpjday     54407 Oct 16 14:29 imx6dl-sabresd-pcie-ep.dtb
-rw-r--r-- 2 rpjday rpjday     54407 Oct 16 14:29 imx6dl-sabresd-pcie.dtb
-rw-r--r-- 2 rpjday rpjday     54411 Oct 16 14:29 imx6dl-sabresd.dtb
-rw-r--r-- 2 rpjday rpjday     54442 Oct 16 14:29 imx6q-sabresd-btwifi.dtb
-rw-r--r-- 2 rpjday rpjday     53786 Oct 16 14:29 imx6q-sabresd-enetirq.dtb
-rw-r--r-- 2 rpjday rpjday     53658 Oct 16 14:29 imx6q-sabresd-hdcp.dtb
-rw-r--r-- 2 rpjday rpjday     53577 Oct 16 14:29 imx6q-sabresd-ldo.dtb
-rw-r--r-- 2 rpjday rpjday     53653 Oct 16 14:29 imx6q-sabresd-pcie-ep.dtb
-rw-r--r-- 2 rpjday rpjday     53653 Oct 16 14:29 imx6q-sabresd-pcie.dtb
-rw-r--r-- 2 rpjday rpjday     53741 Oct 16 14:29 imx6q-sabresd-uart.dtb
-rw-r--r-- 2 rpjday rpjday     53657 Oct 16 14:29 imx6q-sabresd.dtb
-rw-r--r-- 2 rpjday rpjday     56166 Oct 16 14:29 imx6qp-sabresd-btwifi.dtb
-rw-r--r-- 2 rpjday rpjday     55382 Oct 16 14:29 imx6qp-sabresd-hdcp.dtb
-rw-r--r-- 2 rpjday rpjday     55301 Oct 16 14:29 imx6qp-sabresd-ldo.dtb
-rw-r--r-- 2 rpjday rpjday     55381 Oct 16 14:29 imx6qp-sabresd-pcie-ep.dtb
-rw-r--r-- 2 rpjday rpjday     55381 Oct 16 14:29 imx6qp-sabresd.dtb
-rw-r--r-- 2 rpjday rpjday   2870095 Oct 16 14:29 modules--6.12.34+git0+be78e49cb4-r0-imx6qdlsabresd-20251016174712.tgz
-rw-r--r-- 2 rpjday rpjday      4947 Oct 16 15:52 u-boot-imx-initial-env-imx6qdlsabresd-sd-2025.04-r0
-rw-r--r-- 2 rpjday rpjday    658432 Oct 16 15:52 u-boot-sd-2025.04-r0.imx
-rw-r--r-- 2 rpjday rpjday    658471 Oct 16 15:52 u-boot.imx.tagged
-rw-r--r-- 2 rpjday rpjday   9771096 Oct 16 14:29 zImage--6.12.34+git0+be78e49cb4-r0-imx6qdlsabresd-20251016174712.bin

Format a USB drive with a single ext2-format partition, and copy/expand onto it (rootfs .zst already includes zImage and kernel modules):

  • imx-image-core-imx6qdlsabresd.rootfs-20251014140727.tar.zst
  • imx6dl-sabresd.dtb

The target board has an ADLINK-specific version of U-Boot so that can't be changed, but we have the freedom to modify the environment – here's what is set at the moment (“run boot_wal” is what I'm using to test):

baudrate=115200
board_name=SABRESD
board_rev=MX6Q
boot=$LOAD && $LOAD $fdtaddr $fdtfile && setenv bootargs $mtdparts $params root=/dev/$BOOTARGS && bootm $loadaddr - $fdtaddr
boot_emmc=LOAD='ext2load mmc 0:1'; BOOTARGS='mmcblk0p1 ro'; run boot
boot_rom=LOAD=fsload; BOOTARGS='mtdblock1 ro rootfstype=cramfs,jffs2'; run boot
boot_sata=dcache off; sata init; LOAD='ext2load sata 0:1'; BOOTARGS='sda1 ro'; run boot
boot_sd=LOAD='fatload mmc 1:1'; BOOTARGS='mmcblk1p2 ro'; run boot
boot_sdmmc=LOAD='ext2load mmc 2:1'; BOOTARGS='mmcblk3p1 ro'; run boot
boot_usb=usb start; LOAD='ext2load usb 0:1'; BOOTARGS='sda1 ro'; run boot
boot_wal=usb start ; LOAD='ext2load usb 0:1' ; BOOTARGS='sda1 ro' ; run walboot
bootargs=mtdparts=spi3.0:384K(u-boot)ro,-(root) rootwait console=ttymxc0,115200 root=/dev/sda1 ro
bootcmd=run boot_emmc
bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
bootdelay=10
bootfile=/boot/zImage
emmc_dev=0
ethact=FEC
ethaddr=00:30:64:77:34:df
ethprime=FEC
fdt_high=0xffffffff
fdtaddr=0x18000000
fdtcontroladdr=4ef69060
fdtfile=/boot/imx6dl-sabresd.dtb
fileaddr=18000000
filesize=a9c9
initrd_addr=0x12C00000
initrd_high=0xffffffff
kboot=bootz 
loadaddr=0x12000000
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused 
mtdparts=mtdparts=spi3.0:384K(u-boot)ro,-(root)
params=rootwait console=ttymxc0,115200
sd_dev=2
serial#=dde33414220931d4
soc_type=imx6q
spi_bus=0
spi_uboot=0x400
stderr=serial
stdin=serial
stdout=serial
tee=yes
walboot=$LOAD && $LOAD $fdtaddr $fdtfile && setenv bootargs $mtdparts $params root=/dev/$BOOTARGS && bootz $loadaddr - $fdtaddr
weim_base=0x08000000
weim_uboot=0x08001000

NOTE: In reproducing this build to document it properly, it actually booted to a command-line prompt, which doesn't happen that often.

Given the above, when I boot from the USB drive, I get this:

=> run boot_wal
starting USB...
Bus usb@02184000: Port not available.
Bus usb@2184200: USB EHCI 1.00
scanning bus usb@2184200 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
9771096 bytes read in 326 ms (28.6 MiB/s)
54411 bytes read in 9 ms (5.8 MiB/s)
Kernel image @ 0x12000000 [ 0x000000 - 0x951858 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1801048a
switch to ldo_bypass mode!

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 6.12.34-lts-next-gbe78e49cb433 (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 14.3.0, GNU ld (GNU Binutils) 2.44.0.20250715) #1 SMP PREEMPT Wed Sep  3 05:59:19 UTC 2025
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Freescale i.MX6 DualLite SABRE Smart Device Board
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x3c000000, size 320 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x3c000000..0x4fffffff (327680 KiB) map reusable linux,cma
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000010000000-0x000000004fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000010000000-0x000000004fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000010000000-0x000000004fffffff]
[    0.000000] percpu: Embedded 13 pages/cpu s23180 r8192 d21876 u53248
[    0.000000] Kernel command line: mtdparts=spi3.0:384K(u-boot)ro,-(root) rootwait console=ttymxc0,115200 root=/dev/sda1 ro
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 262144
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=4 to nr_cpu_ids=2.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C-310 errata 752271 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 16 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] Switching to timer-based delay loop, resolution 333ns
[    0.000001] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[    0.000019] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[    0.001704] Console: colour dummy device 80x30
[    0.001740] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[    0.001754] CPU: Testing write buffer coherency: ok
[    0.001788] CPU0: Spectre v2: using BPIALL workaround
[    0.001796] pid_max: default: 32768 minimum: 301
[    0.001985] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002012] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002923] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.004698] Setting up static identity map for 0x10100000 - 0x10100060
[    0.004922] rcu: Hierarchical SRCU implementation.
[    0.004928] rcu: 	Max phase no-delay instances is 1000.
[    0.005321] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.005902] smp: Bringing up secondary CPUs ...
[    0.006854] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.006871] CPU1: Spectre v2: using BPIALL workaround
[    0.007037] smp: Brought up 1 node, 2 CPUs
[    0.007050] SMP: Total of 2 processors activated (12.00 BogoMIPS).
[    0.007060] CPU: All CPU(s) started in SVC mode.
[    0.007544] Memory: 686316K/1048576K available (14336K kernel code, 1347K rwdata, 4748K rodata, 1024K init, 433K bss, 33256K reserved, 327680K cma-reserved, 0K highmem)
[    0.008058] devtmpfs: initialized
[    0.018565] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.018832] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.018856] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.035784] pinctrl core: initialized pinctrl subsystem
[    0.037574] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.046130] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.047444] thermal_sys: Registered thermal governor 'step_wise'
[    0.047510] cpuidle: using governor menu
[    0.047720] CPU identified as i.MX6Q, silicon rev 1.6
[    0.061196] /soc/bus@2000000/clock-controller@20c4000: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
[    0.061351] /soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
[    0.061427] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.061482] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.061556] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.061609] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.062239] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
[    0.062292] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
[    0.062378] /soc/bus@2100000/mipi@21e0000: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.062435] /soc/ipu@2400000: Fixed dependency cycle(s) with /ldb/lvds-channel@1
[    0.062454] /soc/ipu@2400000: Fixed dependency cycle(s) with /ldb/lvds-channel@0
[    0.062480] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21e0000
[    0.062512] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
[    0.062550] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
[    0.064823] /soc/bus@2000000/clock-controller@20c4000: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
[    0.064963] /soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
[    0.065037] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.065092] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.065164] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.065216] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.071275] mxs_phy 20c9000.usbphy: supply phy-3p0 not found, using dummy regulator
[    0.071837] mxs_phy 20ca000.usbphy: supply phy-3p0 not found, using dummy regulator
[    0.073429] /soc/bus@2000000/gpc@20dc000: Fixed dependency cycle(s) with /soc/bus@2000000/clock-controller@20c4000
[    0.073799] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.073846] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.073908] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.073952] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.074321] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.074373] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.074601] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.074653] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.074926] /soc/bus@2000000/pinctrl@20e0000: Fixed dependency cycle(s) with /soc/bus@2000000/pinctrl@20e0000/imx6qdl-sabresd/hoggrp
[    0.077081] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
[    0.077218] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
[    0.077371] /soc/bus@2100000/mipi@21e0000: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.081934] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.082069] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21dc000
[    0.082190] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
[    0.082328] /soc/bus@2100000/mipi@21dc000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
[    0.082675] /soc/bus@2100000/mipi@21e0000: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083137] /soc/bus@2100000/mipi@21e0000: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083248] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083363] /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083486] /ldb/lvds-channel@1: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083595] /ldb/lvds-channel@0: Fixed dependency cycle(s) with /soc/ipu@2400000
[    0.083618] /soc/ipu@2400000: Fixed dependency cycle(s) with /ldb/lvds-channel@1
[    0.083639] /soc/ipu@2400000: Fixed dependency cycle(s) with /ldb/lvds-channel@0
[    0.083661] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2100000/mipi@21e0000
[    0.083750] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi1_mux
[    0.083849] /soc/ipu@2400000: Fixed dependency cycle(s) with /soc/bus@2000000/iomuxc-gpr@20e0000/ipu1_csi0_mux
[    0.090934] No ATAGs?
[    0.091040] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.091052] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.092267] imx6dl-pinctrl 20e0000.pinctrl: initialized IMX pinctrl driver
[    0.096748] imx mu driver is registered.
[    0.097229] imx rpmsg driver is registered.
[    0.098843] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.100706] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.102820] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.104706] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.106545] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.108463] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.110424] gpio gpiochip5: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.112380] gpio gpiochip6: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.118675] SCSI subsystem initialized
[    0.119212] usbcore: registered new interface driver usbfs
[    0.119273] usbcore: registered new interface driver hub
[    0.119316] usbcore: registered new device driver usb
[    0.119458] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests (id=vbus)
[    0.119666] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests (id=vbus)
[    0.121266] i2c i2c-0: using pinctrl states for GPIO recovery
[    0.121345] gpio-155 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.121360] i2c i2c-0: using generic GPIOs for recovery
[    0.122451] i2c i2c-0: IMX I2C adapter registered
[    0.123688] i2c i2c-1: using pinctrl states for GPIO recovery
[    0.123768] gpio-108 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.123783] i2c i2c-1: using generic GPIOs for recovery
[    0.125046] i2c i2c-1: IMX I2C adapter registered
[    0.125950] i2c i2c-2: using pinctrl states for GPIO recovery
[    0.126019] gpio-3 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.126032] i2c i2c-2: using generic GPIOs for recovery
[    1.159614] i2c i2c-2: Max17135 PMIC not found!
[    1.159873] i2c i2c-2: IMX I2C adapter registered
[    1.160855] mc: Linux media interface: v0.10
[    1.160932] videodev: Linux video capture interface: v2.00
[    1.161008] pps_core: LinuxPPS API ver. 1 registered
[    1.161014] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.161036] PTP clock support registered
[    1.162926] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[    1.163642] mxc_mipi_csi2 21dc000.mipi: i.MX MIPI CSI2 driver probed
[    1.163655] mxc_mipi_csi2 21dc000.mipi: i.MX MIPI CSI2 dphy version is 0x3130302a
[    1.164092] MIPI CSI2 driver module loaded
[    1.164143] Advanced Linux Sound Architecture Driver Initialized.
[    1.165431] Bluetooth: Core ver 2.22
[    1.165473] NET: Registered PF_BLUETOOTH protocol family
[    1.165480] Bluetooth: HCI device and connection manager initialized
[    1.165493] Bluetooth: HCI socket layer initialized
[    1.165503] Bluetooth: L2CAP socket layer initialized
[    1.165537] Bluetooth: SCO socket layer initialized
[    1.165934] vgaarb: loaded
[    1.166507] clocksource: Switched to clocksource mxc_timer1
[    1.166904] VFS: Disk quotas dquot_6.6.0
[    1.166944] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.179201] NET: Registered PF_INET protocol family
[    1.179635] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    1.181480] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    1.181514] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.181531] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    1.181686] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    1.181978] TCP: Hash tables configured (established 8192 bind 8192)
[    1.182189] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.182239] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.182435] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.183107] RPC: Registered named UNIX socket transport module.
[    1.183117] RPC: Registered udp transport module.
[    1.183123] RPC: Registered tcp transport module.
[    1.183129] RPC: Registered tcp-with-tls transport module.
[    1.183134] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.184734] PCI: CLS 0 bytes, default 64
[    1.186621] failed to find imx6q-iomux device tree data!
[    1.186636] imx_busfreq soc:busfreq: Busfreq init of ddr controller failed
[    1.186646] imx_busfreq soc:busfreq: probe with driver imx_busfreq failed with error -22
[    1.186760] Bus freq driver module loaded
[    1.187696] Initialise system trusted keyrings
[    1.188002] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    1.188710] NFS: Registering the id_resolver key type
[    1.188801] Key type id_resolver registered
[    1.188807] Key type id_legacy registered
[    1.188846] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.188855] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.189019] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    1.189383] fuse: init (API version 7.41)
[    1.383137] Key type asymmetric registered
[    1.383149] Asymmetric key parser 'x509' registered
[    1.383205] io scheduler mq-deadline registered
[    1.383215] io scheduler kyber registered
[    1.383246] io scheduler bfq registered
[    1.394831] mxc_hdmi 20e0000.hdmi_video: supply HDMI not found, using dummy regulator
[    1.397442] mxc_sdc_fb fb@0: registered mxc display driver ldb
[    1.397640] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[    1.397673] fbcvt: 1920x1080@60: CVT Name - 2.073M9
[    1.397762] mxc_sdc_fb fb@1: registered mxc display driver hdmi
[    1.404198] mxs-dma 110000.dma-controller: initialized
[    1.412642] pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1
[    1.413193] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 276, base_baud = 5000000) is a IMX
[    1.413286] printk: legacy console [ttymxc0] enabled
[    1.426561] pfuze100-regulator 1-0008: FAB: 0, FIN: 0
[    1.457314] imx sema4 driver is registered.
[    1.458154] pfuze100-regulator 1-0008: pfuze100 found.
[    1.478502] brd: module loaded
[    2.968728] loop: module loaded
[    2.978854] spi-nor spi0.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[    2.988029] tun: Universal TUN/TAP device driver, 1.6
[    2.993339] CAN device driver interface
[    2.999212] e1000e: Intel(R) PRO/1000 Network Driver
[    3.004189] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    3.010615] usbcore: registered new device driver r8152-cfgselector
[    3.017012] usbcore: registered new interface driver r8152
[    3.022560] usbcore: registered new interface driver lan78xx
[    3.028327] usbcore: registered new interface driver asix
[    3.033788] usbcore: registered new interface driver ax88179_178a
[    3.039973] usbcore: registered new interface driver cdc_ether
[    3.045866] usbcore: registered new interface driver smsc95xx
[    3.051720] usbcore: registered new interface driver net1080
[    3.057480] usbcore: registered new interface driver cdc_subset
[    3.063460] usbcore: registered new interface driver zaurus
[    3.069120] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[    3.076613] usbcore: registered new interface driver cdc_ncm
[    3.082334] usbcore: registered new interface driver r8153_ecm
[    3.088377] usbcore: registered new interface driver usb-storage
[    4.266512] elan-touch 2-0010: elan - Read Hello Packet Failed
[    4.272486] elan-touch 2-0010: probe with driver elan-touch failed with error -110
[    4.280713] egalax_ts 1-0004: Failed to switch to I2C interface
[    5.306508] egalax_ts 2-0004: Failed to switch to I2C interface
[    5.312447] egalax_ts 2-0004: probe with driver egalax_ts failed with error -110
[    5.323501] input: max11801_ts as /devices/platform/soc/2100000.bus/21a4000.i2c/i2c-1/1-0048/input/input3
[    5.338163] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[    5.344348] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[    5.353633] i2c_dev: i2c /dev entries driver
[    9.806552] random: crng init done

then there is a pause of several seconds, and:

[   24.636600] 8<--- cut here ---
[   24.639743] Unable to handle kernel NULL pointer dereference at virtual address 00000000 when write
[   24.648852] [00000000] *pgd=00000000
[   24.652509] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[   24.658009] Modules linked in:
[   24.661078] CPU: 0 UID: 0 PID: 64 Comm: kworker/0:6 Not tainted 6.12.34-lts-next-gbe78e49cb433 #1
[   24.669967] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[   24.676503] Workqueue: events reduce_bus_freq_handler
[   24.681583] PC is at update_ddr_freq_imx_smp+0x64/0x34c
[   24.686824] LR is at update_ddr_freq_imx_smp+0x48/0x34c
[   24.692062] pc : [<80125aac>]    lr : [<80125a90>]    psr: a0000013
[   24.698338] sp : c0b45ec8  ip : ffffffea  fp : 00000000
[   24.703571] r10: 82007005  r9 : 00400000  r8 : 8276a300
[   24.708802] r7 : 00000001  r6 : 00000000  r5 : 016e3600  r4 : 81651e58
[   24.715337] r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : fffffffe
[   24.721873] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   24.729021] Control: 10c5387d  Table: 1000404a  DAC: 00000051
[   24.734774] Register r0 information: non-paged memory
[   24.739841] Register r1 information: NULL pointer
[   24.744557] Register r2 information: NULL pointer
[   24.749271] Register r3 information: NULL pointer
[   24.753985] Register r4 information: non-slab/vmalloc memory
[   24.759656] Register r5 information: non-paged memory
[   24.764718] Register r6 information: NULL pointer
[   24.769432] Register r7 information: non-paged memory
[   24.774493] Register r8 information: slab task_struct start 8276a300 pointer offset 0 size 2240
[   24.783227] Register r9 information: non-paged memory
[   24.788289] Register r10 information: slab maple_node start 82007000 pointer offset 5 size 256
[   24.796933] Register r11 information: NULL pointer
[   24.801735] Register r12 information: non-paged memory
[   24.806884] Process kworker/0:6 (pid: 64, stack limit = 0x22b016b8)
[   24.813163] Stack: (0xc0b45ec8 to 0xc0b46000)
[   24.817535] 5ec0:                   00000000 00000000 00000000 81651cfc 8165147c 824b3f80
[   24.825726] 5ee0: ab618780 8276a300 00400000 82007005 00000000 80123cb8 a0000013 82006000
[   24.833915] 5f00: 00400000 81651cfc 00000000 82007000 ab618780 8276a300 00400000 80124344
[   24.842103] 5f20: 82348d80 80148a18 80e63868 8276a300 ab618780 ab6187a0 81503d40 61c88647
[   24.850292] 5f40: 82348d80 ab618780 ab6187a0 81503d40 61c88647 8276a300 82348dac 80149098
[   24.858480] 5f60: c0b41ec0 00000000 c0b45f7c 82343940 8276a300 80148e44 82348d80 8263ca80
[   24.866668] 5f80: c0b41ec0 00000000 00000000 80152388 82343940 8015227c 00000000 00000000
[   24.874856] 5fa0: 00000000 00000000 00000000 8010014c 00000000 00000000 00000000 00000000
[   24.883043] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   24.891231] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[   24.899415] Call trace: 
[   24.899429]  update_ddr_freq_imx_smp from reduce_bus_freq+0x340/0x99c
[   24.908427]  reduce_bus_freq from reduce_bus_freq_handler+0x30/0x50
[   24.914715]  reduce_bus_freq_handler from process_one_work+0x158/0x2e0
[   24.921278]  process_one_work from worker_thread+0x254/0x3fc
[   24.926969]  worker_thread from kthread+0x10c/0x128
[   24.931882]  kthread from ret_from_fork+0x14/0x28
[   24.936609] Exception stack(0xc0b45fb0 to 0xc0b45ff8)
[   24.941672] 5fa0:                                     00000000 00000000 00000000 00000000
[   24.949861] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   24.958048] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[   24.964676] Code: e2460002 e5943014 e3500001 e5942018 (e5813000) 
[   24.970839] ---[ end trace 0000000000000000 ]---

However, very occasionally, the boot gets past this point and boots fully to a login prompt (race condition?), so you can see here right at the end the login prompt buried in all that output:

[    9.896539] random: crng init done
[   10.306755] mag3110 2-000e: probe with driver mag3110 failed with error -110
[   10.314216] armv7-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[   10.322249] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 (8000003f) counters available
[   10.332739] nvmem imx-ocotp0: cell mac-addr raw len 6 unaligned to nvmem word size 4
[   10.344001] mxc_hdmi_cec soc:hdmi_cec@120000: hdmi_cec:No HDMI irq line provided
[   11.126660] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[   11.144033] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[   11.366503] wm8962 0-001a: Failed to read ID register
[   11.372243] wm8962 0-001a: probe with driver wm8962 failed with error -110
[   11.383822] fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
[   11.393054] fsl-hdmi-dai soc:hdmi_audio@120000: failed to probe. Load HDMI-video first.
[   11.403442] imx6qdl-audio-hdmi sound-hdmi: initialize HDMI-audio failed. load HDMI-video first!
[   11.412368] NET: Registered PF_LLC protocol family
[   11.417790] NET: Registered PF_INET6 protocol family
[   11.423872] Segment Routing with IPv6
[   11.427754] In-situ OAM (IOAM) with IPv6
[   11.431781] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[   11.438442] NET: Registered PF_PACKET protocol family
[   11.443526] can: controller area network core
[   11.448038] NET: Registered PF_CAN protocol family
[   11.452854] can: raw protocol
[   11.455843] can: broadcast manager protocol
[   11.460087] can: netlink gateway - max_hops=1
[   11.464713] Bluetooth: RFCOMM TTY layer initialized
[   11.469657] Bluetooth: RFCOMM socket layer initialized
[   11.474836] Bluetooth: RFCOMM ver 1.11
[   11.478633] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   11.483964] Bluetooth: BNEP filters: protocol multicast
[   11.489229] Bluetooth: BNEP socket layer initialized

... snip ...

[   49.122261] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[   49.128710] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00000002
[   49.135159] mmc2: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000001
[   49.141607] mmc2: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[   49.148056] mmc2: sdhci: Present:   0x017d8009 | Host ctl: 0x00000001
[   49.154504] mmc2: sdhci: Power:     0x00000000 | Blk gap:  0x00000080
[   49.160953] mmc2: sdhci: Wake-up:   0x00000008 | Clock:    0x000010ff
[   49.167400] mmc2: sdhci: Timeout:   0x00000080 | Int stat: 0x00000000
[   49.173848] mmc2: sdhci: Int enab:  0x007f1003 | Sig enab: 0x007f1003
[   49.180296] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000003
[   49.186743] mmc2: sdhci: Caps:      0x07eb0000 | Caps_1:   0x0000a000
[   49.193191] mmc2: sdhci: Cmd:       0x00000502 | Max curr: 0x00ffffff
[   49.199639] mmc2: sdhci: Resp[0]:   0x00000000 | Resp[1]:  0x00000000
[   49.206087] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[   49.212534] mmc2: sdhci: Host ctl2: 0x00000000
[   49.216985] mmc2: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[   49.223433] mmc2: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[   49.231008] mmc2: sdhci-esdhc-imx: cmd debug status:  0x2180
[   49.236675] mmc2: sdhci-esdhc-imx: data debug status:  0x2200
[   49.242427] mmc2: sdhci-esdhc-imx: trans debug status:  0x2300
[   49.248267] mmc2: sdhci-esdhc-imx: dma debug status:  0x2400
[   49.253933] mmc2: sdhci-esdhc-imx: adma debug status:  0x2500
[   49.259686] mmc2: sdhci-esdhc-imx: fifo debug status:  0x2680
[   49.265440] mmc2: sdhci-esdhc-imx: async fifo debug status:  0x2750
[   49.271714] mmc2: sdhci: ============================================
[   49.946534] i2c i2c-1: SCL is stuck low, exit recovery
[   50.966528] i2c i2c-1: SCL is stuck low, exit recovery


imx6qdlsabresd login: [   51.986525] i2c i2c-1: SCL is stuck low, exit recovery
roo[   53.006528] i2c i2c-1: SCL is stuck low, exit recovery
t

[   54.026533] i2c i2c-1: SCL is stuck low, exit recovery
78root@imx6qdlsabresd:~# [   55.046532] i2c i2c-1: SCL is stuck low, exit recovery
[   56.066525] i2c i2c-1: SCL is stuck low, exit recovery
[   57.086521] i2c i2c-1: SCL is stuck low, exit recovery

root@imx6qdlsabresd:~# [   58.106532] i2c i2c-1: SCL is stuck low, exit recovery

I'll add more info to this page as we continue debugging this build.

Ah, in a more recent boot, there is a little more printed around that “crng init done” line:

[    5.352192] i2c_dev: i2c /dev entries driver
[    8.046758] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[    9.776464] random: crng init done
[   15.426762] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[   17.726754] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[   24.636463] 8<--- cut here ---
[   24.639592] Unable to handle kernel paging request at virtual address 636f6caf when read
[   24.647723] [636f6caf] *pgd=00000000
[   24.651321] Internal error: Oops: 5 [#1] PREEMPT SMP ARM

In any event, this is the current state of the build having done nothing but a generic Walnascar build for the target, and not adding any of the (relevant) ADLINK-specific kernel patches or doing any further configuration.

ADDENDUM: After the board boots, there is a lot of this constantly:

[43657.626726] i2c i2c-1: SCL is stuck low, exit recovery
[43658.646725] i2c i2c-1: SCL is stuck low, exit recovery
[43659.156730] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[43659.666726] i2c i2c-1: SCL is stuck low, exit recovery
[43660.686726] i2c i2c-1: SCL is stuck low, exit recovery
[43661.706727] i2c i2c-1: SCL is stuck low, exit recovery
[43662.726725] i2c i2c-1: SCL is stuck low, exit recovery
[43663.746725] i2c i2c-1: SCL is stuck low, exit recovery
[43664.766733] i2c i2c-1: SCL is stuck low, exit recovery
[43665.786727] i2c i2c-1: SCL is stuck low, exit recovery
[43666.806727] i2c i2c-1: SCL is stuck low, exit recovery
[43667.316735] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[43667.826727] i2c i2c-1: SCL is stuck low, exit recovery
[43668.846726] i2c i2c-1: SCL is stuck low, exit recovery
[43669.866727] i2c i2c-1: SCL is stuck low, exit recovery
[43670.886724] i2c i2c-1: SCL is stuck low, exit recovery

It would be great to resolve whatever is doing this as it just clutters up the login session.

Some of the commands I ran after a successful boot of the target board. (What other commands would be useful?)

# cat /etc/os-release
ID=fsl-imx-xwayland
NAME="NXP i.MX Release Distro"
VERSION="6.12-walnascar (walnascar)"
VERSION_ID=6.12-walnascar
VERSION_CODENAME="walnascar"
PRETTY_NAME="NXP i.MX Release Distro 6.12-walnascar (walnascar)"
CPE_NAME="cpe:/o:openembedded:fsl-imx-xwayland:6.12-walnascar"
#
# uname -a
Linux imx6qdlsabresd 6.12.34-lts-next-gbe78e49cb433 #1 SMP PREEMPT Wed Sep  3 05:59:19 UTC 2025 armv7l GNU/Linux
#
# lsmod
Module                  Size  Used by
caam_jr               159744  0
caamkeyblob_desc       12288  1 caam_jr
caamhash_desc          12288  1 caam_jr
caamalg_desc           49152  1 caam_jr
rng_core               20480  1 caam_jr
authenc                12288  1 caam_jr
libdes                 20480  1 caam_jr
mxc_v4l2_capture       32768  0
ipu_bg_overlay_sdc     12288  1 mxc_v4l2_capture
ipu_still              12288  1 mxc_v4l2_capture
ipu_prp_enc            12288  1 mxc_v4l2_capture
ov5640_camera_mipi_int    32768  0
ipu_csi_enc            12288  1 mxc_v4l2_capture
ov5640_camera_int      28672  0
ipu_fg_overlay_sdc     12288  1 mxc_v4l2_capture
imx_vdoa               12288  0
v4l2_int_device        12288  3 ov5640_camera_mipi_int,ov5640_camera_int,mxc_v4l2_capture
caam                   28672  1 caam_jr
secvio                 12288  0
error                  16384  6 caamkeyblob_desc,caamalg_desc,caamhash_desc,caam_jr,caam,secvio
#
  • walnascar_yocto_project_build_on_adlink_i.mx6_som.txt
  • Last modified: 2025/10/21 13:25
  • by rpjday