Dear All,
We now have a custom screen (800x600), which needs to be equipped with a screen. However, according to the IMX8MQ manual and driver code, the IMX8MQ does not support 800x600 mode. We refer to the method of NXP forum:https://community.nxp.com/t5/i-MX-Graphics/Driving-a-1080x1920-portrait-HDMI-screen/m-p/1218253#M92
Customized screen parameters are as follows:
clock-frequency = <40000000>;
hactive = <800>;
vactive = <600>;
hfront-porch = <40>;
hback-porch = <100>;
hsync-len = <10>;
vback-porch = <30>;
vfront-porch = <3>;
vsync-len = <2>;
So I'm adding the following code on driver source file(drivers/gpu/drm/imx/hdp/imx-hdp.c).
{ DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840,
850, 950, 0, 600, 603, 605, 635, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
And the driver source file (drivers/gpu/drm/imx/hdp/t28hpc_hdmitx_table.c) was commented out in 40 m pixel clock is set to open,Then connect to the screen, boot kernel has printed information:
[ 1.436958] [drm] Pixel clock frequency: 40000 KHz, character clock frequency: 40000, color depth is 8-bit.
[ 1.436972] [drm] Pixel clock frequency (40000 KHz) is supported in this color depth (8-bit). Settings found in row 31
[ 1.437013] [drm] VCO frequency is 3202200
[ 1.437021] [drm] VCO frequency (3202200 KHz) is supported. Settings found in row 16
The HDMI screen still shows NO SIGNAL when the driver has found a 40M pixel clock.
claire