imx8qm DPU transition from u-boot

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx8qm DPU transition from u-boot

706件の閲覧回数
Mantilla
Contributor I

Hi community, I am working with a custom board based on imx8qm-mek.

I managed the LVDS displays to have a splash screen transition from u-boot to the kernel, as DSI is not fully supported at the moment in u-boot. For that I keep the related power domains powered on when booting the kernel.

Now the problem arises when probing and starting the display subsystem in the kernel, with only the 2 LVDS displays it looks like it works although I see some errors:

[ 41.952572] dc0_disp1_clk: Resource:32 reported EBUSY when trying to set clock parent 3
[ 41.961363] dc1_disp1_clk: Resource:49 reported EBUSY when trying to set clock parent 3
[ 43.007270] [drm] [CRTC:38:crtc-0] dpu_crtc_atomic_enable: wait for content shdld done timeout
[ 44.159488] [drm] [CRTC:67:crtc-1] dpu_crtc_atomic_enable: wait for safety shdld done timeout

The EBUSY is from the SCU and that is normal as that clock has been set at u-boot time, I just ignore that message and assign the clock parent:

@@ -363,9 +363,21 @@ static int clk_scu_set_parent(struct clk_hw *hw, u8 index)
msg.parent = index;

ret = imx_scu_call_rpc(ccm_ipc_handle, &msg, true);

+ if(ret==-EBUSY) {
+     clk->parent_index = index;
+     pr_info("%s: Resource:%d reported EBUSY when trying to set clock parent %d\n",
+                  clk_hw_get_name(hw), clk->rsrc_id, index);
+     return 0;
+ }

And this works only with those warnings previosly mentioned. But when I have a DSI display also connected then it does not work properly, only 1 or no display are showing Weston desktop and I see the following errors:

[ 41.952572] dc0_disp1_clk: Resource:32 reported EBUSY when trying to set clock parent 3
[ 41.961363] dc1_disp1_clk: Resource:49 reported EBUSY when trying to set clock parent 3
[ 43.007270] [drm] [CRTC:38:crtc-0] dpu_crtc_atomic_enable: wait for content shdld done timeout
[ 43.115214] dpu-core 56180000.dpu: failed to wait for FrameGen0 secondary syncup
[ 44.159488] [drm] [CRTC:67:crtc-1] dpu_crtc_atomic_enable: wait for safety shdld done timeout
[ 44.267212] dpu-core 56180000.dpu: failed to wait for FrameGen1 secondary syncup
[ 44.274615] [drm] [CRTC:67:crtc-1] dpu_crtc_atomic_enable: FrameGen requests to read empty FIFO
[ 45.311538] [drm] [CRTC:96:crtc-2] dpu_crtc_atomic_enable: wait for content shdld done timeout
[ 45.419213] dpu-core 57180000.dpu: failed to wait for FrameGen0 secondary syncup
[ 46.463513] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_enable: wait for safety shdld done timeout
[ 46.571213] dpu-core 57180000.dpu: failed to wait for FrameGen1 secondary syncup
[ 46.578609] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_enable: FrameGen requests to read empty FIFO

When disabling this logo transition everything works fine, so I would like to get some input on how to handle this transition from a running DC subsystem from u-boot to kernel, maybe some documentation of the DPU so I can figure out how to properly do this transition?

Thanks in Advance!

Alfredo

タグ(1)
0 件の賞賛
返信
3 返答(返信)

629件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @Mantilla!
Thank you for contacting NXP Support!

We have a community post on how to add LVDS drivers in Uboot.

Please check that post and try to implement the driver using our recommendations.

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX93-LVDS-driver-in-uboot/ta-p/167...


Best Regards!

Chavira

0 件の賞賛
返信

612件の閲覧回数
Mantilla
Contributor I
Hi @Chavira, thanks for the reply.

U-boot already has LVDS support for the imx8qm and I have it working, the DSI is also not a big problem as we know how to adapt the existing drivers to make it work.

The only problem is the DPU and the DRM subsystem, how to reset the display subsystem and the DPU when transitioning from u-boot. As the DPU and LVDS resources are kept on in the transition and configured by u-boot

Best Regards, Alfredo
0 件の賞賛
返信

536件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @Mantilla!

 

You can refer to this documentation:

 

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/An-attempt-to-keep-uboot-logo-before-Lin...

 

https://community.nxp.com/t5/i-MX-Graphics-Knowledge-Base/Test-to-keep-u-boot-logo-util-system-scree...

 

Also, we have an internal test using iMX93 (I will send you the proper patches), which you can get based on that documentation to get success in your project.

 

Best Regards!

Chavira

0 件の賞賛
返信