iMX8QM-MEK HDMI Output 2400x900@60 Problem

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

iMX8QM-MEK HDMI Output 2400x900@60 Problem

13,463 Views
nevozade
Contributor IV

Hello,

I have built a yocto distro for fsl-imx-xwayland and iMX8QM-MEK machine with v5.4.70 kernel version as below.

yocto_imx8qm-mek.jpeg

I wish to output from 3 panels: 2 of them are LVDS outputs and 1 of them is HDMI output, all of them at the same time.

2 x panels have physical resolution 1920x720@60 and connected to iMX8QM-MEK eboard via LVDS lines with dual mode as represented figure below.

iMX8QM-MEK_LVDS_connection.png

1 x panel has physical resolution 2400x900@60 and connected to iMX8QM-MEK eboard via HDMI port.

* When I use the attached DTS file imx8qm-mek-hdmi.dts.txt, 2400x900@60 panel works fine which is connected to HDMI port. But there are no outputs on LVDS panels.

* When I use the attached DTS files imx8qm-mek-jdi-wuxga-lvds1-panel.dts.txt and imx8qm-mek-jdi-wuxga-lvds1-panel.dtsi, both 1920x720 LVDS panels work fine but there is no output on 2400x900@60 panel which is connected to HDMI port. If I unplug the HDMI connection from 2400x900@60 panel and plug a standard 1280x720@60 PC monitor via HDMI port, there is an output (works fine) on that PC monitor.

On the other hand, I have set the u-boot bootargs variable to adjust the HDMI output setting as below.

 

bootargs=root=/dev/mmcblk0p1 rootwait rw video=mxcdi0fb:RGB24,2400x900M@60,hdmi video=mxcdi1fb:RGB666,XGA,di0_primary ldb=di1 ip=none

 

How can I output from all of the panels (2 x LVDS 1920x720@60 and 1 x HDMI 2400x900@60) at the same time. What should be the rootcause of that problem ?

Note: DTS files are attached.

Regards,

0 Kudos
Reply
32 Replies

10,100 Views
tuncayyldrm
Contributor I

tempsnip.png

We cannot meet the criteria I show in the figure. What do I need to do to provide the resolutions in the options given here? 

Even though I took 2 LVDS and HDMI together, it was not possible to reach the resolutions I wanted and shown in the figure.

0 Kudos
Reply

10,094 Views
OliverB
NXP Employee
NXP Employee

Can you provide the source for the slide "Seeris Display Output Capabilities"?

Can you also provide video mode definitions and/or EDIDs for the displays that you tried?

The current driver has a single display pipe width limit of 2560 pixels. This means that 2 2560 width displays are possible on a single display pipe. Which also means that up to 3 or 4 2560 width displays are possible. Or one larger display up to 5120 pixel width and two displays up to 2560 width.

Regards,

Oliver

0 Kudos
Reply

10,044 Views
nevozade
Contributor IV

Hi @OliverB ,

We had already shared the EDID of our panel you before as zipped file.

 

Thanks.

0 Kudos
Reply

10,075 Views
hkaracali
Contributor II

Hello @OliverB  ,

We are trying to get at least 2 panels (one of them HDMI, one of them LVDS). Now 1 LVDS(1920x720) and 1 HDMI(1920x720) work fine. However when we changed HDMI with 2400x900 monitor, there is no image in the monitor. You can see reference slide as attached. Could you please give a way to find root cause of this issue?

Best regards.

0 Kudos
Reply

10,044 Views
OliverB
NXP Employee
NXP Employee

hkaracali and  tuncayyldrm,

Are you working with nevozade? If not please, start another thread to avoid confusion. 

nevozade, 

Can you provide the full boot log as follows:

  1. Leave the HDMI monitor unplugged boot until the prompt. Both LVDS panels should be working. (If not you need to investigate.)
  2. login
  3. run "dmesg -c"
  4. Run "modetest"
  5. plug in the HDMI monitor.
  6. run "dmesg -c"
  7. run "modetest"
  8. Save the full console dump and send it to me.

Sorry to keep asking for logs, but this may be the only way I can help?

Regards,

Oliver

 

0 Kudos
Reply

9,961 Views
tuncayyldrm
Contributor I

Hello Oliver,
We got the boot log which you asked for. Here we ran “dmesg-c” and “modetest” commands without HDMI. Then we tried to complete the same process after plugging in the HDMI, but we couldn't get a new log with the "dmesg -c" command. After rebooting, we repeated the same process with HDMI plugged in and saved the log files separately in this way.


With “imx8qm-mek-jdi-wuxga-lvds1-panel.dtb” dtb, the log file created when HDMI (2400x900@60) and 2 LDVS (1920x720) are connected: log_with_HDMI.txt

With “imx8qm-mek-jdi-wuxga-lvds1-panel.dtb” dtb, the log file created when 2 LDVS (1920x720) are connected: log_without_HDMI.txt

With “imx8qm-mek-hdmi.dtb” dtb, the log file created when HDMI (2400x900@60) are connected: log_with_HDMI_with_hdmi_dtb.txt

With “imx8qm-mek-hdmi.dtb” dtb, the log file created when HDMI (1920x1080) are connected: log_with_HDMI_LVDS_with_hdmi_dtb.txt

With “imx8qm-mek-hdmi.dtb” dtb, the log file created when 2 LDVS (1920x720) are connected: log_with_LVDS_with_hdmi_dtb.txt


The freescale we used and logs in this process are attached.

 

Regards…

0 Kudos
Reply

9,888 Views
nevozade
Contributor IV

Hi @OliverB ,

Is there any progress after comparing these logs with modetest command? We will be glad if you inform us.

 

Thanks,

Nevzat.

0 Kudos
Reply

9,883 Views
OliverB
NXP Employee
NXP Employee

Hi,

From the logs it seems we are using different kernel versions. You are using this version:

...

commit 4f2631b022d843c1f2a5d34eae2fd98927a1a6c7 (tag: rel_imx_5.4.70_2.3.0)
Author: Richard Zhu <hongxing.zhu@nxp.com>
Date: Mon Dec 14 14:36:31 2020 +0800

MLK-25089 phy: freescale: pcie: fix the imx8mp evk ep rc link speed issue

...

I was using the latest from the branch origin/imx_5.4.70_2.3.0 and then applying my patch:

...

commit 7a9a50685b0fd6cad33dddd57422993ea9bc326c (HEAD -> imx_5.4.70_2.3.0)
Author: Oliver Brown <oliver.brown@nxp.com>
Date: Fri Aug 5 16:54:03 2022 -0500

arm64: boot: dts: freescale: Add configuration for two LVDS panels and HDMI

This is a proof of concept with no resource conflict checking. It is important
that the HDMI display is less than 2560 pixels and the pixel clock is less than
300 MHz or LVDS0 will not work.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>

commit f7dc6f02b4b6722fdbe8f8520b77a0d0339c28c1 (origin/imx_5.4.70_2.3.0)
Author: Frank Li <Frank.Li@nxp.com>
Date: Mon May 2 11:25:40 2022 -0500

MLK-25967 read return error when seco resume after suspend

Application have chance to reopen session after resume

Signed-off-by: Frank Li <Frank.Li@nxp.com>

...

 

Can you update to the latest version on the imx_5.4.70_2.3.0 branch and apply the patch I sent? I found that when I use the same version as you are using I get no display on LVDS or HDMI.

Regards,

 

Oliver

0 Kudos
Reply

9,844 Views
nevozade
Contributor IV

Hello @OliverB ,

We apply the necessary patches and kernel updates on our Yocto project as you mentioned. However, there is nothing to change (no display on 2400x900 monitor HDMI output). Is there any idea or progress about this issue?

Regards,

 

Nevzat.

0 Kudos
Reply

9,838 Views
OliverB
NXP Employee
NXP Employee

Hi,

I'm not sure what the issue is that you are facing. I have also tried my patch with a Dell QHD Monitor 2560x1440@60Hz on HDMI. Both LVDS and HDMI monitors are working. What I would do if I had your setup using my patch...

  1. Verify that both LVDS Monitors are working as expected with HDMI monitor disconnected. If both LVDS displays not working, debug and fix this configuration. 
  2. With both LVDS connected, try different HDMI monitors in addition to the 2400x900 monitor. I recommend trying a few monitors with different resolutions like1920x1080-60Hz and 2560x1440-60Hz. Be sure to reboot the iMX8QM after changing each monitor. 

There may be some issue with the 2400x900 monitor you are using. Can you provide any additional information about the monitor? (Manufacturer, data sheet, specifications,...)

Regards,

 

Oliver

 

0 Kudos
Reply

9,834 Views
hkaracali
Contributor II

Hi @OliverB,

I just wonder that your monitor resolution is 2560x1440; but is it fullscreen? Because our motinor supports only one resolution as 2400x900. When we use a different monitor, it works but all resolutions are same on three monitors as 1920x720. We want to use 1 Lvds 1920x720,  1 HDMI 2400x900 as both fullscreen. Do you have any idea about that can we use two monitors with two different resolutions? Or is it about different resolutions?

Best regards. 

0 Kudos
Reply

9,830 Views
OliverB
NXP Employee
NXP Employee

my current setup is as follows:

HDMI 2560x1440 Dell monitor. Also used Quantum Data 980B with 2400x900 EDID

LVDS0: 1920x1200 NXP Dual Channel LVDS Panel (jdi,tx26d202vm0bwa)

LVDS1: 1920x1200 NXP Dual Channel LVDS Panel (jdi,tx26d202vm0bwa)

All the displays are at full resolution (see modetest output). Your modetest output will show you the resolutions from the display controller. 

What resolution do you want for each display? I may be able to test it with a LVDS-HDMI converter instead of a panel. 

Regards,

 

Oliver

0 Kudos
Reply

9,827 Views
hkaracali
Contributor II

Hi @OliverB,

We want to 2 Lvds 1920x720, 1 hdmi 2400x900 with full resolution. But never achieves this configuration up to now.

Regards. 

0 Kudos
Reply

9,986 Views
tuncayyldrm
Contributor I
Spoiler
 

Hello @OliverB,

When we tried to get the log you requested from us, we encountered the error that the 'modetest command not found'. Several solutions we found on the internet did not help us run the modetest command. We saw the message that libraries such as libdrm-dev already newest version installed when we tried to install some libraries. Do you have an alternative for modetest or an idea to solve this problem instead ?

 

Regards.

0 Kudos
Reply

9,981 Views
OliverB
NXP Employee
NXP Employee

You may be using the core-image-minimal. Can you start a new yocto build with imx-image-multimedia or imx-image-full?

Alternatively, you could use the prebuilt images to test this also from here:

 https://www.nxp.com/webapp/Download?colCode=L5.4.70_2.3.0_MX8QM&appType=licens

Then you could build the kernel sources from here:

https://source.codeaurora.org/external/imx/linux-imx 

branch: remotes/origin/imx_5.4.70_2.3.0

Remember to apply the patch attached here. I found the dts file was missing -  sorry. So use this patch!

And Finally set the boot environment: 

=> setenv fdt_file imx8qm-mek-jdi-wuxga-lvds0-lvds1-panel-hdmi.dtb
=> saveenv
Saving Environment to MMC... Writing to MMC(1)... OK
=> boot

 

Regards,

Oliver

0 Kudos
Reply

10,014 Views
nevozade
Contributor IV

Yes @OliverB , we are working together on this issue, you can accept their replies like I wrote.

No problem for us to ask logs or other files, we all aim to solve this problem. Sorry for responding late, we are in very far time zones. We are going to provide what you requested.

Thanks,

 

Nevzat

10,035 Views
hkaracali
Contributor II

Hello @OliverB,

Yes. We are working with nevozade. So we can go on from this issue. We will send logs tomorrow. Because we are not in the office right now because of time zone difference.

Best regards.

10,332 Views
OliverB
NXP Employee
NXP Employee

I was able to get HDMI working with LVDS0 and LVDS1. The HDMI display needs to be limited to 2560 pixels or less and less than 300MHz pixel clock. Otherwise LVDS0 will not have a display. In this patch I also had to disable hdmi audio due to a probe conflict. Let me know if this is working for you. 

 

Regards,

 

Oliver

0 Kudos
Reply

10,315 Views
nevozade
Contributor IV

Hello @OliverB ,

Firstly, thanks for your quick reply, this issue is so urgent and important to me.

I have applied your patch and 1 HDMI and 2 LVDS work now. However still I have a problem. Now just I can get 1920x1080 resolution from HDMI; but I need 2400x900 like FHD+. Without your patch if I use imx8qm-mek-hdmi.dtb, HDMI (2400x900) works; but not any LVDS. If I use imx8qm-mek-jdi-wuxga-lvds1-panel.dtb, just 2 LVDS work, no HDMI. When I apply your patch 2 LVDS OK; just HDMI (1920x1080) OK, not 2400x900. What is the reason of not working 2400x900 with LVDSs and how can I solve this problem? Or is this case possible?

Best regards.

0 Kudos
Reply

10,235 Views
OliverB
NXP Employee
NXP Employee

Hi Nevozade,

I'm not sure why it is not working for your resolution. Can you you provide the EDID from you 2400x900 monitor? You can just provide the output of "modtest" from when your monitor is working in HDMI mode. I'll have to set this mode on my analyzer and see what is causing the problem. Both the display controller driver and HDMI Driver should allow this mode in a single display pipe. It's possible "1920"  is hardcoded somewhere in the drivers.

Regards,

 

Oliver

   

 

 

0 Kudos
Reply