ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2010年11月18日 星期四

Linux Lcd Panel Sync Parameter

設定 framebuffer 的 timeing parameter 的 structure: include/linux/fb.h struct fb_videomode { const char *name; /* optional */ u32 refresh; /* optional */ 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; u32 flag; };好像沒有提到 "單位",是 dot clock , time 還是 scanline ? 這些parameter 的意義可以參考: Lcd Controller Timing Parameters 根據 L 先生的參數: + /* 800x480 @ 58 Hz , pixel clk @ 32MHz */ "PVI-2003A-WVGA", 58, // refresh 800, // x res 480, // y res 31250, // pixclock 86, // left margin 42, // right margin 33, // upper margin 10, // lower margin 128, // hync len 2, // vsync len FB_SYNC_CLK_LAT_FALL | FB_SYNC_EXT, FB_VMODE_NONINTERLACED, 0,}, 每個的單位都不一樣:
  • left, right margine 和 hsync len 的單位是 pixle clock
  • upper. lower 和 vsync len的單位是 horizontal scanline
當完全設定正確的時候 frame rate (e.g 57Hz ?) 就會正確。 這個 data 宣告在 LCD 設定正確後,power up sequence 也要正確。 ref : Lcd Power Up Sequence - 但是每一個 panel 的 power up sequence 不一定一樣。

沒有留言:

標籤

網誌存檔