IMX9x 调试LVDS屏幕(未整理笔记)

说明

之前调试的时候做的笔记,迁移下。

内容

屏幕型号:HJ070NA-V1.2

需要使用双绞线,避免信号的影响。

屏幕时钟:

cat /sys/kernel/debug/clk/clk_summary

https://community.nxp.com/t5/i-MX-Processors/imx93-lvds-panel-failed-to-create-device-link/m-p/2103397

设备树:

<VIDEO PLL>,<PIX CLK>, <MEDIA_AXI>,<MEDIA_APB>

The VIDEO_PLL = pixel clock * 7. pixel clock像素时钟屏幕本身的物理属性。后面两个不用改。
&lcdif {
        status = "okay";
        assigned-clock-rates = <490000000>, <70000000>, <400000000>, <133333333>;
};

走的这个时钟树:和mipi屏幕的时钟树的父节点不一样

alt text

alt text

pixelclock的值下调,使用正常值的话会导致屏幕只显示一部分,铺不满全屏。

alt text

static const struct display_timing hj070na_timing = {
    .pixelclock = { 34448320, 34448320, 34448320 },
    .hactive = { 1024, 1024, 1024 },
    .hfront_porch = { 140, 140, 140 },
    .hback_porch = { 20, 20, 20 },
    .hsync_len = { 160, 160, 160 },
    .vactive = { 600, 600, 600},
    .vfront_porch = { 7, 7, 7 },
    .vback_porch = { 21, 21, 21 },
    .vsync_len = { 10, 10, 10 },
    .flags = DISPLAY_FLAGS_DE_HIGH,
};

适配流程

在ldb绑定后,生成/dev/dri/cardX节点。

imx-drm display-subsystem: bound soc@0:ldb@4ac10020 (ops imx93_ldb_ops)

alt text

生成frame buffer device:

imx-drm display-subsystem: fb0:  frame buffer device

SOC(display-subsystem?)--lvds_conctrl---panel---屏幕。
lvds_conctrl,就是ldb_phy和ldb,做个回环节点,连接到一起。

注意启用LVDS的时候需要把dsi的相关给禁用掉:

&dphy {
        status = "disabled";
};
&dsi {
        status = "disabled";
};

屏幕参数:

hback-porch + hfront-porch +hsync-len = 1330-1280=50
hfront-porch +vsync-len+vsync-active=812-800=12

alt text

PIX CLK计算方式:

F=(left_margin+xres+right_margin+hsync_len) x (upper_margin+yres+lower_margin+vsync_len)x refresh

经验

屏幕状态:
亮背光---黑白(clock问题)---有颜色色块(线或者)---稳定显示的半屏---调试OK

问题:
屏幕上星星点点

在调试的时候,我们会发现屏幕上有莫名其妙的星星点点,一般这种情况下,我们首先要看看VGH和VGL电压是否处于datasheet所描述的范围之 内。如果属于标准范围之内,但星星点点依旧,很有可能就是时序问题。这时候不妨在代码中变更采样的时序(比如上升沿采样改为下降沿采样)。如果无法在代码 中更改,也可以在clk信号线加个100R电阻,也可能解决该问题。

显示抖动

在确认VPW,VBP,VFP,HPW,HBP,HFP的设置已经符合LCD规格要求后,如果屏幕的显示还在抖动的话,不妨将输出的时钟信号频率降低,有可能解决该问题。
还存在一种现象,LVDS的信号线电压高出规格书一点也会出现。曾经有过LVDS信号电压为3.3V的接到5V导致屏幕显示出现细小电波抖动。

显示花屏

出现花屏现象,理论上是RGB没有调好导致的。如颜色位数(24),格式标准(VESA和JEIDA)。
检查一下规格书的颜色格式部分, 是否将RGB888格式设置成了666,或者顺序是RBG,BGR之类的都有可能。

posted @ 2026-09-17 16:36  杨旭0324  阅读(32)  评论(0)    收藏  举报