mipi dsi problem

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

mipi dsi problem

Jump to solution
6,831 Views
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

Labels (4)
1 Solution
4,263 Views
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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

7 Replies
4,263 Views
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 Kudos
4,263 Views
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

4,263 Views
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 Kudos
4,263 Views
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 Kudos
4,262 Views
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 Kudos
4,263 Views
nandishguruling
Contributor III

Hi Ruben,

   

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

BR

SGN

0 Kudos
4,264 Views
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!
-----------------------------------------------------------------------------------------------------------------------