AnsweredAssumed Answered

Problems in bringing up mipi_dsi for the HX8363 on the i.MX7D Sabre development board

Question asked by Gautam Bhat on Jan 27, 2017
Latest reply on Apr 30, 2018 by Chad Wagner

Hi,

I am currently using the i.MX7D Sabre development board and I am trying to interface a Truly display with HX8363 mipi driving controller. For this I am porting the HX8369_wvga driver to the HX8363 as the registers are similar.

 

The problem is that I keep getting the following error:

mxc_mipi_dsi_samsung 30760000.mipi-dsi: MIPI DSI dispdrv inited!
mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung
mxc_mipi_dsi_samsung 30760000.mipi-dsi: wait rx done timeout!
mxc_mipi_dsi_samsung 30760000.mipi-dsi: mipi_dsi_pkt_read err:-110, data:0xf4.

The data of 0xF4 is for the basic GETTHXID command.

 

My lcdif node in the dtsi is as follows:

 

&lcdif {
     /* No need for pinctrl as the mipi pinctrl is dedicated */
     display = <&display0>;
     disp-dev = "mipi_dsi_samsung";

     status = "okay";

     display0: display {
          bits-per-pixel = <24>;
          bus-width = <24>;
          display-timings {
               native-mode = <&timing0>;
               timing0: timing0 {
               clock-frequency = <34300000>;
               hactive = <480>;
               vactive = <854>;
               hfront-porch = <5>;
               hback-porch = <5>;
               hsync-len = <5>;
               vback-porch = <2>;
               vfront-porch = <2>;
               vsync-len = <2>;

               hsync-active = <0>;
               vsync-active = <0>;
               de-active = <1>;
               pixelclk-active = <0>;
               };
          };
     };
          
};

 

My mipi_dsi node is as follows:

&mipi_dsi {
     dev_id = <0>;
     disp_id = <0>;
     lcd_panel = "TRULY-TFT3P5581";
     resets = <&mipi_dsi_reset>;
     status= "okay";
};

/* Setting the reset to dummy to keep the mipi_dsi_samsung silent */
mipi_dsi_reset: mipi-dsi-reset {
     compatible = "gpio-reset";
     /* GPIO1_2 selected because of unused MKBUS_PWM2 */
     reset-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
     reset-delay-us = <50>;
     #reset-cells = <0>;
};

 

In the i.mx7 sabresd board there is no reset pin for the MIPI display. Hence I put a dummy gpio pin so that the mipi_dsi_samsung driver does not complain.

 

In the mxcfb_hx8363 (ported from hx8369) I have the following for fb_videomode:

 

static struct fb_videomode truly_lcd_modedb[] = {
     {
      "TRULY-TFT3P5581", 60, 480, 854, 29154 /* pixclock in pico seconds */,
      5, 5,
      2, 2,
      5, 2,
      FB_SYNC_OE_LOW_ACT,
      FB_VMODE_NONINTERLACED,
      0,
     },
};

 

I am not able to understand what I am doing wrong. Please help me in configuring this.

Outcomes