IMX8MP mipi dsi config in devicetree

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

IMX8MP mipi dsi config in devicetree

2,938 Views
Admir
Contributor I

Hello,

im currently trying to change the devicetree to make the mipi_dsi work on our phytec i.mx8mp pollux board. 

This is what we tried:

&mipi_dsi {
status = "okay";

backlight0: backlight0 {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lvds1>;
default-brightness-level = <6>;
pwms = <&pwm3 0 50000 0>;
power-supply = <&reg_lvds1_reg_en>;
enable-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
brightness-levels= <0 4 8 16 32 64 128 255>;
};
panel@0 {
compatible = "lg,acx467akm-7";
backlight = <&backlight1>;
reg = <0>;
pinctrl-0 = <&pinctrl_mipi_dsi_en>;
// reset-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
dsi-lanes = <4>;
video-mode = <2>; /* 0: burst mode
* 1: non-burst mode with sync event
* 2: non-burst mode with sync pulse
*/
// panel-width-mm = <68>;
// panel-height-mm = <121>;
status = "okay";
};
};

We measuered on the Dataoutput pins of the mipi_dsi, but it seems like the mipi is not active at all.

There are no errors when we build the kernel and device tree and it is the correct .dts-file.

I hope you can help me.

 

Best Regard,

Admir

0 Kudos
3 Replies

2,931 Views
igorpadykov
NXP Employee
NXP Employee

Hi Admir

 

for new mipi-dsi panel one can use imx8mp-evk-rm67191.dts

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-r...

and adjust driver for new panel initialization in struct cmd_set_entry mcs_rm67191[] and timings

in struct drm_display_mode default_mode :

https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/gpu/drm/panel/panel-raydium-rm6719...

 

Best regards
igor

0 Kudos

2,922 Views
Admir
Contributor I

Hi Igor,

thank you for the fast response.

We are able to measure some signals on the X_MIPI_DSI1_D0_P, but not on any other dataline or even the clock.

Is this normal?

I've also debuged the panel-driver to get some more information. 

It is running normal, until i get the response -16 from  ret = mipi_dsi_dcs_set_tear_scanline(dsi, 0x380).

from bootlog:

[ 15.531999] imx_sec_dsim_drv 32e60000.mipi_dsi: wait payload tx done time out
[ 15.543410] panel-raydium-rm67191 32e60000.mipi_dsi.0: [drm:rm67191_enable] *ERROR* Failed to set tear scanline (-16)
[ 15.554070] imx_sec_dsim_drv 32e60000.mipi_dsi: panel enable failed: -16

I've searched the sourcecode, but i can not find the meaning of it.

Maybe you can help me there.

Best Regards,

Admir

0 Kudos

708 Views
Tang_
Contributor II

Hi Admir,

 

Did you succeed in making it work the MIPI/DSI ? 

I'm trying to do the same on my side, and the Device Tree is quite new for me. I have the same behavior as you had : I can catch the DSI commands correctly on D0 pin from starting point, and CLK can be monitored afterward but nothing on D1 D2 D3.

 

0 Kudos