IMX6Q处理器Linux平台LCD显示屏RGB驱动调试移植

LCD 显示相关的内核驱动文件为 drivers/video/mxc/mxc_lcdif.c
添加对新的
LCD 液晶屏支持的方法是在内核 drivers/video/mxc/mxc_lcdif.c 文件中的结
构体数组
struct fb_videomode lcdif_modedb[] 中添加需要支持的 LCD 液晶屏参数。
u-boot 中设置 bootargs 中的 video 参数的设备名与此结构体的 name 成员同名,来选择使用
所添加的
LCD 显示参数。

LCD 显示参数结构体数组

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 }
{
/* 800x480 @ 60 Hz
pixel clk @ 32MHz */
"SEIKO-WVGA"
60 800 480 29850 89 164 23 10 10 10
FB_SYNC_CLK_LAT_FALL
FB_VMODE_NONINTERLACED
0 }
};

fb_videomode 结构体成员说明如下

fb_videomode 结构体

struct fb_videomode {
const char *
name ; // 显示设备名,内核通过 u-boot 参数中 video 字段与此 name 作为匹配标识
u32 refresh; // 刷新率
u32 xres; // 行像素个数
u32 yres; // 列像素个数
u32 pixclock; // 每个像素时钟周期的长度,单位是皮秒
u32 left_margin; // 左边缘像素个数
u32 right_margin; // 右边缘像素个数
u32 upper_margin; // 上边缘像素个数
u32 lower_margin; // 下边缘像素个数
u32 hsync_len; // 行同步脉宽
u32 vsync_len; // 场同步脉宽
u32 sync; // 同步信号极性
u32 vmode; // 默认设置为 FB_VMODE_NONINTERLACED
u32 flag; //
默认设置为 FB_MODE_IS_DETAILED
};

猜你喜欢

转载自blog.csdn.net/wuyusheng314/article/details/79528430