Parallel RGB driver is not worked on i.MX8QXP MEK board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Parallel RGB driver is not worked on i.MX8QXP MEK board

1,310 Views
jordonwu
Contributor III

Hello experts,

In order test imx8qxp parallel RGB LCD Interface, I download  L4.14.98_2.3.0_images_MX8QXPMEK.zip from nxp site and test it on imx8qxp mek board as below steps:

1. hw board:  imx8qxp mek board with B0 revision

2. uuu flash binary to board with uuu.auto-imx8qxpmek script. (pls see attached file for details)

3. connect  IMX-LVDS-HDMI to mek board

4. reboot board, boot process is ok, and the hdmi display is well.

till now, all is ok

5. on u-boot console, change fdt_file to fsl-imx8qxp-mek-lcdif.dtb and saveenv, then reset board (note: I did not connect a lcd panel to mek board while testing as I hasn't lcd panel for mek board, but we have lcd panel for our custom qxp board)

6. we can see seiko-adapter is probled and lcdif fb0 is created, so it means lcdif driver is loaded success, right?

7. but finally, the kernel is panic. (pls see attached file for details)

my question is:

1) Would you help check I miss some operation or some step is wrong? how to let fsl-imx8qxp-mek-lcdif.dtb  run well on imx8 qxp mek board?

2) And would you help check whether lcdif interface can work well on imx8qxp mek board on L4.14.98_2.3.0 branch?

Thanks.

===========================

[ 1.543647] nxp-seiko-adapter seiko-adapter: Seiko adapter driver probed
[ 1.558063] clk: couldn't set lcd_pxl_sel clk rate to 24000000 (-22), current rate: 0
[ 1.566684] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.573322] [drm] No driver support for vblank timestamp query.
[ 1.721364] Console: switching to colour frame buffer device 100x30
[ 1.743743] mxsfb_drm 5a180000.lcdif: fb0: frame buffer device
[ 1.750040] [drm] Initialized mxsfb-drm 1.0.0 20160824 for 5a180000.lcdif on minor 0

==================================================

[ OK ] Started Session c1 of user root.
[ OK ] Started User Manager for UID 0.
[ 8.469849] BUG: scheduling while atomic: swapper/0/0/0x00010002
[ 8.475866] Modules linked in: crc32_ce crct10dif_ce galcore(O)
[ 8.481805] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 4.14.98-2.3.0+g0f549d8c4d5e #1
[ 8.490764] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 8.495906] Call trace:
[ 8.498373] [<ffff000008089c48>] dump_backtrace+0x0/0x3c8
[ 8.503785] [<ffff00000808a024>] show_stack+0x14/0x20
[ 8.508848] [<ffff000008daf640>] dump_stack+0x9c/0xbc
[ 8.513904] [<ffff0000080f3bbc>] __schedule_bug+0x4c/0x70
[ 8.519308] [<ffff000008dc3bb8>] __schedule+0x558/0x5e8
[ 8.524534] [<ffff000008dc3c80>] schedule+0x38/0xa0
[ 8.529417] [<ffff000008dc4160>] schedule_preempt_disabled+0x20/0x38
[ 8.535776] [<ffff000008dc4dc0>] __mutex_lock.isra.0+0x140/0x530
[ 8.541788] [<ffff000008dc51c0>] __mutex_lock_slowpath+0x10/0x18
[ 8.547799] [<ffff000008dc51f8>] mutex_lock+0x30/0x38
[ 8.552859] [<ffff00000855d9e0>] clk_prepare_lock+0x40/0xa0
[ 8.558433] [<ffff00000855f424>] clk_prepare+0x1c/0x40
[ 8.563578] [<ffff0000086d540c>] mxsfb_irq_handler+0x1c/0x90
[ 8.569242] [<ffff00000811ca74>] __handle_irq_event_percpu+0x5c/0x148
[ 8.571247] Timeout for IPC response!
[ 8.575685] [<ffff00000811cb7c>] handle_irq_event_percpu+0x1c/0x58
[ 8.575691] [<ffff00000811cc00>] handle_irq_event+0x48/0x78
[ 8.575699] [<ffff000008120a00>] handle_fasteoi_irq+0xa8/0x180
[ 8.575713] [<ffff00000811bb94>] generic_handle_irq+0x24/0x38
[ 8.579389] clk gate scu unprepare clk fail!
[ 8.585545] [<ffff00000811c214>] __handle_domain_irq+0x5c/0xb8
[ 8.585551] [<ffff000008081960>] gic_handle_irq+0x78/0x174
[ 8.585555] Exception stack(0xffff000009523dd0 to 0xffff000009523f10)
[ 8.585561] 3dc0: 0000000000000000 ffff000009532580
[ 8.585567] 3de0: 0000000000000002 0000800836a06000 0000000000000000 0000000000000001
[ 8.585578] 3e00: 0000000000000332 00000001f887919c ffff000009532f60 ffff000009523e90
[ 8.585589] 3e20: 0000000000000980 0000000000000000 0000000000000001 0000000000000001
[ 8.656056] 3e40: 000000002c240480 0000ffffb1785efc ffff00000822aef8 0000ffffb18a8910
[ 8.663891] 3e60: 0000ffffb1754ef0 00000000000000be 0000000000000002 ffff0000096d0000
[ 8.671727] 3e80: ffff000009528b80 ffff80083ffff500 ffff00000948d028 0000000000000000
[ 8.679562] 3ea0: 00000000ffe76b80 0000000000000400 00000000815e0018 ffff000009523f10
[ 8.683236] Timeout for IPC response!
[ 8.687399] 3ec0: ffff000008dc4124 ffff000009523f10 ffff000008dc4124 0000000080000145
[ 8.687405] 3ee0: ffff80083ffff500 ffff00000948d028 ffffffffffffffff 00000000ffe76b80
[ 8.687409] 3f00: ffff000009523f10 ffff000008dc4124
[ 8.687418] [<ffff000008083230>] el1_irq+0xb0/0x124
[ 8.691099] Failed power operation on resource 248 sc_err 3
[ 8.698907] [<ffff000008dc4124>] schedule_idle+0x1c/0x38
[ 8.698913] [<ffff00000810d850>] do_idle+0xd0/0x1e0
[ 8.698922] [<ffff00000810daf8>] cpu_startup_entry+0x20/0x28
[ 8.706807] Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff00000eb50024
[ 8.711622] [<ffff000008dc1f18>] rest_init+0xd0/0xe0
[ 8.716493] Internal error: : 96000210 [#1] PREEMPT SMP
[ 8.722065] [<ffff0000093e0b70>] start_kernel+0x398/0x3ac
[ 8.727367] Modules linked in:
[ 8.732278] Unable to handle kernel NULL pointer dereference at virtual address 00000716
[ 8.732377] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 8.732379] Mem abort info:
[ 8.732383] Exception class = IABT (current EL), IL = 32 bits
[ 8.732386] SET = 0, FnV = 0
[ 8.732388] EA = 0, S1PTW = 0
[ 8.732393] user pgtable: 4k pages, 48-bit VAs, pgd = ffff80083528e000
[ 8.732396] [0000000000000000] *pgd=00000008b52a2003, *pud=00000008b52a1003, *pmd=0000000000000000
[ 8.737897] crc32_ce crct10dif_ce galcore(O)
[ 8.737911] CPU: 3 PID: 2241 Comm: kworker/3:2H Tainted: G W O 4.14.98-2.3.0+g0f549d8c4d5e #1
[ 8.737917] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 8.747145] Mem abort info:
[ 8.752103] Workqueue: kblockd blk_mq_run_work_fn
[ 8.757339] Exception class = DABT (current EL), IL = 32 bits
[ 8.762725] task: ffff80083b9e8000 task.stack: ffff0000110c8000
[ 8.762735] PC is at esdhc_readl_le+0xc/0x150
[ 8.765791] SET = 0, FnV = 0
[ 8.773875] LR is at sdhci_send_command+0xb0/0xae8
[ 8.773879] pc : [<ffff000008a7bd14>] lr : [<ffff000008a657a8>] pstate: 200001c5
[ 8.773881] sp : ffff0000110cbad0
[ 8.773883] x29: ffff0000110cbad0 x28: 0000000000000000
[ 8.773889] x27: 0000000000000001 x26: 0000000000000000
[ 8.773895] x25: ffff80083b5bee00 x24: ffff80083af0a000
[ 8.773900] x23: 0000000000418958 x22: 0000000000000003
[ 8.773906] x21: ffff80083b63e8c8 x20: 000000000000000b
[ 8.773913] x19: ffff80083af0a600 x18: 0000000000000010
[ 8.773919] x17: 0000ffffa6800098 x16: ffff0000082625d8
[ 8.773925] x15: ffffffffffffffff x14: 0000000000000000
[ 8.773930] x13: 0000000000000000 x12: 000000020340bbd1
[ 8.773936] x11: 0000000000000000 x10: 0000000000000980
[ 8.773943] x9 : 0000000000000000 x8 : 0000000000000000
[ 8.773948] x7 : ffff80083feeb600 x6 : 000000000000007f
[ 8.773954] x5 : 000000000000ffff x4 : 0000000000000000
[ 8.773959] x3 : ffff80083af0a600 x2 : ffff00000eb50024
[ 8.773965] x1 : 0000000000000024 x0 : ffff80083af0a600
[ 8.773972] Process kworker/3:2H (pid: 2241, stack limit = 0xffff0000110c8000)
[ 8.773974] Call trace:
[ 8.773978] Exception stack(0xffff0000110cb990 to 0xffff0000110cbad0)
[ 8.773983] b980: ffff80083af0a600 0000000000000024
[ 8.773989] b9a0: ffff00000eb50024 ffff80083af0a600 0000000000000000 000000000000ffff
[ 8.773995] b9c0: 000000000000007f ffff80083feeb600 0000000000000000 0000000000000000
[ 8.774001] b9e0: 0000000000000980 0000000000000000 000000020340bbd1 0000000000000000
[ 8.774007] ba00: 0000000000000000 ffffffffffffffff ffff0000082625d8 0000ffffa6800098
[ 8.774014] ba20: 0000000000000010 ffff80083af0a600 000000000000000b ffff80083b63e8c8
[ 8.774020] ba40: 0000000000000003 0000000000418958 ffff80083af0a000 ffff80083b5bee00
[ 8.774026] ba60: 0000000000000000 0000000000000001 0000000000000000 ffff0000110cbad0
[ 8.774032] ba80: ffff000008a657a8 ffff0000110cbad0 ffff000008a7bd14 00000000200001c5
[ 8.774038] baa0: ffff000009366000 ffff80083b686000 ffffffffffffffff ffff80083ad1b810
[ 8.774044] bac0: ffff0000110cbad0 ffff000008a7bd14
[ 8.774051] [<ffff000008a7bd14>] esdhc_readl_le+0xc/0x150
[ 8.774057] [<ffff000008a66248>] sdhci_request+0x68/0xe8
[ 8.774066] [<ffff000008a4947c>] __mmc_start_request+0x74/0x140
[ 8.774071] [<ffff000008a49ef8>] mmc_start_request+0x60/0x88
[ 8.774077] [<ffff000008a5dc04>] mmc_blk_mq_issue_rq+0x394/0x3c0
[ 8.774082] [<ffff000008a5e780>] mmc_mq_queue_rq+0x100/0x258
[ 8.774089] [<ffff00000841ecb4>] blk_mq_dispatch_rq_list+0x31c/0x3a0
[ 8.774097] [<ffff000008422e54>] blk_mq_sched_dispatch_requests+0x1ac/0x228
[ 8.774102] [<ffff00000841d09c>] __blk_mq_run_hw_queue+0xa4/0x118
[ 8.774107] [<ffff00000841d170>] blk_mq_run_work_fn+0x60/0x70
[ 8.774114] [<ffff0000080e7564>] process_one_work+0x1d4/0x348
[ 8.774119] [<ffff0000080e7720>] worker_thread+0x48/0x470
[ 8.774126] [<ffff0000080eda24>] kthread+0x12c/0x130
[ 8.774132] [<ffff000008084ed8>] ret_from_fork+0x10/0x18
[ 8.774139] Code: 17ffffc5 f9400c02 aa0003e3 8b21c042 (b9400040)
[ 8.774144] ---[ end trace 0958ffb5809b546b ]---
[ 8.774148] Internal error: Oops: 86000006 [#2] PREEMPT SMP
[ 8.774151] Modules linked in: crc32_ce crct10dif_ce galcore(O)
[ 8.774163] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D W O 4.14.98-2.3.0+g0f549d8c4d5e #1
[ 8.774165] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 8.774168] note: kworker/3:2H[2241] exited with preempt_count 1
[ 8.774171] task: ffff000009532580 task.stack: ffff000009520000
[ 8.774175] PC is at 0x0
[ 8.774178] LR is at 0x0
[ 8.774181] pc : [<0000000000000000>] lr : [<0000000000000000>] pstate: 000001c5
[ 8.774183] sp : ffff000008003ce0
[ 8.774185] x29: 00000000ffff1e0f x28: ffff000009532580
[ 8.774191] x27: 0000000000000001 x26: 0000000000000000
[ 8.774197] x25: ffff000009532b30 x24: ffff000008dc3c80
[ 8.774202] x23: ffff00000950c018 x22: ffff000009532580
[ 8.774208] x21: ffff80083bb61c00 x20: ffff000009528e78
[ 8.774214] x19: 0000000000000001 x18: 0000ffffabb99ef0
[ 8.774219] x17: 0000ffffabced910 x16: ffff00000822aef8
[ 8.774225] x15: 0000ffffabbcaefc x14: 000000001849b9d0
[ 8.774230] x13: 0000000000000000 x12: 0000000000000001
[ 8.774236] x11: 0000000000000000 x10: 0000000000000980
[ 8.774241] x9 : ffff000008003cc0 x8 : ffff000009532f60
[ 8.774247] x7 : ffff80083ff1ede8 x6 : 00000000000000de
[ 8.774252] x5 : 0000000000000001 x4 : 0000000000000000
[ 8.774257] x3 : 0000000000000200 x2 : 0000800836a06000
[ 8.774263] x1 : ffff000009532580 x0 : ffff800834908000
[ 8.774270] Process swapper/0 (pid: 0, stack limit = 0xffff000009520000)
[ 8.774272] Call trace:
[ 8.774279] Exception stack(0xffff000008003ba0 to 0xffff000008003ce0)
[ 8.774286] 3ba0: ffff800834908000 ffff000009532580 0000800836a06000 0000000000000200
[ 8.774292] 3bc0: 0000000000000000 0000000000000001 00000000000000de ffff80083ff1ede8
[ 8.774298] 3be0: ffff000009532f60 ffff000008003cc0 0000000000000980 0000000000000000
[ 8.774303] 3c00: 0000000000000001 0000000000000000 000000001849b9d0 0000ffffabbcaefc
[ 8.774309] 3c20: ffff00000822aef8 0000ffffabced910 0000ffffabb99ef0 0000000000000001
[ 8.774316] 3c40: ffff000009528e78 ffff80083bb61c00 ffff000009532580 ffff00000950c018
[ 8.774321] 3c60: ffff000008dc3c80 ffff000009532b30 0000000000000000 0000000000000001
[ 8.774327] 3c80: ffff000009532580 00000000ffff1e0f 0000000000000000 ffff000008003ce0
[ 8.774333] 3ca0: 0000000000000000 00000000000001c5 ffff000008003dc0 ffff000008104750
[ 8.774339] 3cc0: 0000ffffffffffff 0000000000000000 00000000ffff1e0f 0000000000000000
[ 8.774343] [< (null)>] (null)
[ 8.774349] Code: bad PC value
[ 8.774358] ---[ end trace 0958ffb5809b546c ]---
[ 8.774363] Kernel panic - not syncing: Attempted to kill the idle task!
[ 8.774367] SMP: stopping secondary CPUs
[ 9.774374] SMP: failed to stop secondary CPUs 0-2
[ 9.774376] Kernel Offset: disabled
[ 9.774380] CPU features: 0x0802008
[ 9.774382] Memory Limit: none
[ 10.408590] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

0 Kudos
4 Replies

1,112 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ping

may be recommended to test with latest L5.4.3

freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

and try to debug it in:

lcdif\imx\drm\gpu\drivers - linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,112 Views
jordonwu
Contributor III

Hi Igor,

Thanks for your feedback and great support.

Yes, I tried to build 5.4.3 using imx-5.4.3-2.0.0.xml - imx-manifest - i.MX Release Manifest , and manual build imx8qxp-mek-dpu-lcdif.dts  (I'm not know why imx-5.4.3-2.0.0xml manifest not enable imx8qxp-mek-dup-lcdif.dts), flash to imx8qxp mek B0 board, the boot process is ok and can enter login at least. 

But we want to know how to make lcdif work well on 4.14.49_2.x branch? thanks.

0 Kudos

1,112 Views
zhangcheng
Contributor I

我和你在相同的平台遇到了相同的问题,不过我已经找到了解决办法,如下

pastedImage_1.png

希望可以帮到你

0 Kudos

1,112 Views
igorpadykov
NXP Employee
NXP Employee

B0 revision is not recommended for production purposes

as it had many issues with video subsystems. All issues

are fixed in C0 revision which is recommended for production:

i.MX 8X C0 Migration Guide Migrating from i.MX 8X B0 to i.MX 8X C0

Best regards
igor

0 Kudos