mipi dsi problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

mipi dsi problem

跳至解决方案
16,528 次查看
rubenhenriksen
Contributor II

Hi,

I am trying to enable a mipi dsi display using an ili9806e driver in our imx7dsabre.

In dmesg, the only entries  I can find relating to MIPI dsi is: "backlight supply power not found"  and "MIPI DSI driver module loaded"

The main problem may relate to the device tree as the probing does not occur, or I could have missed some detail with bitbake, or it could be something else I haven't considered.

I expected that some probing should be performed as the display is connected, however there seems to be no difference with or without the display. I have started to modify the "mxcfb_hx8369_wvga.c" driver to the specifications on our display, though I am not finished as it seems not to make a difference for now. I have been able to find an Android driver for the ili chip(9806c, with 9806e commented out in the driver code), is there an good way to port this for Linux?

 

How do I proceed with this problem? Why does not the driver probing occur?

 

Aattachments are dmesg output, device tree file, Android driver. Any help would be appreciated

Original Attachment has been moved to: imx7d-sdb-mipi-dsi.dts.zip

Original Attachment has been moved to: ili9806c_wvga_dsi_vdo.c.zip

Original Attachment has been moved to: dmesg.txt.zip

标签 (4)
1 解答
13,960 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Ruben

seems there is no probe for hx8369 driver, its video parameters are called from

mipi_dsi.c (please refer also to sect.7.3.1 Source Code Structure attached Linux Manual) :
struct mipi_dsi_match_lcd mipi_dsi_lcd_db[]
mipid_hx8369_get_lcd_videomode..

and lcd_panel = "TRULY-WVGA" in dts  imx7d-sdb-mipi-dsi.dts :
http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/arch/arm/boot/dts/imx7d-sdb-mipi-dsi.dt...

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

7 回复数
13,960 次查看
rubenhenriksen
Contributor II

Than you Igor,

I have made some changes to my device tree (imx7d-sdb-mipi-dsi.dts) to correct some of the errors.

I also kind of stumbled into something that seemed to make more difference, I ran a menuconfig of the linux-fslc-imx kernel and I believe I enabled some more backlight drivers and some voltage regulators or something like that, I cannot really say for sure.  This made my device tree file compile and come up with compilation errors, I corrected those and recompiled then I got the following output in dmesg:

mxc_mipi_dsi_samsung 30760000.mipi-dsi: failed to read lcd_panel property

mxc_mipi_dsi_samsung: probe of 30760000.mipi-dsi failed with error -22

To my frustration, the device tree seems to have stopped compiling, and I cannot reproduce the result by configuring the kernel. Could anyone point me in the right direction here? 

Also tips on what may cause error 22 in dmesg would also be appreciated.

0 项奖励
回复
13,960 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Ruben

this may be debugged using sect.7.3.1 Source Code,

"failed to read lcd_panel property" may mean that there is no some mipi_dsi record

in dts file .

Best regards
igor

13,960 次查看
rubenhenriksen
Contributor II

Thanks for your help Igor

For some reason, we are not able to get any output in dmesg relating to the mipi display anymore, I assume that this is due to errors in our device tree.

Can you suggest what we may be missing or have got wrong here?

Some sections are commented out in this version, some of them should possibly be included, but we have failed to figure out which.

/*
* Copyright (C) 2016 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include "imx7d-sdb.dts"
/ {
compatible = "fsl,imx7d-mipi-dsi";
mipi_dsi_reset: mipi-dsi-reset {
compatible = "gpio-reset";
reset-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;
reset-delay-us = <1000>;
#reset-cells = <0>;
};
mipi_phy: mipi-phy {
compatible = "fsl,imx7d-mipi-dsi";
/*phy_data_lanes = <2>;
max_phy_clock = <80000000>;
phy_mode = "rgb";*/
};
reg_mipi_dsi_power_on: mipi_dsi_power_on {
compatible = "regulator-fixed";
regulator-name = "mipi_dsi_power_on";
gpio = <&gpio6 14 0>;
enable-active-high;
};
/* mxcfb1:fb@0{
compatible = "fsl,mxc_sdc_fb";
disp_dev = "mipi_dsi_samsung";
interface_pix_fmt = "RGB565";
mode_str = "TRULY-WVGA";
default_bpp = <16>;
int_clk = <0>;
lete_init = <0>;
status = "okay";
}; */
};
&lcdif {
disp-dev = "mipi_dsi_samsung";
compatible = "fsl,imx7d-mipi-dsi";
};
&mipi_dsi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_dsi_reset>;
lcd_panel = "TRULY-WVGA";
resets = <&mipi_dsi_reset>;
mipi-phy = <&mipi_phy>;
disp-power-on-supply = <&reg_mipi_dsi_power_on>;
status = "okay";
};
0 项奖励
回复
13,960 次查看
vladimirnosenko
Contributor I

So I fixed driver probing with fixing device tree layout. I just copied sections &lcdif and &mipi_dsi

from imx7-sdb-mipi-dsi.dts into mx7-sdb.dts:

diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts

index edcab58..9ed121d 100644

--- a/arch/arm/boot/dts/imx7d-sdb.dts

+++ b/arch/arm/boot/dts/imx7d-sdb.dts

@@ -1187,3 +1187,20 @@

  pinctrl-0 = <&pinctrl_wdog>;

  fsl,wdog_b;

};

+

+/ {

+        mipi_dsi_reset: mipi-dsi-reset {

+                compatible = "gpio-reset";

+                reset-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;

+                reset-delay-us = <1000>;

+                #reset-cells = <0>;

+        };

+};

+

+&mipi_dsi {

+        pinctrl-names = "default";

+        pinctrl-0 = <&pinctrl_mipi_dsi_reset>;

+        lcd_panel = "TRULY-WVGA-TFT3P5581E";

+        resets = <&mipi_dsi_reset>;

+        status = "okay";

+};

diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts

index 0cef31e..edcab58 100644

--- a/arch/arm/boot/dts/imx7d-sdb.dts

+++ b/arch/arm/boot/dts/imx7d-sdb.dts

@@ -983,6 +983,7 @@

      &pinctrl_lcdif_ctrl>;

  enable-gpio = <&gpio_spi 7 GPIO_ACTIVE_LOW>;

  display = <&display0>;

+        disp-dev = "mipi_dsi_samsung";

  status = "okay";

  display0: display {

--

2.9.5

And I have a probing requests (I see it in dmesg) and I have something on lcd (that far away from clear picture, but it is because I have a little different lcd panel, not a TRULY-WVGA-TFT3P5581E).

0 项奖励
回复
13,959 次查看
vladimirnosenko
Contributor I

Hi,

Looks like dts for imx7dsabre board have issues.

I was able to find problems with validation tools and when I have tried to restore dts from booted image, it has no sections mipi_dsi at all.

I will continue to fix it and share my update here.

0 项奖励
回复
13,960 次查看
nandishguruling
Contributor III

Hi Ruben,

   

   your issue is solved ? if not please let me know,

BR

SGN

0 项奖励
回复
13,961 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Ruben

seems there is no probe for hx8369 driver, its video parameters are called from

mipi_dsi.c (please refer also to sect.7.3.1 Source Code Structure attached Linux Manual) :
struct mipi_dsi_match_lcd mipi_dsi_lcd_db[]
mipid_hx8369_get_lcd_videomode..

and lcd_panel = "TRULY-WVGA" in dts  imx7d-sdb-mipi-dsi.dts :
http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/arch/arm/boot/dts/imx7d-sdb-mipi-dsi.dt...

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------