我在imx8mq android 8.1.0_1.3.0中需要支持HDMI和MIPI双显,分辨率皆为1080p,但mipi显示屏无显示,MIPI显示屏使用DCSS作为输入源的时候显示是OK的。我的双显的dts文件参见附件,板子启动log信息见附件。
log信息部分显示如下:
yx8210hvcn_8mq:/ # dmesg |grep drm
[ 1.582980] [drm] Initialized
[ 1.595165] nwl_dsi-imx mipi_dsi@30A00000: Added drm bridge!
[ 1.603134] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.609827] [drm] No driver support for vblank timestamp query.
[ 1.615883] imx-drm display-subsystem: bound imx-dcss-crtc.0 (ops dcss_crtc_ops)
[ 1.651142] [drm] hdmi-audio-codec driver bound to HDMI
[ 1.656392] imx-drm display-subsystem: bound 32c00000.hdmi (ops imx_hdp_imx_ops)
[ 1.663898] imx-drm display-subsystem: No connectors reported connected with modes
[ 1.671487] [drm] Cannot find any crtc or sizes - going 1024x768
[ 1.707739] imx-drm display-subsystem: fb0: frame buffer device
从红色部分来看,似乎是因为没找到crtc,请帮我看一下,谢谢!
另:屏的时序设置在屏的驱动文件中,具体如下:
static const struct display_timing startek_default_timing = {
.pixelclock = { 66000000, 120000000, 132000000 },
.hactive = { 1080, 1080, 1080 },
.hfront_porch = { 20, 20, 20 },
.hsync_len = { 2, 2, 2 },
.hback_porch = { 34, 34, 34 },
.vactive = { 1920, 1920, 1920 },
.vfront_porch = { 10, 10, 10 },
.vsync_len = { 2, 2, 2 },
.vback_porch = { 4, 4, 4 },
.flags = DISPLAY_FLAGS_HSYNC_LOW |
DISPLAY_FLAGS_VSYNC_LOW |
DISPLAY_FLAGS_DE_LOW |
DISPLAY_FLAGS_PIXDATA_NEGEDGE,
};
1. there is no mode specified by the panel.
I can see this error in log:
[ 2.377857] /mipi_dsi_bridge@30A00000/panel@0: could not find display-timings node
[ 2.385442] /mipi_dsi_bridge@30A00000/panel@0: no timings specified
2. according to the driver, it should use the timings hard-coded in driver. Still, the LCDIF does not receive any mode:
[ 2.512500] mxsfb_drm 30320000.lcdif: No connectors reported connected with modes
3. there is a problem with HDMI too, because there is no CRTC to specify a mode:
[ 2.520060] [drm] Cannot find any crtc or sizes - going 1024x768
In order to get more information about this, please enable DRM debug (use drm.debug=0x1F in cmdline when booting the kernel). Then run dmesg and send us the whole dump of dmesg output.
My error is:
[ 3.624105] [drm:drm_calc_timestamping_constants] crtc 33: hwmode: htotal 2432, vtotal 1099, vdisplay 1080
[ 3.624112] [drm:drm_calc_timestamping_constants] crtc 33: clock 80192 kHz framedur 33329608 linedur 30327
[ 3.624119] [drm:drm_atomic_helper_commit_modeset_disables] modeset on [ENCODER:45:TMDS-45]
[ 3.624123] [drm] Link rate is too high - forcing link to lower rate
[ 5.123379] [drm:hdmi_phy_init_t28hpc] *ERROR* HDMI mailbox access failed
[ 5.123384] [drm:imx_hdp_mode_setup] *ERROR* Failed to initialise HDP PHY
How to solve this problem?
Sincerely.