The MIPI DSI panel is encountering problems while transitioning from BSP 5 to BSP 6 on the Verdin 8M

Hi,

I am currently involved in the migration process from BSP 5.x to BSP 6.5. I am utilizing the VerdIn8mm on a customized board. However, I am encountering difficulties in loading the display driver with BSP 6, as I am receiving error messages.

Rabeb_0-1718033046698.png
Below the device tree

/* configure MIPI DSI */
&mipi_dsi {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";


/* configure Geli GL101B331M panel */
panel@0 {
reg = <0>;
compatible = "geli,gl101b331m";
pincntrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1>;
reset-gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; /* SODIMM 206 */
backlight = <&backlight>;
status = "okay";

port@0 {
h_panel_in: endpoint {
remote-endpoint = <&mipi_dsi_panel_out>;
  };
};
    port@1 {
mipi_dsi_panel_out: endpoint {
remote-endpoint = <&h_panel_in>;
   };
 };

};
};
/ {
	backlight: backlight {
		compatible = "pwm-backlight";
		pincntrl-names = "default";
		pinctrl-0 = <&pinctrl_gpio_10_dsi>;
		power-supply = <&reg_3p3v>;
		pwms = <&pwm1 0 500000 0>;	/* cycle time in ns */
		brightness-levels = <0 45 63 88 119 158 240 255>;
		default-brightness-level = <7>;
		status = "okay";
	};

Any ideas on how to fix this problem with BSP6? It was working fine with BSP5. Thank you

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

Transitioning from BSP 5.x to BSP 6.5 involves several changes that could affect the functionality of your MIPI DSI panel, especially due to updates in the device tree structure, driver compatibility, and possibly the handling of peripherals like MIPI DSI. Given the information you’ve provided, here are a few steps and considerations to troubleshoot and potentially resolve the issue:

  1. Device Tree Compatibility: Ensure that the device tree syntax and nodes are compatible with BSP 6.5. The Linux kernel version underlying BSP 6.5 might have introduced changes in how certain hardware components are initialized and managed. Pay special attention to the compatibility strings and property names.

  2. Driver Support: Verify that the driver for your “geli,gl101b331m” panel is present and compatible with the Linux kernel version used in BSP 6.5. It’s possible that the driver needs updates or patches to work with the new BSP.

  3. Backlight Configuration: The backlight configuration in your device tree snippet seems correct, but ensure that the PWM controller (&pwm1) and the GPIO (&gpio3) referenced are correctly defined elsewhere in your device tree with the correct properties for BSP 6.5.

  4. Pinctrl Settings: Check the pin control settings (pinctrl-0 = <&pinctrl_gpio1> and pinctrl-0 = <&pinctrl_gpio_10_dsi>) to ensure they are correctly defined for BSP 6.5. The pin control configuration might have changed with the BSP update.

  5. Error Messages: Analyze the error messages you’re receiving in detail. They can provide specific clues on what might be going wrong. Common issues could relate to missing nodes, incorrect property values, or driver incompatibilities.

  6. Kernel Logs: Review the kernel boot logs for any messages related to the MIPI DSI interface, the panel driver, or the backlight. These logs can often point you directly to the source of the problem.

  7. Documentation and Changes: Review the release notes and documentation for BSP 6.5, focusing on any noted changes in the display subsystem, MIPI DSI support, or device tree structures. There might be important migration notes relevant to your situation.

  8. Test with a Reference Device Tree: If possible, test your setup with a reference device tree provided by Toradex for BSP 6.5 that includes support for a MIPI DSI display

Please, also check if these links can help you solve your problem:

Display Output, Resolution and Timings (Linux) | Toradex Developer Center.

Didn’t help, another suggestion please

Hello @Rabeb,

Welcome to the Toradex Community, thanks for contributing! :partying_face:

Could you please specify the details of the display you are using? Was this display working properly with BSP 5?

Also, could you please post the kernel logs in text format here? The image you posted is of poor quality, so we cannot read the logs.

Hi @rudhi.tx , thank you for your answer. I fixed the problem by creating a patch for the /gpu/drm/bridge/sec-dsim.c file. Here’s what I did.

I replaced this lines :
  mvporch |= MVPORCH_SET_MAINVBP(vmode->vback_porch)    |
           MVPORCH_SET_STABLEVFP(vmode->vfront_porch) |
           MVPORCH_SET_CMDALLOW(0x0);

with this lines 
    mvporch |= MVPORCH_SET_MAINVBP(vmode->vback_porch)    |
           MVPORCH_SET_STABLEVFP(vmode->vfront_porch - 15) |
           MVPORCH_SET_CMDALLOW(0xf);

Then i added MIPI_DSI_MODE_VSYNC_FLUSH to dsi->mode_flags when setting mode, typically inside the panel driver.