panel-lvds driver does not work anymore after upgrade to kernel 6.6

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

panel-lvds driver does not work anymore after upgrade to kernel 6.6

673 Views
MicMoba
Contributor V

Hi,

I upgrade my Linux kernel from 5.15.52 to 6.6. After upgrading my panel only shows a small stripe. I made no changes at the device tree. When I use the panel-simple driver instead of panel-lvds I got a working display. Does someone know about changes in the driver.

I use a iMX8MP and my panel is connected to LVDS1 interface.

dmesg shows a message but I can't identify the failure

dmesg | grep lvds
[ 0.077630] platform panel-lvds1: Fixed dependency cycle(s) with /ldb-display-controller/lvds-channel@1
[ 2.511277] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with phy-lvds
[ 2.552129] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with panel-lvds1

 

Thanks

 

0 Kudos
Reply
3 Replies

651 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

Have you checked the dtb? are they changed? which lvds device are you working on?

Regards

0 Kudos
Reply

639 Views
MicMoba
Contributor V

yes I checkd the dtb. I convert the dtb back to dts. The new one as the old one. I can't see any differences.

I use a DataModul 10,1“ TFT – WXGA – LVDS panel (TX26D207VM0AAA)

0 Kudos
Reply

630 Views
MicMoba
Contributor V

Here are my settings. Maybe you find a mistake

 

/ {
    backlight1: backlight1 {
        compatible = "pwm-backlight";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lvds1>;
        default-brightness-level = <6>;
        pwms = <&pwm3 0 50000 0>;
        power-supply = <&reg_lvds1_reg_en>;
        enable-gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
        brightness-levels= <0 4 8 16 32 64 128 255>;
        status = "okay";
    };

    panel_lvds: panel-lvds1 {
        compatible  = "panel-lvds";
        backlight   = <&backlight1>;
        
        width-mm = <218>;
        height-mm = <137>;

        data-mapping = "vesa-24";
        status = "okay";
        
        panel-timing {
            clock-frequency = <71000000>;
            hactive = <1280>;
            hfront-porch = <30>;
            hsync-len = <48>;
            hback-porch = <80>;
            vactive = <800>;
            vfront-porch = <3>;
            vsync-len = <6>;
            vback-porch = <14>;
        };
        
        port {
            panel1_in: endpoint {
                remote-endpoint = <&lvds1_out>;
            };
        };
    };
};
&lcdif2 {
  status = "okay";
};
/* LVDS1 */
&ldb {
    status = "okay";

    lvds-channel@1 {
        #address-cells = <1>;
	#size-cells = <0>;        
        status = "okay";
        primary;
        port@1 {
            reg = <1>;
            lvds1_out: endpoint {
                remote-endpoint = <&panel1_in>;
            };
        };
    };
};

&ldb_phy {
    status = "okay";
};

 

0 Kudos
Reply