IMX8MP LVDS display problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX8MP LVDS display problem

424件の閲覧回数
g_marocchio
Contributor I

Hi everyone! 

I am currently struggling with a LVDS display (Ampire model that I already use on IMX6 with success!).

My BSP (buildroot 2025.02 + NXP kernel 6) has been successfully tested with an HDMI display; 2D and 3D acceleration work fine with weston. I have therefore decided to switch to LVDS display and  the main problem is that I am stuck on this error

"imx-drm display-subsystem: [drm] Cannot find any crtc or sizes"

that I can't resolve.

I attach my DTS snippet. pls take note that LVDS DRM display support is compiled built-in inside kernel.

reg_lvds_en: regulator_lvds_en {
compatible = "regulator-fixed";
regulator-name = "lvds_enable";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lvds_enable>;
gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
status = "okay";
};

reg_vccbkl_en: regulator_vccbkl_en {
compatible = "regulator-fixed";
regulator-name = "vddbkl_enable";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_vccbkl_enable>;
gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
status = "okay";
};


lvds_backlight: lvds_backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 100000 0>;
power-supply = <&reg_vccbkl_en>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_bkl_enable>;
enable-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;

brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <80>;
status = "okay";
};


panel_lvds: panel_lvds {
compatible = "panel-lvds";
power-supply = <&reg_lvds_en>;
backlight = <&lvds_backlight>;
width-mm = <153>;
height-mm = <90>;
label = "am1024600";
data-mapping = "jeida-18";
status = "okay";
panel-timing {
clock-frequency = <51200000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <128>;
hfront-porch = <128>;
vback-porch = <15>;
vfront-porch = <30>;
hsync-len = <10>;
vsync-len = <2>;
de-active = <1>;
};

port {
panel_in: endpoint {
remote-endpoint = <&lvds_out>; // lvds_out
};
};
};

 

&lcdif1 {
status = "okay";
};

&lcdif2 {
status = "disabled";
};

&lcdif3 {
status = "disabled";
};

&ldb {
status = "okay";
phys = <&ldb_phy1>;
phy-names = "ldb-phy";

ports {

port@0 {
lvds_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};


};
&ldb_phy {
#phy-cells = <0>;
status = "okay";
};

 

 

 

 

 

0 件の賞賛
返信
1 返信

391件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

The error message "imx-drm display-subsystem: [drm] Cannot find any crtc or sizes" indicated that something is wrong with the device tree, or driverloading or panel incompatibility. 

 
1. Device Tree Configuration:
  • Incorrect or missing device tree overlay:
    The device tree overlay (e.g., imx6x_lvds_overlay.dtbo) needs to be correctly applied and configured for your specific display hardware. Specifically, check for errors related to:
    • Display timing: Ensure that the display timing parameters (like pixel clock, resolution, etc.) are accurately defined in the device tree.
    • DDC/EDID: If using HDMI, verify that the ddc-i2c-bus property is correctly set in the device tree.
    • Connector nodes: Ensure the connector nodes are properly defined and enabled.
  • Conflicts with other drivers:
    Double-check that the device tree settings for your display don't conflict with other drivers or configurations on your system. 
     
     
 
2. Driver Issues:
  • DRM driver not loading correctly:
    The imx-drm driver might not be loading properly or is encountering errors. Check kernel logs for related messages and ensure the driver is enabled in your kernel configuration. 
     
     
    Panel driver:
    The panel driver for LVDS might also have issues. Check if it's loading correctly and if there are any specific panel-related errors in the logs. 
     
     

 

  • Missing or incorrect firmware:
    Some displays might require specific firmware to be loaded. Verify that any necessary firmware files are present and loaded correctly. 
     
     

 

 
3. Panel Compatibility:
  • CEA modes:
    The error message might indicate a problem with CEA modes (standardized display modes) for your panel. Ensure that the panel is compatible with the CEA modes being used or that you've configured the display to use supported modes.
  • Pixel clock limitation:
    Some displays might have limitations on their pixel clock frequency. Ensure the chosen pixel clock is within the panel's specifications. 
     
     
 
Troubleshooting Steps:
  1. 1. Review Device Tree:
    Carefully examine the device tree for any errors or inconsistencies related to your display configuration. 
     

 

  •  
  • 2. Check Kernel Logs:
    Use dmesg to view kernel logs for any related error messages from the imx-drm driver or other display-related modules. 
     
  •  
  • 3. Test with modetest:
    The modetest tool (from libdrm-tests) can be used to check the current display configuration and verify if the system recognizes the display. 
     
     
  • 4. Simplify the Configuration:
    Try using a simpler display configuration (e.g., a basic resolution and refresh rate) to isolate the issue.
     
    Regards

 

0 件の賞賛
返信