Followed the jetson tx2 dev guide for sensor driver, implemented the driver code .c mode_tbls.h and built new dtb based on the custom on board camera dtsi(does not have eeprom, so disbled the camera plugin manager). On boot, the kernel panic occurs after printing “Detected AR0144 sensor”. Is there a way to debug this?
This is the kernel message that i get from UART
[ 2.981010] [AR0144]: probing v4l2 sensor.
[ 3.165773] ata1: SATA link down (SStatus 0 SControl 300)
[ 3.459200] tegradc 15210000.nvdisplay: fb registered
[ 3.466218] gpio tegra-gpio wake21 for gpio=121(P:1)
[ 3.473225] PD DISP0 index2 UP
[ 3.478901] PD DISP1 index3 UP
[ 3.483745] PD DISP2 index4 UP
[ 3.497176] Parent Clock set for DC plld2
[ 3.506717] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 3.798927] ar0144 2-0010: Detected AR0144 sensor
[ 3.798931] Bad mode in Synchronous Abort handler detected, code 0x86000005 – IABT (current EL)
[ 3.798935] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP
[ 3.798939] Modules linked in:
[ 3.798944] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.4.38 #3
[ 3.798945] Hardware name: quill (DT)
[ 3.798948] task: ffffffc1ece70000 ti: ffffffc1ece78000 task.ti: ffffffc1ece78000
[ 3.798950] PC is at 0x0
[ 3.798952] LR is at 0x0
[ 3.798954] pc : [<0000000000000000>] lr : [<0000000000000000>] pstate: 80000045
[ 3.798955] sp : ffffffc1ece7bc20
[ 3.798959] x29: 0000000000000000 x28: 0000000000000000
[ 3.798962] x27: ffffffc0011e73c0 x26: ffffffc001131068
[ 3.798965] x25: 0000000000000000 x24: ffffffc0013a5000
[ 3.798967] x23: ffffffc000774fc0 x22: ffffffc1ebb7e800
[ 3.798970] x21: ffffffc1ebb7e804 x20: ffffffc1ebb7e820
[ 3.798972] x19: ffffffc000c18040 x18: 0000000000020000
[ 3.798975] x17: 0000000000005992 x16: 0000000000005992
[ 3.798978] x15: ffffffc0012341e8 x14: ffffffc0013f67d8
[ 3.798980] x13: ffffffc001234000 x12: ffffffc0013d3000
[ 3.798983] x11: 0000000000000000 x10: 0000000000000000
[ 3.798985] x9 : 0000000000016ba8 x8 : ffffffc0013ddc4f
[ 3.798987] x7 : 0000000000000000 x6 : 0000000011423554
[ 3.798990] x5 : 0000000000000015 x4 : 0000000000000000
[ 3.798992] x3 : 0000000000000040 x2 : ffffffc1ece78000
[ 3.798994] x1 : 0000000000000000 x0 : 0000000000000000
[ 3.798995]
[ 3.798997] Process swapper/0 (pid: 1, stack limit = 0xffffffc1ece78020)
[ 3.798998] Call trace:
[ 3.799000] [< (null)>] (null)
[ 3.799010] —[ end trace c3625579c1afcf5d ]—
[ 3.799816] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 3.799816]
[ 3.799820] CPU0: stopping
[ 3.799824] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D 4.4.38 #3
[ 3.799825] Hardware name: quill (DT)
[ 3.799827] Call trace:
[ 3.799835] [] dump_backtrace+0x0/0xe8
[ 3.799840] [] show_stack+0x14/0x20
[ 3.799845] [] dump_stack+0xa0/0xc8
[ 3.799849] [] handle_IPI+0x2f8/0x320
[ 3.799852] [] gic_handle_irq+0xa4/0xc0
[ 3.799854] [] el1_irq+0x80/0xf8
[ 3.799858] [] default_idle_call+0x1c/0x38
[ 3.799861] [] cpu_startup_entry+0x2f0/0x340
[ 3.799866] [] rest_init+0x88/0x98
[ 3.799870] [] start_kernel+0x38c/0x3a0
[ 3.799872] [<0000000080b46000>] 0x80b46000
[ 3.799874] CPU4: stopping
[ 3.799878] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G D 4.4.38 #3
[ 3.799879] Hardware name: quill (DT)
[ 3.799880] Call trace:
[ 3.799885] [] dump_backtrace+0x0/0xe8
[ 3.799889] [] show_stack+0x14/0x20
[ 3.799892] [] dump_stack+0xa0/0xc8
[ 3.799895] [] handle_IPI+0x2f8/0x320
[ 3.799897] [] gic_handle_irq+0xa4/0xc0
[ 3.799899] [] el1_irq+0x80/0xf8
[ 3.799902] [] default_idle_call+0x1c/0x38
[ 3.799904] [] cpu_startup_entry+0x2f0/0x340
[ 3.799906] [] secondary_start_kernel+0x12c/0x168
[ 3.799908] [<000000008008192c>] 0x8008192c
[ 3.799910] CPU5: stopping
[ 3.799914] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G D 4.4.38 #3
[ 3.799915] Hardware name: quill (DT)
[ 3.799916] Call trace:
[ 3.799921] [] dump_backtrace+0x0/0xe8
[ 3.799925] [] show_stack+0x14/0x20
[ 3.799928] [] dump_stack+0xa0/0xc8
[ 3.799931] [] handle_IPI+0x2f8/0x320
[ 3.799933] [] gic_handle_irq+0xa4/0xc0
[ 3.799935] [] el1_irq+0x80/0xf8
[ 3.799938] [] default_idle_call+0x1c/0x38
[ 3.799940] [] cpu_startup_entry+0x2f0/0x340
[ 3.799942] [] secondary_start_kernel+0x12c/0x168
[ 3.799944] [<000000008008192c>] 0x8008192c
[ 3.799952] CPU2: stopping
[ 3.799961] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G D 4.4.38 #3
[ 3.799964] Hardware name: quill (DT)
[ 3.799966] Call trace:
[ 3.799980] [] dump_backtrace+0x0/0xe8
[ 3.799986] [] show_stack+0x14/0x20
[ 3.799993] [] dump_stack+0xa0/0xc8
[ 3.799998] [] handle_IPI+0x2f8/0x320
[ 3.800002] [] gic_handle_irq+0xa4/0xc0
[ 3.800007] [] el1_irq+0x80/0xf8
[ 3.800013] [] default_idle_call+0x1c/0x38
[ 3.800017] [] cpu_startup_entry+0x2f0/0x340
[ 3.800022] [] secondary_start_kernel+0x12c/0x168
[ 3.800026] [<000000008008192c>] 0x8008192c
[ 3.800031] CPU1: stopping
[ 3.800040] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 4.4.38 #3
[ 3.800043] Hardware name: quill (DT)
[ 3.800045] Call trace:
[ 3.800053] [] dump_backtrace+0x0/0xe8
[ 3.800081] [] show_stack+0x14/0x20
[ 3.800085] [] dump_stack+0xa0/0xc8
[ 3.800090] [] handle_IPI+0x2f8/0x320
[ 3.800094] [] gic_handle_irq+0xa4/0xc0
[ 3.800098] [] el1_irq+0x80/0xf8
[ 3.800102] [] default_idle_call+0x1c/0x38
[ 3.800106] [] cpu_startup_entry+0x2f0/0x340
[ 3.800110] [] secondary_start_kernel+0x12c/0x168
[ 3.800115] [<000000008008192c>] 0x8008192c
[ 4.483943] Rebooting in 5 seconds…
hello tharunprasanth,
please analysis your kernel driver,
there’s sensor probing function get called during kernel initialization stage.
it includes device tree parsing function to obtain mclk and gpio pin settings.
the parse function will also check device tree ID according to its driver name.
the driver name inside sensor driver should match the one in the device tree.
thanks