i.MX8 LVDS shifted image output

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

i.MX8 LVDS shifted image output

40 Views
osipovvo
Contributor II

After reading a lot of different pages and posts i was unable to find the final answer for my question. Could someone help me please with any advice or useful info (what is wrong)?

We are using custom imx8mp board with lcd panel auo t215hvn01 directly connected to the lvds outputs of the imx chip. After we started using linux kernel lf-6.6.y we got shifted image on the lvds output. If we use previous kernel lf-5.15-y with the same images - the images are shown correctly. The device trees are the same.The changes in panel or display timings have no effect.

What is wrong/missing/should be added/patched/additionally configured into/with the 6.6 kernel?
Безымянный.jpg

We use image from yocto bsp 6.6.3, MACHINE is imx8mp-lp4ddr-evk DISTRO is fsl-imx-xwayland.

Безымянный2.jpg

The wayland desktop image shifted also, so it is not looks like fthe ramebuffer issue, something wrong or unconfigured  with lcdif or lvds settings. If we tried to get image from framebuffer (with disabled weston, with fb2png utility) the image looks properly alignet. What we should tune more?

Device tree parts for panel are:

panel-lvds0 {
  compatible = "auo,t215hvn01";
  backlight = <&lvds_backlight>;
  power-supply = <&reg_lvds>;
  enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;

  width-mm = <476>;
  height-mm = <268>;
  data-mapping = "vesa-24";

  panel-timing {
    clock-frequency = <144000000>;
    hactive = <1920>;
    vactive = <1080>;
    hfront-porch = <40>;
    hback-porch = <40>; 
    hsync-len = <10>;
    vback-porch = <20>;
    vfront-porch = <20>;
    vsync-len = <10>;
  };  port {
    panel_in_lvds0: endpoint {
      remote-endpoint = <&lvds0_out>;
    };
  };
};

 

&ldb {
  fsl,dual-channel;
  status = "okay";

  lvds0: lvds-channel@0 {
    fsl,data-mapping = "spwg";
    fsl,data-width = <24>;
    status = "okay";

    display-timings {
      native-mode = <&timing0>;
      timing0: timing0 {
        clock-frequency = <144000000>;
        hactive = <1920>;
        vactive = <1080>;
        hfront-porch = <40>;
        hback-porch = <40>;
        hsync-len = <10>;
        vback-porch = <20>;
        vfront-porch = <20>;
        vsync-len = <10>;
      };
    };

    port@1 {
      reg = <1>;

      lvds0_out: endpoint {
        remote-endpoint = <&panel_in_lvds0>;
      };
    };
  };
};

Labels (1)
0 Kudos
0 Replies