首頁 > 軟體

IMX6Q處理器Linux平台LCD顯示屏RGB驅動偵錯移植

2020-06-16 16:40:26

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
};


IT145.com E-mail:sddin#qq.com