Troubleshooting MIPI DSI display init on VIM3L

@numbqq @Gouwa @Frank any helkp? Thank you!

@quatro Please refer to this commit about how to add panel support

1 Like

Which kernel are you working on ?

The only one available on fenix for VIM3L: 4.9 .

In my case I don’t need PWM I’m using an OLED display with an external power regulator… so that commit is not what I’m needing…

Is there a kernel module which is driving the DSI, beyond the device tree? because when I remove the lcd from the DTS, it continues to pull up, the LCD_RESET and send MIPI DSI data

If you don’t need just ignore it.

Is there a kernel module which is driving the DSI, beyond the device tree?

Yes I already have the linux source, I’m looking for it, but not found it yet, where is the source file for the DSI module?

You can check this file:

I have checked the source, but it does not seem to be the driver of the ts050… I’m looking for the active code that is calling dsi_write_cmd, etc in order to edit it for my screen

I have read the meson lcd driver completely and got a better understanding of how to write the LCD init sequence in the DTS… This should be documented in the website!

My screen is being disabled by the kernel with no error being shown:

[ 13.242645] fb: osd[0] canvas.idx =0x40
[ 13.242648] fb: osd[0] canvas.addr=0x6b400000
[ 13.242650] fb: osd[0] canvas.width=7680
[ 13.242651] fb: osd[0] canvas.height=2160
[ 13.242653] fb: osd[0] frame.width=1920
[ 13.242655] fb: osd[0] frame.height=1080
[ 13.242656] fb: osd[0] out_addr_id =0x1
[ 13.346985] vout: vmode set to 1080p60hz
[ 13.349876] fb: current vmode=panel, cmd: 0x10000
[ 13.353540] lcd: set mute
[ 13.412116] bl: backlight power off
[ 13.416036] lcd: lcd_power_ctrl: 0
[ 13.418880] lcd: disable driver

is the syntax

dsi_init_on = <

  	0xfd 1 150    /* DELAY/WAIT 150 ms before next command*/

  	0xff 0>;  /* END OF SEQUENCE */

For example:
dsi_init_off = <
0x15 1 0x28 /* display off /
0xfd 1 60 /
delay 60ms /
0x15 1 0x10 /
sleep in /
0xfd 1 120 /
delay 120ms /
0xff 0>; /
end sequence */

Should output:
0x28 ...(60 ms later)... 0x10

can you confirm me please? Thank you!

Seems not correct. Please check the command format.

  • 0x15- should with 1 parameter
  • 0x05 - should with no parameter

Great I will test it… where can I find that documentation?

Maybe you can google for that. I only have a Chinese version…

Thank you so much!
I have made all changes but it is still being disabled by the kernel… do you know what is causing this? it seems to start with a “set mute” 10 seconds after being initiated.

@quatro No idea yet, but one thing you should to know is that you need to unplug the HDMI cable if you want to use the panel.

And suggest you to debug the panel in u-boot in the first step, then is then is the kernel if you can display the logo in u-boot.

Can’t I have both displays? I was expecting to run both at the same time for my application.

For Android, you can, but for Ubuntu, you can’t at current stage.

I need to know will 24bit parallel RGB is supported

what is preventing ubuntu from having it?