imx8m nano with mipi dsi to RGB bridge display nothing

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

imx8m nano with mipi dsi to RGB bridge display nothing

Jump to solution
3,277 Views
xi-huashan
Contributor I

Hi Community.

We are working on iMX8M nano based custom-designed board and we are facing issues in display. We use a bridge ic icn6211 to change mipi dsi to rgb signals, but the panel display nothing.

The icn6211 manufacturer provides the initialization sequence, but didn't provide the kernel driver. The current driver we used is basically the same as rm67191, except that the backlight and reset are commented out (Controlled by hardware), and modified some parameter about panel. 

Linux version is 5.4.47.

dmesg | grep drm we got:

dmesg | grep drm
[ 1.305546] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.312183] [drm] No driver support for vblank timestamp query.
[ 1.318179] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 2.305736] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.312371] [drm] No driver support for vblank timestamp query.
[ 2.318346] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 2.366706] imx-drm 32c00000.bus:display-subsystem: bound 32e10000.dsi_controller (ops imx_sec_dsim_ops)
[ 2.376766] [drm] Initialized imx-drm 1.0.0 20120507 for 32c00000.bus:display-subsystem on minor 0
[ 2.483702] imx-drm 32c00000.bus:display-subsystem: fb0: imx-drmdrmfb frame buffer device.

 

dts like this:

&mipi_dsi {

status = "okay";

panel@0 {
compatible = "bananapi,s070wv20-ct16-icn6211";
reg = <0>;
enable-gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
dsi-lanes = <4>;
video-mode = <2>; /* 0: burst mode
* 1: non-burst mode with sync event
* 2: non-burst mode with sync pulse
*/

status = "okay";
}; 
};

There was no display at all. After the kernel was up, I used i2c to look at the icn6211 register, and found that the initialization command sequence was not successfully written to the icn6211 chip.

The sequence written by the mipi_dsi_generic_write function did not report an error when executed, but icn6211 did not respond. In fact, I tried to write the initialization sequence in an endless loop, but the oscilloscope showed  there's no data was sent on the mipi d0+/- data line. How did that happen. Did I miss something?...

File attached is my driver file.

Best Regards,

qhs

0 Kudos
1 Solution
3,261 Views
igorpadykov
NXP Employee
NXP Employee

Hi xi-huashan

 

for icn6211 driver one can look at below patches

https://patchwork.kernel.org/project/linux-arm-kernel/cover/20190315130825.9005-1-jagan@amarulasolut...

also below presentation describes linux driver for that part

https://elinux.org/images/7/73/Jagan_Teki_-_Demystifying_Linux_MIPI-DSI_Subsystem.pdf

 

Best regards
igor

View solution in original post

0 Kudos
2 Replies
2,452 Views
AccuJie
Contributor III

Hi xi-huashan,

May I ask if you succeed probe the icn6211 chip on imx8mn? We are using the same chips now. And the driver porting is not as easy as I expect. Can I get some source code and device tree setting examples from you? Appreciate your help first.

Thanks,

Jie

0 Kudos
3,262 Views
igorpadykov
NXP Employee
NXP Employee

Hi xi-huashan

 

for icn6211 driver one can look at below patches

https://patchwork.kernel.org/project/linux-arm-kernel/cover/20190315130825.9005-1-jagan@amarulasolut...

also below presentation describes linux driver for that part

https://elinux.org/images/7/73/Jagan_Teki_-_Demystifying_Linux_MIPI-DSI_Subsystem.pdf

 

Best regards
igor

0 Kudos