Specific HDMI screen resolution, "hdmi_phy" clock remains deactivated (i.MX8M-Plus)

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

Specific HDMI screen resolution, "hdmi_phy" clock remains deactivated (i.MX8M-Plus)

Jump to solution
435 Views
JoelWTK
Contributor II

Hello

I'm working with iot-gate-imx8plus from compulab which integrate i.MX8M-Plus CPU and I have difficulties to use a specific screen with resolution 800x480 over HDMI interface.

I have done multiple logs to understand the issues:

- first the screen is not detected:

root@iot-gate-imx8plus:~# cat /sys/class/drm/card1-HDMI-A-1/status
disconnected

 

- so I force the detection of the screen using the command:

root@iot-gate-imx8plus:~# echo on > /sys/class/drm/card1-HDMI-A-1/status
root@iot-gate-imx8plus:~# cat /sys/class/drm/card1-HDMI-A-1/status
connected

 

- then the "hdmi_phy" clock rate remains 0 (I found this by making some logs in the kernel) as shown below:

root@iot-gate-imx8plus:~# cat /sys/kernel/debug/clk/clk_summary | grep "hdmi"
hdmi_ref_266m 1 1 0 24000000 0 0 50000 Y
hdmi_glb_ref_266m 0 0 0 24000000 0 0 50000 N
hdmi_sec_mem 0 0 0 24000000 0 0 50000 N
hdmi_esm 0 0 0 24000000 0 0 50000 N
hdmi_24m 2 2 0 24000000 0 0 50000 Y
hdmi_glb_24m 2 2 0 24000000 0 0 50000 Y
hdmi_phy 1 1 0 0 0 0 50000 Y
hdmi_glb_pix 4 4 0 0 0 0 50000 Y
hdmi_pipe_sel 1 1 0 0 0 0 50000 Y
hdmi_vid_pix 0 0 0 0 0 0 50000 N
hdmi_tx_pix 1 1 0 0 0 0 50000 Y
hdmi_phy_sel 0 0 0 24000000 0 0 50000 Y
hdmi_fdcc_tst 1 1 0 24000000 0 0 50000 Y
hdmi_fdcc_ref 1 1 0 24000000 0 0 50000 Y
hdmi_axi 2 2 0 500000000 0 0 50000 Y
hdmi_glb_b 2 2 0 500000000 0 0 50000 Y
hdmi_root_clk 1 1 0 500000000 0 0 50000 Y
hdmi_apb 3 3 0 133333333 0 0 50000 Y
hdmi_glb_apb 13 13 0 133333333 0 0 50000 Y
hdmi_trng_apb 0 0 0 133333333 0 0 50000 N
hdmi_trng_skp 0 0 0 133333333 0 0 50000 N
hdmi_phy_int 1 1 0 133333333 0 0 50000 Y
hdmi_phy_apb 1 1 0 133333333 0 0 50000 Y
hdmi_tx_prep 1 1 0 133333333 0 0 50000 Y
hdmi_tx_skp 1 1 0 133333333 0 0 50000 Y
hdmi_tx_sfr 1 1 0 133333333 0 0 50000 Y
hdmi_tx_gpa 0 0 0 133333333 0 0 50000 N
hdmi_tx_apb 1 1 0 133333333 0 0 50000 Y
hdmi_tx_hpi 1 1 0 133333333 0 0 50000 Y
hdmi_noc 1 1 0 133333333 0 0 50000 Y
hdmi_irq_steer 1 1 0 133333333 0 0 50000 Y
hdmi_glb_32k 1 1 0 32768 0 0 50000 Y
hdmi_cec 1 1 0 32768 0 0 50000 Y

 

As a consequence the drm_mode_validate_pipeline function of "drivers/gpu/drm/drm_probe_helper.c" fails with return value EINVAL when calling drm_bridge_chain_mode_valid function.

 

For the moment I have no specific kernel parameters for the DRM/HDMI support.

I have also integrated custom resolution support following https://community.nxp.com/t5/i-MX-Graphics/Driving-a-1080x1920-portrait-HDMI-screen/m-p/1218253#M92 but it seems to be involved later in the initialization process.

Distro is xwayland. Kernel version is 5.15.32.

Connecting a standard resolution screen is working and hdmy_phy clock is actiavted.

 

=> What is the trigger to activate hdmi_phy clock? Why hdmi_phy rate remains 0 for my custom screen?

 

Thanks for the support,

Joel

0 Kudos
Reply
1 Solution
423 Views
JoelWTK
Contributor II

Hello @joanxie 

32MHz. I just found this: https://community.nxp.com/t5/Other-NXP-Products/How-to-increase-the-hdmi-clock-on-the-imx8Mplus/m-p/... and this solve my specific resolution issue!!! I only modified the wrong driver, the one to be modified was drivers/phy/freescale/phy-fsl-samsung-hdmi.c

I'm now checking why the detection is not properly done, I still have to do "echo on > /sys/class/drm/card1-HDMI-A-1/status" to switch ON the display.

I will post here if I found the detection issue.

Joel

View solution in original post

3 Replies
424 Views
JoelWTK
Contributor II

Hello @joanxie 

32MHz. I just found this: https://community.nxp.com/t5/Other-NXP-Products/How-to-increase-the-hdmi-clock-on-the-imx8Mplus/m-p/... and this solve my specific resolution issue!!! I only modified the wrong driver, the one to be modified was drivers/phy/freescale/phy-fsl-samsung-hdmi.c

I'm now checking why the detection is not properly done, I still have to do "echo on > /sys/class/drm/card1-HDMI-A-1/status" to switch ON the display.

I will post here if I found the detection issue.

Joel

391 Views
joanxie
NXP TechSupport
NXP TechSupport

ok, imx8mp only support limited hdmi display, if you need non-standard hdmi display, you need tell me the pixel clock you need, then I can send the timings to you, you can add them into driver to support your new display

433 Views
joanxie
NXP TechSupport
NXP TechSupport

what  hdmi display pixel clock you need to connect to the imx8mp hdmi port?

0 Kudos
Reply