MIPI-DSI panel and IMX8MQ-EVK

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

MIPI-DSI panel and IMX8MQ-EVK

3,965 Views
oli1
Contributor II

Hi,

I'm currently trying to interface a MIPI display panel to our EVK development board.

I've copied the 'dcss-rm67191' device tree contents into our own device tree and  set the various power/reset GPIO pins and removed i2c references etc.

There are 2 sets of 'clock-rates' specified in the 'dcss-rm67191' device tree example, I assume one set is for the internal DSI bridge and the other is for the panel? Will these need to be modified? I've not handled custom display devices before.

I get this error on boot:

[0.966622] imx-drm display-subsystem: bound imx-dcss-crtc.0 (ops dcss_crtc_ops)
[0.974113] nwl_dsi-imx mipi_dsi@30A00000: Using DCSS as input source
[0.980807] imx-drm display-subsystem: failed to bind mipi_dsi@30A00000 (ops imx_nwl_dsi_component_ops): -19
[0.990730] imx-drm display-subsystem: master bind failed: -19

Any pointers as to where I'm going wrong would be amazing.

Kind regards,
Oli

Tags (1)
0 Kudos
2 Replies

2,095 Views
igorpadykov
NXP Employee
NXP Employee

Hi Oli

for new panel one can try to adjust "display-timings" in

linux/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-dcss-rm67191.dtsi

fsl-imx8mq-evk-dcss-rm67191.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

Regarding clocks one can look at dts platform specific extentions for the NWL MIPI-DSI host controller

dsi_nwl.txt\imx\display\bindings\devicetree\Documentation - linux-imx - i.MX Linux kernel 

and linux common clock framework description
https://www.kernel.org/doc/Documentation/clk.txt

https://elinux.org/images/b/b8/Elc2013_Clement.pdf 

Some boundary devices lcd examples

https://boundarydevices.com/yocto-release-for-i-mx8mq/ 

Pay attention to:

nwl-dsi.c\bridge\drm\gpu\drivers - linux-imx - i.MX Linux kernel 
 * These are the pixel clocks that the controller can handle successfully.
static int valid_clocks[] = {
    162000,
    148500,
    135000,
    132000,
    108000,
    74250,
    49500,
    31500,
};


Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,095 Views
oli1
Contributor II

Igor,

Thank you for the swift reply.

That confirms i'm on the right track! I've gotten the driver to load and I think I've got the timings dialed in correctly.

I'm currently setting the kernel bootcmds to use the display, is 'video=fb0:dev=mipi_dsi' correct? Or should it pick the panel up automatically?

Thanks again

Oli

0 Kudos