LCD 移植笔记

适用范围

本文档针对飞凌 OKMX6DL/Q-C 平台,Linux 3.0.35 操作系统。

移植步骤(以800x600分辨率为例)

步骤一:内核驱动修改

修改 linux-3.0.35/drivers/video/mxc/mxc_lcdif.c,在 fb_videomode 表(modedb)中添加新屏幕的时序参数。

示例(800x480 @ 57Hz):

static struct fb_videomode lcdif_modedb[] = {
    {
        /* 800x480 @ 57 Hz, pixel clk @ 27MHz */
        "CLAA-WVGA", 57, 800, 480, 37037,
        40, 60, 10, 10, 20, 10,
        FB_SYNC_CLK_LAT_FALL,
        FB_VMODE_NONINTERLACED, 0,
    },
    // ... 更多模式
};

步骤二:U-Boot 配置修改

修改 uboot-2009/include/configs/mx6q_sabresd.h:

#define MXC_FB0 "mxcfb0=video=mxcfb0:dev=lcd,AT080-WVGA,if=RGB24,bpp=32\0"
#define PANEL "panel=AT080-WVGA\0"

注意:AT080-WVGA 必须与内核中的配置保持一致。

参数计算方法

具体时序参数需要根据屏幕手册自行计算:

  • pixel clock = 10^12 / period (ps)
  • 各时序参数:hfrontporch, hsync_len, hbackporch, vfrontporch, vsync_len, vbackporch

已处理的LCD移植案例

笔记内容
OKMX6DL-Q-8寸LCD屏移植笔记800x480 LCD,modedb配置、设备树修改
4.3寸屏触摸不准修改应用笔记触摸校准参数修正

参考