Part Number: AM5728
Hi there,
I'm working with Linux processor-sdk 05.02.00.10 and RTOS processor-sdk 4.03.00.05.
I successfully worked with jailhouse hypervisor on the AM5728 evaluation board.
Now I'm trying to startup jailhouse on a AM5728 based custom board.
In my custom board pin F21 is pinmuxed to be GPIO6_16. When the RTOS inmate is launched this gpio is set to '1' by some peripheral.
On the Linux side a registered interrupt starts running:
165: 0 0 4805d000.gpio 16 Level palmas
I think this interrupt is triggered by GPIO6_16 because after exporting gpio144 on the linux side I get:
# cat /sys/kernel/debug/gpio
.......
gpiochip4: GPIOs 128-159, parent: platform/4805d000.gpio, gpio:
gpio-144 ( |sysfs ) in lo IRQ
.....
After the RTOS inmate is launched the pin is set to high and the interrupt is running.
and once the interrupt count reaches 100001:
[ 1424.726062] irq 165: nobody cared (try booting with the "irqpoll" option)
[ 1424.726070] CPU: 0 PID: 34 Comm: irq/41-4805d000 Tainted: G O 4.14.79-rt47-gd9200ca684 #18
[ 1424.726073] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 1424.726075] Backtrace:
[ 1424.726096] [<c010b808>] (dump_backtrace) from [<c010baec>] (show_stack+0x18/0x1c)
[ 1424.726102] r7:000000a5 r6:200f0093 r5:00000000 r4:c0d57560
[ 1424.726111] [<c010bad4>] (show_stack) from [<c082207c>] (dump_stack+0x90/0xa4)
[ 1424.726120] [<c0821fec>] (dump_stack) from [<c01837b8>] (__report_bad_irq+0x30/0xd4)
[ 1424.726126] r7:000000a5 r6:d4b27a00 r5:00000000 r4:d4b27a00
[ 1424.726133] [<c0183788>] (__report_bad_irq) from [<c0183bf0>] (note_interrupt+0x270/0x2bc)
[ 1424.726139] r9:600f0013 r8:00000001 r7:000000a5 r6:d4b27a00 r5:00000000 r4:d4b27a00
[ 1424.726147] [<c0183980>] (note_interrupt) from [<c0180cb0>] (handle_irq_event_percpu+0x74/0x80)
[ 1424.726152] r10:00000000 r9:600f0013 r8:00000001 r7:00000002 r6:d4b27a00 r5:00000000
[ 1424.726155] r4:00000000 r3:00000000
[ 1424.726161] [<c0180c3c>] (handle_irq_event_percpu) from [<c0180d3c>] (handle_irq_event+0x80/0xb8)
[ 1424.726166] r7:d4a60468 r6:d4a60410 r5:d4b27a70 r4:d4b27a00
[ 1424.726172] [<c0180cbc>] (handle_irq_event) from [<c018472c>] (handle_level_irq+0xb0/0x194)
[ 1424.726177] r7:d4a60468 r6:d4a60410 r5:d4a60464 r4:d4b27a00
[ 1424.726183] [<c018467c>] (handle_level_irq) from [<c017fdb0>] (generic_handle_irq+0x2c/0x3c)
[ 1424.726186] r5:d4a60464 r4:00000010
[ 1424.726194] [<c017fd84>] (generic_handle_irq) from [<c04329e8>] (omap_gpio_irq_handler+0x108/0x15c)
[ 1424.726201] [<c04328e0>] (omap_gpio_irq_handler) from [<c0181dd8>] (irq_forced_thread_fn+0x28/0x7c)
[ 1424.726206] r10:c0181db0 r9:d4a43340 r8:d4a38400 r7:00000001 r6:00000000 r5:d4a38400
[ 1424.726208] r4:d4a43340
[ 1424.726214] [<c0181db0>] (irq_forced_thread_fn) from [<c0182130>] (irq_thread+0x130/0x208)
[ 1424.726219] r7:00000001 r6:00000000 r5:ffffe000 r4:d4a43364
[ 1424.726226] [<c0182000>] (irq_thread) from [<c0149368>] (kthread+0x164/0x16c)
[ 1424.726232] r10:d4871ac8 r9:c0182000 r8:d4a43340 r7:d4a72000 r6:00000000 r5:d4a43380
[ 1424.726233] r4:d49e3200
[ 1424.726241] [<c0149204>] (kthread) from [<c0107a90>] (ret_from_fork+0x14/0x24)
[ 1424.726246] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0149204
[ 1424.726248] r4:d4a43380
[ 1424.726252] handlers:
[ 1424.726257] [<c0180dc8>] irq_default_primary_handler threaded [<c056c164>] regmap_irq_thread
[ 1424.726269] Disabling IRQ #165
It seems like GPIO6_16 is set to high which causes this interrupt to run without being handled and then it is shutdown by the kernel.
I think it is related to some palmas driver.
I tried to disable GPIO6 in the device tree but then the kernel got stuck upon power up.
Can you direct me how to either disable this driver completely, or move the irq to a different gpio?
Or how can I disable this gpio6_16 in particular from triggering and interrupt in A15 core 0?
Thanks a lot,
Nir.