Hello,
we want to connect a DSI Panel (IC based on EK79007AD3+EK73217BCGA) to our hardware (based on the Imx8mp module).
We did following changes to our device-tree.
&lcdif1 {
status = "okay";
};
&mipi_dsi {
status = "okay";
port@1 {
mipi_dsi_out: endpoint {
remote-endpoint = <&dsi_panel_in>;
};
};
panel@0 {
status = "okay";
//compatible = "winstar,ek79007ad3";
compatible = "ronbo,rb070d30";
reg = <0>;
port {
dsi_panel_in: endpoint {
remote-endpoint = <&mipi_dsi_out>;
};
};
};
};
With this setting I get following dmesg output
dmesg | grep -ri dsi
[ 0.836295] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200
[ 0.844169] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi
[ 0.912324] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -517, retry 0
[ 1.704951] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200
[ 1.712782] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi
[ 1.780977] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -517, retry 1
[ 2.269476] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200
[ 2.277300] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi
[ 2.345427] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -517, retry 2
[ 2.474864] imx_sec_dsim_drv 32e60000.mipi_dsi: version number is 0x1060200
[ 2.482680] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi
[ 2.550804] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -517, retry 3
[ 2.560036] imx-drm display-subsystem: bound 32e60000.mipi_dsi (ops imx_sec_dsim_ops)
It always returns EPROBE_DEFER error code (-517). It seems the panel driver is never loaded correctly.
I noticed that when I try to load the ronbo kernel module manually, it never calls the probe function.
I have the same issue that probe function is not called, when I use the "winstar,ek79007ad3" compatible string (this is panel-simple driver, where I've added a new device).
Is there a reason, why the probe function of the drivers is not called? I thought that if the compatible string matches with the driver, the probe function is called. Or are there further dependencies?
Thanks in advance