We have a Basler MIPI-CSI camera running under Kirkstone which I am working to bring up in Scarthgap for the i.MX8M Plus. I have altered the device tree as necessary using a patch and a device tree overlay in the same manner as we used with Kirkstone. The camera seems to be recognized and the correct nodes and subnodes are being created under /dev. When I run the camera I get the following:
gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink
[ 49.571834] enter isp_mi_stop
[ 49.747503] enter isp_mi_stop
[ 50.183122] Unable to handle kernel paging request at virtual address 0000007f8bc6c6aa
[ 50.191061] Mem abort info:
[ 50.193855] ESR = 0x0000000096000046
[ 50.197604] EC = 0x25: DABT (current EL), IL = 32 bits
[ 50.202918] SET = 0, FnV = 0
[ 50.205973] EA = 0, S1PTW = 0
[ 50.209115] FSC = 0x06: level 2 translation fault
[ 50.213993] Data abort info:
[ 50.216873] ISV = 0, ISS = 0x00000046, ISS2 = 0x00000000
[ 50.222360] CM = 0, WnR = 1, TnD = 0, TagAccess = 0
[ 50.227412] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 50.232725] user pgtable: 4k pages, 39-bit VAs, pgdp=00000001092a8000
[ 50.239168] [0000007f8bc6c6aa] pgd=0800000107fd0003, p4d=0800000107fd0003, pud=0800000107fd0003, pmd=0000000000000000
[ 50.249793] Internal error: Oops: 0000000096000046 [#1] PREEMPT SMP
[ 50.256063] Modules linked in: 8021q garp stp mrp llc input_leds led_class sd_mod uas vvcam_video(O) vvcam_isp(O) vvcam_dwe(O) imx8_media_dev(C) onboard_usb_hub basler_camera_driver_vvcam(O) usb_conn_gpio bluetooth ecdh_generic ecc caam_jr caamkeyblob_desc snd_soc_hdmi_codec caamhash_desc cfg80211 caamalg_desc aes_ce_cipher nls_iso8859_1 dwc3 ghash_ce crypto_engine roles authenc gf128mul libaes sha2_ce sha256_arm64 sha1_ce libdes snd_soc_simple_card rfkill nls_cp437 dw_hdmi_gp_audio dw_hdmi_cec spidev crypto_null evdev fsl_imx8_ddr_perf sha1_generic snd_soc_simple_card_utils snd_soc_imx_hdmi phy_fsl_samsung_hdmi phy_fsl_imx8m_pcie phy_fsl_imx8mq_usb sec_mipi_dsim_imx imx_bus imx8_mipi_csi2_sam(C) gpio_pca953x sec_dsim dwc3_imx8mp ti_ads1015 lontium_lt8912b industrialio_triggered_buffer snd_soc_fsl_sai snd_soc_fsl_utils imx_pcm_dma snd_soc_fsl_aud2htx snd_soc_nau8822 kfifo_buf ina2xx lm75 imx_sdma spi_nxp_fspi caam error nvmem_snvs_lpgpr flexcan can_dev snvs_pwrkey spi_imx pwm_imx27 imx8mm_thermal gpio_keys
[ 50.256336] display_connector galcore(O) fuse ipv6 autofs4 [last unloaded: basler_camera_driver_vvcam(O)]
[ 50.355089] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G C O 6.6.54-7.1.0-devel-gc49461ff6614 #1
[ 50.364746] Hardware name: Toradex Verdin iMX8M Plus on Verdin Development Board (DT)
[ 50.372577] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 50.379543] pc : i2c_imx_isr+0x3b8/0x714
[ 50.383477] lr : i2c_imx_isr+0xd0/0x714
[ 50.387317] sp : ffffffc080003f00
[ 50.390632] x29: ffffffc080003f00 x28: ffffffc0811b1080 x27: 0000000000000000
[ 50.397777] x26: 00000000ffb2b940 x25: 0000000baf2087e8 x24: 0000000000000001
[ 50.404922] x23: ffffff80c0138200 x22: 00000000000000a2 x21: 00000000000000c0
[ 50.412066] x20: ffffff80c0b655d4 x19: ffffff80c0b65080 x18: 0000000000000000
[ 50.419211] x17: ffffffc07e77c000 x16: ffffffc080000000 x15: 0000000000000000
[ 50.426356] x14: ffffffc0811b1080 x13: ffffffc07e77c000 x12: 0000000034d4d91d
[ 50.433505] x11: 0000000000000040 x10: ffffff80c00280a8 x9 : ffffff80c00280a0
[ 50.440652] x8 : ffffff80c0400700 x7 : 0000000000000000 x6 : 0000000000000000
[ 50.447796] x5 : 0000000000000007 x4 : 0000000000000002 x3 : 0000007f8bc6c6aa
[ 50.454941] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
[ 50.462086] Call trace:
[ 50.464534] i2c_imx_isr+0x3b8/0x714
[ 50.468116] __handle_irq_event_percpu+0x48/0x13c
[ 50.472828] handle_irq_event+0x4c/0xac
[ 50.476668] handle_fasteoi_irq+0xa4/0x230
[ 50.480776] generic_handle_domain_irq+0x2c/0x44
[ 50.485398] gic_handle_irq+0x50/0x12c
[ 50.489151] call_on_irq_stack+0x24/0x4c
[ 50.493080] do_interrupt_handler+0x80/0x8c
[ 50.497275] el1_interrupt+0x34/0x68
[ 50.500857] el1h_64_irq_handler+0x18/0x24
[ 50.504960] el1h_64_irq+0x64/0x68
[ 50.508365] cpuidle_enter_state+0x138/0x2e0
[ 50.512644] cpuidle_enter+0x38/0x50
[ 50.516227] do_idle+0x1f4/0x264
[ 50.519460] cpu_startup_entry+0x38/0x3c
[ 50.523386] kernel_init+0x0/0x1dc
[ 50.526795] arch_post_acpi_subsys_init+0x0/0x8
[ 50.531334] start_kernel+0x4f0/0x5f8
[ 50.535005] __primary_switched+0xbc/0xc4
[ 50.539025] Code: 92401c02 d5033dbf ca020042 b5000002 (38214860)
[ 50.545121] —[ end trace 0000000000000000 ]—
[ 50.549741] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 50.556615] SMP: stopping secondary CPUs
[ 50.560542] Kernel Offset: disabled
[ 50.564031] CPU features: 0x0,00000000,00020000,1000420b
[ 50.569345] Memory Limit: none
[ 50.572403] —[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]—
Any suggestions on how to proceed will be appreciated.
Hello,
From this error, it seems that it should be caused by the difference in the device tree directly from Kirkstone to Scarthgap, and you need to double-check the subtle differences between the two device trees directly.
Best Regards,
Zhiming