LVDS屏幕移植应用笔记
核心概述
本文档介绍了在飞凌OKMX6DL/Q-C平台(Linux 3.0.35)上移植LVDS屏幕的配置方法,以10.1英寸1280x800分辨率屏幕为例。
移植步骤
步骤一:内核部分修改
修改文件:linux-3.0.35/drivers/video/mxc/ldb.c
在ldb_modedb数组中添加屏幕时序参数:
static struct fb_videomode ldb_modedb[] = {
{
"LDB-WXGA", 60, 1280, 800, 14064,
70, 80, 8, 13, 10, 2,
0, FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,
},
// ... 其他模式
};关键参数说明:
- 分辨率:1280x800(WXGA)
- 刷新率:60Hz
- 时序参数需根据屏幕手册计算
步骤二:U-Boot部分修改
修改文件:uboot-2009/include/configs/mx6q_sabresd.h
#if defined(CONFIG_UBOOT_KERNEL_LVDS)
#define MXC_FB0 "mxcfb0=video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB24,bpp=32\0"
#define MXC_FB1 "mxcfb1=video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32\0"
#define FB0BASE "fb0base=fb0base=0x27b00000\0"
#define FBMEM "fbmem=fbmem=28M\0"
#define PANEL "panel=LDB-WXGA\0"
#endif注意:
LDB-WXGA需与内核中定义的mode名称保持一致- 具体时序参数需根据屏幕手册自行计算
内存分配
LVDS屏幕需要预留帧缓冲区内存:
fbmem=28M:帧缓冲区大小(根据分辨率调整)fb0base=0x27b00000:帧缓冲区基地址