LINUX : MIPI DSI panel support

You may not suppose to add in panel-simple. (panel-simple meant for lvds, where only porch values are enough)

need to create a new panel driver
(it you are using the same truly panel you can use the below driver)
refer

i did not see any reset gpio used for the panel, please do check what is the reset pin used for the panel. it is a must for the most of dsi panels.

regards,
vinaysimha

Hi,
Thank you for your support I am able to start my dsi-panel.
The panel is up but the screen flickers it does not stay constant. I am using truly ssd2080m panel 720x1280.
Can anyone suggest me the exact configuration to remove flicker. Everything else is working fine

            .clock = 66420,
            .hdisplay = 720,
            .hsync_start = 720 + 80,
            .hsync_end = 720 + 80 + 14,
            .htotal = 720 + 80 + 14 + 24,
            .vdisplay = 1280,
            .vsync_start = 1280 + 25,
            .vsync_end = 1280 + 25 + 2,
            .vtotal = 1280 + 25 + 2 + 14,
            .vrefresh = 60, 

Thanks,
Maumita

did you configure all the dsi-on commands in the driver for the panel?
Does the panel worked fine in android? i guess you would had used this panel configuration for android (dsi-panel-ssd2080m-720p-video.dtsi)

https://git.geekli.st/pirej/kernel/blob/dbba1a85179429ca1297406de15089c882328647/arch/arm/boot/dts/qcom/dsi-panel-ssd2080m-720p-video.dtsi

try these flags for the panel (qcom,mdss-dsi-traffic-mode = “burst_mode”:wink:

dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
MIPI_DSI_CLOCK_NON_CONTINUOUS |
MIPI_DSI_MODE_VIDEO_BURST;

regards,
vinaysimha

Yes I have configured all DSI commands for turning ON, to the best of my knowledge. This panel works fine with android.
I tried MIPI_DSI_MODE_VIDEO_BURST mode but still its flickering, the panels flickers continuously but at one moment it becomes clear and stable.

It could be timing/reset issue.
check gpios,regulators, delays of the panel are on as per the panel spec

What is the moment it becomes clear and stable? After full boot of the linux, (linaro login screen it becomes clear?)

in the cmdline you can add the console=tty0, it will give the initial logs in the dsi also.

cmdline: root=/dev/disk/by-partlabel/rootfs rw rootwait console=tty0 console=ttyMSM0,115200n8 loglevel=10 drm.debug=15 androidboot.emmc=true

Hi @vinaysimha

It looks like you were able to use a MIPI DSI panel on your dragonboard.

Are you able to share the dtsi file and driver code?

Which kernel and rootfs did you use to get your panel to work?

panel driver mapping should be something similar to this

https://git.linaro.org/people/john.stultz/flo.git/tree/arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts?h=flo-v4.10&id=44284d4fcd28a3d396adfa0f9862e817dc20059e

Which panel are you trying to use, are you facing any issue?

regards,
vinaysimha

Is this for the dragonboard 410c?

I don’t see how you route the DSI signal to the high speed expansion connector. See my question here:

@vinaysimha
I am actually able to use the same panel “jdi,lt070me05000”.
Which dragonboard kernel branch do you suggest? Maybe the release/qcomlt-4.9 branch?

https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/tree/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi?h=release/qcomlt-4.9

How should the new device tree look like?

gpio 32 should be high or low, please check the documentation of 410c board.

there is switch setting to re-route from dsi2hdmi to dsito dsi expansion

refer this
https://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.09/

Hi,

I am trying to bring-up a panel which has a lot of register settings in its initialization sequence. I followed the ‘truly’ panel driver for writing my driver. Since it is a Video mode panel, I am setting MIPI_DSI_MODE_VIDEO mode while probing the panel. This is causing the initialization to take a lot of time. It takes around 30 seconds to send around 400 commands to the panel. I figured out that the delay is being caused by the function: dsi_wait4video_eng_busy. This function simply returns if the MIPI_DSI_MODE_VIDEO is not set. But since its set in my case, it takes around 7-8ms for each command write. I tried to bring up the panel by sending init commands without enabling VIDEO mode and later setting the VIDEO mode, I am able to send init commands in short time but the panel does not come up (Only backlight comes). The panel works fine if I enable the VIDEO mode initially. Can you suggest a way to send init commands quickly and get the panel up.

Regards,
Kiran

Hello All,

I am trying to add support for a LVDS panel via MIPI-LVDS converter interface. My questions are

  1. Is there any guide which helps me? I do have display porting guide from qualcomm. But that is not helping since the display is not directly connected to processor.

  2. How to get ON/OFF commands?

  3. Any link which has a similar porting?

Please help me.

Regards,
Manju