LVDS屏幕移植应用笔记(飞凌OKMX6DL/Q)
文档版本: V1.0 (2018.12.08)
适用平台: 飞凌 OKMX6DL/Q-S3, Linux 4.1.15
概述
本文档是飞凌嵌入式针对 OKMX6DL/Q 平台移植 LVDS 屏幕的技术应用笔记,主要说明如何在 i.MX6 平台上配置 LVDS 显示屏。
核心内容
1. 内核驱动修改
需要修改文件:kernel/drivers/video/fbdev/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 },
{ "LDB-XGA", 60, 1024, 768, 15385, 220, 40, 21, 7, 60, 10, 0,
FB_VMODE_NONINTERLACED, FB_MODE_IS_DETAILED },
{ "LDB-1080P60", 60, 1920, 1080, 7692, 100, 40, 30, 3, 10, 2, 0,
FB_VMODE_NONINTERLACED, FB_MODE_IS_DETAILED },
};2. U-Boot 配置修改
文件: uboot/include/configs/mx6sabre_common.h
配置 FDT 文件名:
#define CONFIG_6Q_FDT "setenv fdt_file imx6q-s3-sabresd.dtb; fi; "
#define CONFIG_6DL_FDT "setenv fdt_file imx6dl-s3-sabresd.dtb; fi; "配置显示输出:
#define MXC_FB0 "mxcfb0=video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB24,bpp=16,int_clk\0"
#define MXC_FB1 "mxcfb1=video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=16\0"
#define LDBMODE "ldbmode=ldb=sin0\0"3. 默认启动设备修改
文件: uboot/arch/arm/imx-common/video.c
修改 panel 默认值为:
setenv("panel", "LDB-WXGA")关键技术点
- 显示模式参数:
fb_videomode结构体中的参数需要根据实际屏幕手册计算 - 时序参数: 包括像素时钟、水平/垂直同步脉冲宽度、前后空白等
- 接口类型: LVDS 使用 RGB24 接口,bpp=16
- 非交错模式:
FB_VMODE_NONINTERLACED表示逐行扫描
注意事项
- 文档声明仅供参考,客户需自行修改以适应具体使用场景
- 不同平台间存在差异,需客户自行调整
- 具体参数需根据屏幕手册自行计算
关联知识
- i.MX Yocto Project用户指南 - 飞凌i.MX6平台整体指南
- FPGA培训课表 - 嵌入式开发培训资料