imx8mp Dual screen HDMI and eDP Kernel 6.12

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

imx8mp Dual screen HDMI and eDP Kernel 6.12

3,179件の閲覧回数
a-s-g
Contributor II

Hi guys,

I've been integrating HDMI and eDP on the imx8mp SECO D18 board (SOM).
Kernel 6.12

We use weston in our application.

I was able to successfully integrate both interfaces and they work separately well (used SECO overlays from their GIT repo). 
As soon as I enable eDP in addition to HDMI, the screen output always goes to eDP, an external HDMI monitor remains black. As soon as I disable eDP, HDMI works. 

I see both dri devices at /dev/dri and /sys/kernel/debug/dri ... but I have only 1 CRTC. 
modetest on both devices gives me a perfect test pattern on both escreens!

I've tired all possible weston configurations (setting different output devices ets.), but nothing helps. Weston also "sees" only one output device. 

I think the problem is depper either at the driver level and DevTree or in kernel (configuration). 

We have a reference application running based on SECO's CleaOS (but older Kernel 5.1) with dual screen output.

My suspicion: In their Device Tree they use one node that accomodates lcdif :

display-subsystem {
compatible = "fsl,imx-display-subsystem";
ports = <&lcdif1_disp>,
<&lcdif2_disp>,
<&lcdif3_disp>;
};
 
If you look at 
/sys/kernel/debug/dri# cat 1/name in CleaOS
they have one display device:
imx-drm dev=display-subsystem unique=display-subsystem
I think that's the difference!
 
I do the same in my DevTree, but somehow the driver behind (drivers/gpu/drm/imx/ipuv3/imx-drm-core.c) is not being called, some Kernel CONFIGs, for example ...PARALLEL_DISPLAY seems to be not available in our kernel.   
 

Has anyone a similar issue with dual screen output?

 

 

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

3,102件の閲覧回数
a-s-g
Contributor II

... you're right, imx8mp doesn't support eDP natively, just checked HW stuff. SECO uses a mipi_dsi to eDP bridge from TI (SN65DSI86) on their SOM (D18): https://secogroup.atlassian.net/wiki/spaces/SECOTech/pages/1403914376/SOM-SMARC-MX8M-Plus+D18

Simplified HW signal flow is as following,
[Samsung DSI HOST @ imx8mp] ---mipi_dsi--->[TI
SN65DSI86 bridge]---edp--->[eDP DP LCD Panel].

SW/Device tree pipe eDP (DTS Files: imx8mp.dtsi, 
seco-imx8mp-d18.dts):
LCDIF1->DSI HOST->TI SN65DSI86->LCD Panel(
boe,ev156fhm)

SW/Device tree pipe HDMI (DTS Files: imx8mp.dtsi, seco-imx8mp-d18.dts):
LCDIF3->HDMI_PVI->HDMI_TX->HDMI-CONNECTOR

All device tree additons for HDMI and eDP come from SECO 5.10 Kernel (seco and freescale subfolders and then overlays):
https://git.seco.com/pub/i.mx/yocto/5.x/linux-seco-imx/-/tree/ohos/develop/imx_5.10.35_2.0.0/arch/ar...

We currently use Mainline kernel 6.12 RC2.

One big difference: SECO has one virtual DRM device that is connected to all lcdif[X] and the apps above use that virtual device for drawing to all screens. Mainline kernel 6.12 doesn't support this architecture (at least I couldn't see anything like that).  

Thanks in advance for support

0 件の賞賛
返信

3,114件の閲覧回数
a-s-g
Contributor II
Hi Bio,
imx8mp defenitely support embedded Display Port and HDMI as well, as you've mentioned.
Simplified signal flow, lcdif1 is used for eDP and lcdif3 for HDMI.
LCDIF_1 > DSI> SN65DSI86 > eDP-Panel 
 
They run nicely separately but if you want to mirror them, for example when running weston, it doesn't work at driver level, you need to tell weston to use both devices HDMI and eDP otherwise you have picture only on the eDP panel
0 件の賞賛
返信

3,126件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

8MP can only support HDMI, not support DP. How you connect the dp port monitor? Could you give a framework picture to show their connection?

Regards

0 件の賞賛
返信

3,005件の閲覧回数
a-s-g
Contributor II

... any ideas? 

0 件の賞賛
返信

3,054件の閲覧回数
a-s-g
Contributor II

... you're right, imx8mp doesn't support eDP natively, just checked HW stuff. SECO uses a mipi_dsi to eDP bridge from TI (SN65DSI86) on their SOM (D18): https://secogroup.atlassian.net/wiki/spaces/SECOTech/pages/1403914376/SOM-SMARC-MX8M-Plus+D18

Simplified HW signal flow is as following,
[Samsung DSI HOST @ imx8mp] ---mipi_dsi--->[TI
SN65DSI86 bridge]---edp--->[eDP DP LCD Panel].

SW/Device tree pipe eDP (DTS Files: imx8mp.dtsi, 
seco-imx8mp-d18.dts):
LCDIF1->DSI HOST->TI SN65DSI86->LCD Panel(
boe,ev156fhm)

SW/Device tree pipe HDMI (DTS Files: imx8mp.dtsi, seco-imx8mp-d18.dts):
LCDIF3->HDMI_PVI->HDMI_TX->HDMI-CONNECTOR

All device tree additons for HDMI and eDP come from SECO 5.10 Kernel (seco and freescale subfolders and then overlays):
https://git.seco.com/pub/i.mx/yocto/5.x/linux-seco-imx/-/tree/ohos/develop/imx_5.10.35_2.0.0/arch/ar...

We currently use Mainline kernel 6.12 RC2.

One big difference: SECO has one virtual DRM device that is connected to all lcdif[X] and the apps above use that virtual device for drawing to all screens. Mainline kernel 6.12 doesn't support this architecture (at least I couldn't see anything like that).  

Thanks in advance for support

 
 
タグ(4)
0 件の賞賛
返信