linux2 6 24下lcd驅動移植的小結

2021-05-17 16:12:37 字數 1662 閱讀 1897

一、lcd驅動移植網上參考資料

linux-2.6.20的lcd驅動分析

module_init()函式在include/linux/init.h中定義。

核心與buffer驅動發生關係的第一次地點是在s3c2410fb_init函式,該函式就只有一條語句:

return platform_driver_register (

&s3c2410fb_driver);

在driver/video/s3c2410fb.c中,s3c2410fb_driver的定義如下:

static

struct platform_driver s3c2410fb_driver =,}

;

為了向核心新增乙個platform裝置,程式設計師應該填寫兩個資料結構platform_device 和platform_driver,

這兩個資料結構的定義都可以在include/linux/platform_device.h檔案中找到:

struct platform_device

;

struct platform_driver

;

arch/arm/plat-s3c24xx/devs.c可以找到填寫platform_device的**:

struct platform_device s3c_device_lcd =};

void __init s3c24xx_fb_set_platdata(

struct s3c2410fb_mach_info *pd)

else

}

然後在arch/arm/mach-s3c2410/mach-smdk2410.c的smdk2410_map_io函式中呼叫s3c24xx_fb_set_platdata( ),具體為:

s3c24xx_fb_set_platdata(&smdk2410_lcd_platdata);

在呼叫platform_driver_register (&s3c2410fb_driver);函式時,傳給s3c2410fb_probe()函式的引數為s3c_device_lcd資料結構的位址,platform_device和platform_driver資料結構之間的聯絡通過name欄位來聯絡。

上面主要是講了platform_device和platform_driver之間的關係和實現的過程,下面講lcd控制器的硬體和軟體引數設定。

相關的資料結構定義於include/asm-arm/arch-s3c2410/fb.h中,列出如下:

struct s3c2410fb_hw

;

/* lcd description */

struct s3c2410fb_display

;

struct s3c2410fb_mach_info

;

下面的結構定義於include/linux/fb.h

struct fb_info

;

Linux2 6 24移植 LCD驅動

p linux2.6.24 移植 lcd 驅動 平台資訊 目標板 magicarm2410 os ubuntu10.0.4 lcd sumsang 的 lq080v3dg01 8 寸 640 x480 系統核心 linux2.6.24.4 在 linux2.6.2 4 下移植lcd 驅動程式 十分簡...

Linux 下 LCD 屏CPU介面驅動方法

這個資料不好找!剛開個頭,不斷嘗試中,耐心等待。上面這個地方基本上解決了我的問題,只是需要理解它。我的lcd是240 x 320的,8080介面,16bit 資料位,rgb 565模式。驅動晶元是st7789v,如果用spi介面方式,或許方便一些,但是這裡要用8080的cpu並行介面,除了16條資料...

Linux的LCD驅動分析

linux的graphics子系統介紹 一 lcd介紹 liquid crystal display液晶顯示器,lcd按材料分有 stn 超扭曲陣列 tft 薄膜電晶體 ltps 低溫晶體多晶矽 oled 有機發光二極體 等。lcd的介面種類有 ttlrgb 數字rgb顏色介面 i80 又稱mcu介...