Imx8-hummingboard-pulse is not booting-up

Hello there,
I’m using hardknott-imx8mp branch from github - SolidRun / meta-solidrun-arm-imx8

When I prepared SD card and used with humming board Mate board, it boots up, but with Humming board pulse, same SD card is getting crashed. Following are the boot logs -

U-Boot 2021.04-lf_v2021.04+g6b928a45ac (Nov 22 2021 - 01:39:23 +0000)

CPU: i.MX8MP[8] rev1.1 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 28C
Reset cause: POR
Model: NXP i.MX8MPlus LPDDR4 SolidRun board
DRAM: 992 MiB
MMC: FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC… *** Warning - bad CRC, using default environment

[*]-Video Link 0probe video device failed, ret -2

    [0] lcd-controller@32e80000, video
    [1] mipi_dsi@32e60000, video_bridge
    [2] adv7535@39, panel

probe video device failed, ret -2
In: serial
Out: serial
Err: serial

BuildInfo:

  • ATF 5782363

switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Net:
Warning: ethernet@30bf0000 (eth1) using random MAC address - de:0b:d7:40:e4:83
eth1: ethernet@30bf0000 [PRIME]
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
241 bytes read in 2 ms (117.2 KiB/s)
1: NXP i.MX Release Distro
Retrieving file: /extlinux/…/Image
26274304 bytes read in 1093 ms (22.9 MiB/s)
append: root=/dev/mmcblk1p2 rootwait rw quiet console=ttymxc1,115200 rootwait rw console=ttymxc1,115200,115200
Retrieving file: /extlinux/…/imx8mp-hummingboard-pulse.dtb
61721 bytes read in 5 ms (11.8 MiB/s)
Moving Image from 0x40480000 to 0x40600000, end=41fa0000

Flattened Device Tree blob at 43000000

Booting using the fdt blob at 0x43000000
Using Device Tree in place at 0000000043000000, end 0000000043012118
probe video device failed, ret -2

Starting kernel …

[ 0.168681] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 0.168836] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
[ 0.183650] reg-userspace-consumer power-m2-mpcie: Failed to get supplies: -517
[ 0.183697] reg-userspace-consumer power-usb-port1: Failed to get supplies: -517
[ 0.183740] reg-userspace-consumer power-usb-port2: Failed to get supplies: -517
[ 0.230687] imx-lcdifv3 32e80000.lcd-controller: No pix clock get: -517
[ 0.238047] imx-lcdifv3 32e90000.lcd-controller: No pix clock get: -517
[ 0.245004] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 0.255107] imx-hdmi-pavi 32fc4000.hdmi-pai-pvi: No pvi clock get
[ 0.299443] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 0.312079] imx-dsp-rproc 3b6e8000.dsp: Failed to get clock dsp_clk1
[ 0.318471] imx-dsp-rproc 3b6e8000.dsp: failed on imx_dsp_rproc_clk_get
[ 0.583960] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 0.610764] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 0.631856] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 0.646505] imx6q-pcie 33800000.pcie: invalid resource
[ 2.132272] rtc-abx80x 2-0069: Oscillator failure, data is invalid.
[ 2.140188] rtc-abx80x 2-0069: Oscillator failure, data is invalid.
[ 2.146650] rtc-abx80x 2-0069: hctosys: unable to read the hardware clock
[ 2.218493] imx-uart 30860000.serial: We cannot prepare for the RX slave dma!
[ 2.351027] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[ 2.359824] Mem abort info:
[ 2.362621] ESR = 0x96000044
[ 2.365674] EC = 0x25: DABT (current EL), IL = 32 bits
[ 2.370982] SET = 0, FnV = 0
[ 2.374033] EA = 0, S1PTW = 0
[ 2.377172] Data abort info:
[ 2.380050] ISV = 0, ISS = 0x00000044
[ 2.383882] CM = 0, WnR = 1
[ 2.386849] user pgtable: 4k pages, 48-bit VAs, pgdp=000000004834c000
[ 2.393287] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
[ 2.400078] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[ 2.405648] Modules linked in: snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils snd_soc_imx_cdnhdmi dw_hdmi_gp_audio imx8_media_dev(C) adin snd_soc_fsl_easrc snd_soc_fsl_sai snd_soc_fsl_aud2htx dwmac_imx snd_soc_fsl_asrc stmmac_platform imx_pcm_dma brcmfmac stmmac brcmutil snd_soc_wm8904 snd_soc_hdmi_codec snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd soundcore rtc_abx80x at24 hci_uart caam btbcm secvio error rfkill_gpio imx_sdma fuse
[ 2.446790] CPU: 0 PID: 232 Comm: kworker/0:8 Tainted: G C 5.10.72-lts-5.10.y+g0749c630c88c #1
[ 2.456700] Hardware name: SolidRun i.MX8MP HummingBoard Pulse (DT)
[ 2.462976] Workqueue: events hci_uart_write_work [hci_uart]
[ 2.468637] pstate: 80000085 (Nzcv daIf -PAN -UAO -TCO BTYPE=–)
[ 2.474644] pc : sdma_transfer_init+0x130/0x260 [imx_sdma]
[ 2.480130] lr : sdma_transfer_init+0xc0/0x260 [imx_sdma]
[ 2.485526] sp : ffff80002513bba0
[ 2.488838] x29: ffff80002513bba0 x28: ffff0000082508c8
[ 2.494149] x27: ffff000008781211 x26: ffff0000082546a8
[ 2.499461] x25: 0000000000000080 x24: 0000000000000000
[ 2.504772] x23: 0000000000000080 x22: ffff000008250080
[ 2.510083] x21: ffff8000119b5200 x20: ffff000008adb100
[ 2.515395] x19: ffff0000082508c8 x18: 0000000000000000
[ 2.520706] x17: 0000000000000000 x16: 0000000000000000
[ 2.526019] x15: 0000001afd1ac030 x14: 00000000000000b0
[ 2.531330] x13: 0000000000000001 x12: 0000000000001000
[ 2.536642] x11: 00000000ffffffff x10: ffff80002513bbc0
[ 2.541954] x9 : 0000000000000000 x8 : ffff8000251e3000
[ 2.547265] x7 : 0000000000000000 x6 : 000000000000003f
[ 2.552577] x5 : 0000000000000040 x4 : 0000000000000000
[ 2.557888] x3 : ffff0000082546a8 x2 : 0000000000000001
[ 2.563202] x1 : 00000000000002ed x0 : 0000000001830020
[ 2.568514] Call trace:
[ 2.570962] sdma_transfer_init+0x130/0x260 [imx_sdma]
[ 2.576100] sdma_prep_slave_sg+0x6c/0x280 [imx_sdma]
[ 2.581152] imx_uart_dma_tx+0xdc/0x230
[ 2.584988] imx_uart_start_tx+0x10c/0x230
[ 2.589085] __uart_start.isra.0+0x3c/0x50
[ 2.593180] uart_write+0x100/0x890
[ 2.596669] ttyport_write_buf+0x7c/0x8c
[ 2.600591] serdev_device_write_buf+0x28/0x40
[ 2.605036] hci_uart_write_work+0x60/0x150 [hci_uart]
[ 2.610175] process_one_work+0x1cc/0x350
[ 2.614183] worker_thread+0x138/0x46c
[ 2.617931] kthread+0x154/0x160
[ 2.621159] ret_from_fork+0x10/0x30
[ 2.624736] Code: b90026a0 52800400 531b6af7 72a03060 (b9000300)
[ 2.630829] —[ end trace 44e3fa00f0e69444 ]—
[ 2.635446] note: kworker/0:8[232] exited with preempt_count 2

could you upload your image somewhere public so I can download and test it? That will probably be the quickest way to debug this. The crash is definitely happening because the imx sdma engine is not initialized, however the yocto recipe should be building everything so that is not a problem.

I found an image from solidrun humming board web page. I flashed sd card with that and board booted up correctly as expected.
Here I found that the image is a full image and NOT core-image-minimal. And I was building with bitbake core-image-minimal.

Now, I’m building the project with bitbake imx-image-full. I’ll check our custom carrier board with it and will update you soon.

Thanks
Lokesh