drm panel driver is not loaded or found

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

drm panel driver is not loaded or found

Jump to solution
2,881 Views
electronic15
Contributor III

Hello Community, 

I've written a drm panel driver for a MIPI DSI TFT display which has a Himax HX8394-A01 controller inside. We are using a SOM from the company Variscite based on the i.mx8 mini processor (imx8mm-var-som) running AOSP 9.

I followed more or less the same steps as described in 

https://community.nxp.com/t5/i-MX-Processors/how-to-add-a-new-panel-with-imx8mm-evk-I-got-some-probl...

1- I wrote the diver "panel-himax-HX8394-A01.c" using the "panel-raydium-rm67191.c" as a template.

2 - I modified the corresponding Makefile and Kconfig files to include this driver.

3- I modified the defconfig file (imx8_var_android_defconfig in my case)

4- I modified the DT adding the MIPI DSI panel node like this

&mipi_dsi {
panel@0 {
status = "okay";
compatible = "himax,hx8394";
reg = <0>;
pinctrl-0 = <&pinctrl_mipi_dsi_en>;
reset-gpio = <&gpio4 7 GPIO_ACTIVE_HIGH>;
dsi-lanes = <4>;
video-mode = <0>;
/* 0: burst mode
* 1: non-burst mode with sync event
* 2: non-burst mode with sync pulse
*/
panel-width-mm = <68>;
panel-height-mm = <121>;
//status = "okay";
};
};

I can compile the Android image without a problem but when I load it to my board and start it, it seems the kernel does not find the corresponding driver and I got this message on the debug console

...

[ 1.466163] bootconsole [ec_imx6q0] disabled
[ 1.476337] msm_serial: driver initialized
[ 1.494005] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.500663] [drm] No driver support for vblank timestamp query.
[ 1.506702] imx-drm display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 1.514301] [drm] Cannot find any crtc or sizes
[ 1.519660] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0
[ 1.541280] brd: module loaded
[ 1.550682] loop: module loaded...

Attached you can find the whole console log, the driver, and the device tree.

As far as I know, the .probe function is the first function from the driver to be called 

static struct mipi_dsi_driver hx8394_panel_driver = {
     .driver = {
    .name = "panel-himax-HX8394-A01",
    .of_match_table = hx8394_of_match,
     },
     .probe = hx8394_panel_probe,
     .remove = hx8394_panel_remove,
    .shutdown = hx8394_panel_shutdown,
};
module_mipi_dsi_driver(hx8394_panel_driver);

So I added a debug message into this function but I dot not get anything 

DRM_DEV_DEBUG_DRIVER(dev,"Enter func %s...\n",__func__);

 

Am I missing something, some image configuration?

How can I know if the driver is even being called?

 

Best regards, 

Gonzalo

0 Kudos
1 Solution
2,844 Views
electronic15
Contributor III

I've solved the problem by modifying the "status" property from disable to okay in the "mipi_dsi: mipi_dsi@32E10000" node inside the respective "fsl-imx8mm.dtsi" file. The "status" property in the "&mipi_dsi" node should overwrite the previous value but I don't know why it was not working like that.

Although my display is still not working, my driver is being called and I can send debug messages from it so now I just to keep working on this.

Regards.

 

View solution in original post

0 Kudos
4 Replies
2,152 Views
dipak290485
Contributor I

Hello,

Lcd display worked after using panel-himax-HX8394-A01.c driver code ?

0 Kudos
2,845 Views
electronic15
Contributor III

I've solved the problem by modifying the "status" property from disable to okay in the "mipi_dsi: mipi_dsi@32E10000" node inside the respective "fsl-imx8mm.dtsi" file. The "status" property in the "&mipi_dsi" node should overwrite the previous value but I don't know why it was not working like that.

Although my display is still not working, my driver is being called and I can send debug messages from it so now I just to keep working on this.

Regards.

 

0 Kudos
2,869 Views
igorpadykov
NXP Employee
NXP Employee

Hi electronic15

 

one can try to uncomment  //status = "okay";

 

Best regards
igor

0 Kudos
2,860 Views
electronic15
Contributor III

Hi Igor, 

Sorry, my code is a bit untidy since I'm working on it. But, the line  "status = ok" is twice there, the first time at the beginning of the node is uncommented and the second time it is commented. Does the position of that line inside the node change anything? 

Regards, 

Gonzalo

0 Kudos