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

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

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

1,580 Views
gaun
Contributor II

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.

Labels (2)
Tags (1)
0 Kudos
3 Replies

892 Views
gaun
Contributor II

I have solved the "wait rx done timeout!" by reworking the board to control the RESET line using a GPIO. In this way I was able the get the ID. There are still problems with the display which is all settings related and I will update this thread further with the solutions.

0 Kudos

892 Views
chadwagner
Contributor I

I would be interested in your solutions.

0 Kudos

892 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gautam

please check

MIPI DSI bring up for a Truly display with HX8363 driving controller on i.MX7D 

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

0 Kudos