IMX8mp dsi panel

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

IMX8mp dsi panel

Jump to solution
1,621 Views
joschi2804
Contributor II

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

 

0 Kudos
Reply
1 Solution
1,584 Views
joschi2804
Contributor II

The reason the driver was not calling the probe function was that the driver was integrated as a kernel module instead of being directly compiled into the kernel.

View solution in original post

0 Kudos
Reply
1 Reply
1,585 Views
joschi2804
Contributor II

The reason the driver was not calling the probe function was that the driver was integrated as a kernel module instead of being directly compiled into the kernel.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1925422%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8mp%20dsi%20panel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1925422%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3Ewe%20want%20to%20connect%20a%20DSI%20Panel%20(IC%20based%20on%26nbsp%3BEK79007AD3%2BEK73217BCGA)%20to%20our%20hardware%20(based%20on%20the%20Imx8mp%20module).%3C%2FP%3E%3CP%3EWe%20did%20following%20changes%20to%20our%20device-tree.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%26amp%3Blcdif1%20%7B%0A%09status%20%3D%20%22okay%22%3B%0A%7D%3B%0A%0A%26amp%3Bmipi_dsi%20%7B%0A%09status%20%3D%20%22okay%22%3B%0A%09port%401%20%7B%0A%09%09mipi_dsi_out%3A%20endpoint%20%7B%0A%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bdsi_panel_in%26gt%3B%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%09%0A%09panel%400%20%7B%0A%09%09status%20%3D%20%22okay%22%3B%0A%09%09%2F%2Fcompatible%20%3D%20%22winstar%2Cek79007ad3%22%3B%0A%09%09compatible%20%3D%20%22ronbo%2Crb070d30%22%3B%0A%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09port%20%7B%0A%09%09%09dsi_panel_in%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bmipi_dsi_out%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3EWith%20this%20setting%20I%20get%20following%20dmesg%20output%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Edmesg%20%7C%20grep%20-ri%20dsi%0A%5B%20%20%20%200.836295%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20version%20number%20is%200x1060200%0A%5B%20%20%20%200.844169%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20Failed%20to%20attach%20bridge%3A%2032e60000.mipi_dsi%0A%5B%20%20%20%200.912324%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20failed%20to%20bind%20sec%20dsim%20bridge%3A%20-517%2C%20retry%200%0A%5B%20%20%20%201.704951%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20version%20number%20is%200x1060200%0A%5B%20%20%20%201.712782%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20Failed%20to%20attach%20bridge%3A%2032e60000.mipi_dsi%0A%5B%20%20%20%201.780977%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20failed%20to%20bind%20sec%20dsim%20bridge%3A%20-517%2C%20retry%201%0A%5B%20%20%20%202.269476%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20version%20number%20is%200x1060200%0A%5B%20%20%20%202.277300%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20Failed%20to%20attach%20bridge%3A%2032e60000.mipi_dsi%0A%5B%20%20%20%202.345427%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20failed%20to%20bind%20sec%20dsim%20bridge%3A%20-517%2C%20retry%202%0A%5B%20%20%20%202.474864%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20version%20number%20is%200x1060200%0A%5B%20%20%20%202.482680%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20Failed%20to%20attach%20bridge%3A%2032e60000.mipi_dsi%0A%5B%20%20%20%202.550804%5D%20imx_sec_dsim_drv%2032e60000.mipi_dsi%3A%20failed%20to%20bind%20sec%20dsim%20bridge%3A%20-517%2C%20retry%203%0A%5B%20%20%20%202.560036%5D%20imx-drm%20display-subsystem%3A%20bound%2032e60000.mipi_dsi%20(ops%20imx_sec_dsim_ops)%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3EIt%20always%20returns%26nbsp%3B%3CSPAN%3EEPROBE_DEFER%20error%20code%20(-517).%20It%20seems%20the%20panel%20driver%20is%20never%20loaded%20correctly.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EI%20noticed%20that%20when%20I%20try%20to%20load%20the%20ronbo%20kernel%20module%20manually%2C%20it%20never%20calls%20the%20probe%20function.%26nbsp%3B%3CBR%20%2F%3EI%20have%20the%20same%20issue%20that%20probe%20function%20is%20not%20called%2C%20when%20I%20use%20the%20%22winstar%2C%3C%2FSPAN%3E%3CSPAN%3Eek79007ad3%22%20compatible%20string%20(this%20is%20panel-simple%20driver%2C%20where%20I've%20added%20a%20new%20device).%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EIs%20there%20a%20reason%2C%20why%20the%20probe%20function%20of%20the%20drivers%20is%20not%20called%3F%20I%20thought%20that%20if%20the%20compatible%20string%20matches%20with%20the%20driver%2C%20the%20probe%20function%20is%20called.%20Or%20are%20there%20further%20dependencies%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThanks%20in%20advance%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1925422%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20Family%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1926973%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20IMX8mp%20dsi%20panel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1926973%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThe%20reason%20the%20driver%20was%20not%20calling%20the%20probe%20function%20was%20that%20the%20driver%20was%20integrated%20as%20a%20kernel%20module%20instead%20of%20being%20directly%20compiled%20into%20the%20kernel.%3C%2FP%3E%3C%2FLINGO-BODY%3E