iMX7D & LCD interfacing is not working

Hello

I have probem to get working LCD interface with LCD Display(1280x800) using BSP 6.1.76(kirkstone Yocto).

I worked in u-boot, device tree and device tree overlays to bring up the LCD.

device-tree will imx7-colibri.dtsi will as below

&lcdif {
        assigned-clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_SRC>;
        assigned-clock-parents = <&clks IMX7D_PLL_VIDEO_POST_DIV>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl>;
        status = "disabled";

        port {
                lcdif_out: endpoint {
                        remote-endpoint = <&lcd_panel_in>;
                };
        };
};

In u-boot i changed the “vidargs” and “video mode” to my corresponding LCD resolutions and also changed the device tree overlay as same.

I am getting PCLK as 23.4MHz, how can I to change in into 60MHz

My LCD is RGB(18 bit) to LVDS converter from iMX7D som.

  • Yocto kiskstone 6.1.76 Reference Multimedia Image

Help me to bring up the LCD,

Thank You.

Please refer to this article for details:

Hello, Thanks for your reply,

I have tried all those things that you have shared article,

changing the followings

  1. vidargs as
setenv vidargs video='mxsfb:1280x800M-18@30'

in u-boot while the board boots and as well as u-boot source.

  1. device tree arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
&lcdif{
        display = <&display0>;
        lcd-supply = <&reg_3v3>;
        status = "okay";

        display0: lcd-display {
                bits-per-pixel = <18>;
                bus-width = <18>;

                display-timings {
                        native-mode = <&timing_wxga>;
                        timing_wxga: 1280x800 {
                                clock-frequency = <23702400>;
                                hactive = <1280>;
                                vactive = <800>;
                                hfront-porch = <70>;
                                hback-porch = <70>;
                                hsync-len = <20>;
                                vback-porch = <10>;
                                vfront-porch = <10>;
                                vsync-len = <3>;
                                de-active = <1>;
                                hsync-active = <1>;
                                vsync-active = <1>;
                                pixelclk-active = <1>;
                        };
                };
        };
};
  1. Device tree overlay display-vga-640x480_overlay.dtsi
panel-timing {
               clock-frequency = <23702400>;
               hactive = <1280>;
               vactive = <800>;
               hsync-len = <20>;
               hfront-porch = <70>;
               hback-porch = <70>;
               vsync-len = <3>;
               vfront-porch = <10>;
               vback-porch = <10>;
               hsync-active = <1>;
               vsync-active = <1>;
               pixelclk-active = <1>;
         };

I modified all the above mentioned changes as per the article.

and the result of fbset is

root@colibri-imx7-emmc-15145878:~# fbset

mode "1280x800-0"
        # D: 0.00 MHz, H: 0.00 kHz, V: 0.00 Hz
        geometry 1280 800 1280 800 32
        timings 0 0 0 0 0 0 0
        accel true
        rgba 8/16,8/8,8/0,0/0
endmode

but I can’t get the LCD, only back light is working but can’t get anything on display.

also I can’t able to change the PCLK,

Thank you.

Hi @sandy ,
Can you please share the datasheet of the display?