2160064_en-US

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

2160064_en-US

2160064_en-US

LVDS Panel Integration on i.MX93 Custom Board (No Display Output)

Hello,

I am working on integrating an LVDS panel with an i.MX93 custom board using Yocto, but I am facing an issue: the screen remains black.

Here is what I have observed so far:

  • The backlight turns on and brightness can be adjusted.

  • The LVDS connector is detected.

mvo7_2-1756396133677.png
 
  • The bridge chain appears to be found:

mvo7_3-1756396287632.png
  • CRTC and framebuffer are active
  • Writing random data to /dev/fb0 is successful, but nothing appears on the screen.
mvo7_1-1756396059022.png
 
Here is the clock summary I am using (please let me know if this seems correct):
 
mvo7_0-1756395958050.png

Here are some additional kernel logs. But it was said that the messages about failed device links are said to be a noisy logs, but I would like to confirm whether they could be related to my problem.

mvo7_4-1756396783348.png

Here is the device tree snippets:

backlight: backlight {
        compatible = "pwm-backlight";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_backlight_en>;
        power-supply = <&reg_vdd_5v>;
        pwms = <&tpm3 3 5000000 0>;
        brightness-levels = <0 100>;
        num-interpolated-steps = <100>;
        default-brightness-level = <50>;
        enable-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };

    panel {
        compatible = "tianma,aw0800";
        power-supply = <&reg_vdd_3v3>;
        backlight = <&backlight>;
        enable-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
        pinctrl-0 = <&pinctrl_lcd_en>;
        data-mapping = "spwg";
        status = "okay";

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

};

&dphy {
    status = "disabled";
};

&dsi {
    status = "disabled";
};

&lcdif {
    assigned-clock-rates = <519750000>, /*74250000 x 7*/
                          <74250000>,
                          <400000000>,  
                          <133333333>;
    status = "okay";
};

&ldb {
    status = "okay";

    lvds-channel@0 {
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";

        port@1 {
            reg = <1>;
            lvds_out: endpoint {
                remote-endpoint = <&panel_in_lvds0>;
            };
        };
    };
};

&ldb_phy {
    status = "okay";
};

&tpm3 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_pwm1>;
    status = "okay";
};
&iomuxc {
    pinctrl_pwm1: pwm1grp {
        fsl,pins = <
            MX93_PAD_GPIO_IO24__TPM3_CH3        0x19e /* BL_PWM*/
        >;
    };

    pinctrl_backlight_en: backlightgrp {
        fsl,pins = <
            MX93_PAD_GPIO_IO11__GPIO2_IO11   0x51e  /* BL_EN*/
        >;
    };

    pinctrl_lcd_en: panelgrp {
        fsl,pins = <
            MX93_PAD_GPIO_IO08__GPIO2_IO08   0x51e  /* LCD_EN */
        >;
    };
};
 
And the definition of the display: 
And the drm display mode is like this: "
static const struct drm_display_mode tianma_aw0800_mode = {
    .clock = 74250,
    .hdisplay = 1280,
    .hsync_start = 1280 + 110,
    .hsync_end = 1280 + 110 + 40,
    .htotal = 1280 + 110 + 40 + 220,
    .vdisplay = 720,
    .vsync_start = 720 + 5,
    .vsync_end = 720 + 5 + 5,
    .vtotal = 720 + 5 + 5 + 20,
};

static const struct panel_desc tianma_aw0800 = {    
    .modes = &tianma_aw0800_mode,
    .num_modes = 1,
    .bpc = 8,
    .size = {
        .width = 177,
        .height = 99,
    },
    .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
    .bus_flags = DRM_BUS_FLAG_DE_HIGH,
    .connector_type = DRM_MODE_CONNECTOR_LVDS,
};
 Could you please advise on what might be missing or misconfigured. 

Your help would be greatly appreciated.

Thanks in advance.


Re: LVDS Panel Integration on i.MX93 Custom Board (No Display Output)

Hello,

Thanks for your answer.  I modified like this: 

&ldb {
    status = "okay";

    lvds-channel@0 {
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0>;
        phys = <&ldb_phy1>;
        phy-names = "ldb_phy";
        status = "okay";

        port@1 {
            reg = <1>;
            lvds_out: endpoint {
                remote-endpoint = <&panel_in_lvds0>;
            };
        };
    };
};
 
but unfortunately I get the same result, nothing appears on the screen.
 
We are using the i.MX9332. According to the datasheet, it includes one LVDS interface, and that’s the one we’re using.

For the BSP, we’re currently using  scarthgap-6.6.36-2.1.0.
Re: LVDS Panel Integration on i.MX93 Custom Board (No Display Output)

Hello,

Apparently you miss the 

phys = <&ldb_phy1>;

which LVDS are you trying to interface? Which BSP? the latest BSP include several LVDS dtb on it.

Regards

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 11:36 PM
更新者: