Linux下移植LCD驅動
使用Linux3.2.81核心
4.3寸LCD
-
修改arch/arm/mach-s3c2440/mach-smdk2440.c
staticstruct s3c2410fb_display smdk2440_lcd_cfg __initdata = {
.lcdcon5=S3C2410_LCDCON5_FRM565 |
S3C2410_LCDCON5_INVVLINE |
S3C2410_LCDCON5_INVVFRAME |
S3C2410_LCDCON5_PWREN |
S3C2410_LCDCON5_HWSWP,
.type =S3C2410_LCDCON1_TFT,
//根據
.width= 480,
.height= 272,
.pixclock= 101111,
.xres= 480,
.yres= 272,
.bpp= 16,
.left_margin= 2,/* for HFPD*/
.right_margin= 2,/* for HBPD*/
.hsync_len= 42,/*for HSPW*/
.upper_margin= 2,/* for VFPD*/
.lower_margin= 2,/* for VBPD*/
.vsync_len= 10,/*for VSPW*/
};
pixclock的計算:
DOTCLK = fframe × (X + HBP + HFP+HSPW) × (Y +VBP + VFP+VSPW) //fframestaticstruct s3c2410fb_mach_info smdk2440_fb_info __initdata = {
.displays=&smdk2440_lcd_cfg,
.num_displays=1,
.default_display = 0,
//#if 0
/* currently setup bydownloader */
.gpccon= 0xaaaaaaaa,
.gpccon_mask= 0xffffffff,
.gpcup= 0xffffffff,
.gpcup_mask= 0xffffffff,
.gpdcon= 0xaaaaaaaa,
.gpdcon_mask= 0xffffffff,
.gpdup= 0xffffffff,
.gpdup_mask= 0xffffffff,
//#endif
//.lpcsel= ((0xCE6) & ~7) | 1<<4,//這是三星的LCD才會使用到的
};
staticvoid __init smdk2440_machine_init(void)
{
s3c24xx_fb_set_platdata(&smdk2440_fb_info);
s3c_i2c0_set_platdata(NULL);
//新增下面三行
writel((readl(S3C2410_GPBCON)& ~(3)) | 1, S3C2410_GPBCON);
writel((readl(S3C2410_GPBDAT)| 1), S3C2410_GPBDAT);//背光控制
writel((readl(S3C2410_GPGCON)| (3<<8)), S3C2410_GPGCON);//電源控制
platform_add_devices(smdk2440_devices,ARRAY_SIZE(smdk2440_devices));
smdk_machine_init();
}
並且新增#include <asm/io.h>標頭檔案
-
執行make menuconfig
Device Driversà
Graphicssupportà
<*>Support for frame buffer devicesà
[*]Enable firmware EDID
-*-Enable Video Mode Handling Helpers
<*> S3C24X0 LCD framebuffer support
Consoledisplay driver supportà
<*>Framebuffer Console support
[*]Select compiled-in fonts
[*]VGA 8x8 font
[*]VGA 8x16 font
[*]Bootup logoà
[*]Standard 224-color Linux logo
3、編譯重新下載
注意:螢幕沒顯示是因為沒有初始化電源控制腳和背光控制腳。
相關推薦
Linux下移植LCD驅動
使用Linux3.2.81核心 4.3寸LCD 修改arch/arm/mach-s3c2440/mach-smdk2440.c staticstruct s3c2410fb_di
Linux下的LCD驅動(二)
3.3 LCD檔案層 幀緩衝裝置作為一個字元裝置,其檔案操作函式就定義在檔案層fbmem.c中 static const struct file_operations fb_fops = { .owner = THIS_MODULE,
linux下移植電容屏驅動gt9xx 筆記
# evtest /dev/event0 或者 # hexdump /dev/event0 ////////////////////////////////////////////// 分析: \drivers\i2c\busses\I2c-digicolor.c s
linux下移植AM335的sgx驅動
準備工作1.uboot 、核心、檔案系統、編譯器,開發板都已經提供,測試可以執行。2.在TI官網下載Graphics_SDK_setuplinux_4_10_00_01.bin開始移植移植步驟在ti官網有詳細說明,步驟如下:1../Graphics_SDK_setuplin
linux下網卡驅動安裝全過程
linux網卡驅動方法一,用RPM包安裝驅動程序方法:1.將驅動程序文件bcm5700-.src.rpm復制到一個臨時目錄中,並在此目錄中運行以下命令:rpm –ivh bcm5700-.src.rpm2.運行以下命令切換到驅動目錄中:cd /usr/src/redhat/SPECS/3.此目錄中會生成一個名
Linux下PCI裝置驅動程式開發基本框架
PCI是一種廣泛採用的匯流排標準,它提供了許多優於其它匯流排標準(如EISA)的新特性,目前已經成為計算機系統中應用最為廣泛,並且最為通用的匯流排標準。Linux的核心能較好地支援PCI匯流排,本文以Intel 386體系結構為主,探討了在Linux下開發PCI裝置驅動程式的基本框架。 一、PCI匯流排
Linux下的觸控式螢幕驅動
一.觸控式螢幕理論概述 對於觸控式螢幕驅動,我們主要需要掌握觸控式螢幕驅動程式碼和應用層測試程式碼。下面講的是基於Mini2440的觸控式螢幕驅動,現在的驅動我們都將裝置和驅動分離,掛在平臺裝置總線上,讓裝置和驅動去匹配。而我們在linu2.6.32.2核心版本中的觸控
Linux下的ds18b20驅動(執行環境 Fedora9.0 交叉編譯 arm-linux-gcc-4.3.2 核心版本2.6.32)
今天在各位前輩已有成就的基礎上花了兩天時間終於把這個驅動給搞定了,從開始編譯成模組看效果,進行除錯,再到編譯進核心,最後又編譯了一個介面出來,雖說大多數的程式程式碼是用各位前輩的成果,但坐下來自己收穫也不小,現在寫下來,以供以後參考,也和各位愛好者交流一下,呵呵! 一.編譯成
Linux下的I2S驅動學習
原文連結:http://blog.csdn.NET/gotowu/article/details/46329809 1、I2S概述 既然要學習I2S,就要想、首先知道他是幹什麼用的。 I2S(Inter—IC Sound)匯流排, 又稱 積體電路內建音訊匯流排,是飛利浦公司為數字
Linux下的硬體驅動——USB裝置配置以及開發
前言USB是英文"Universal Serial Bus"的縮寫,意為"通用序列匯流排"。是由Compaq(康柏)、DEC、IBM、Intel、NEC、微軟以及Northern Telecom(北方電訊)等公司於1994年11月共同提出的,主要目的就是為了解決介面標準太多的弊端。USB使用一個4針插頭作為標
linux下新增新驅動的方法
下面以UCLINUX為例,介紹在一個以模組方式出現的驅動程式test.c基礎之上,將其編譯進核心的一系列步驟: (1) 改動test.c源帶程式碼 第一步,將原來的: #include #include char kernel_version[]=UTS_RELE
linux下移植libcurl記錄
移植過程主要參考部落格: https://blog.csdn.net/wuzhiwuweisun/article/details/79129838 也借鑑了部落格:https://blog.csdn.net/zhouzhenhe2008/article/details/53768854
LINUX下ADC按鍵驅動程式
ADC按鍵驅動 Adc鍵盤原理圖如下,將串聯電阻之間分別用按鍵引出來與地相連,當按鍵按下時端電壓會發生改變。基本思想是在ADC驅動基礎上,對取樣電壓進行判斷,檢測是哪一個按鍵按下。 1. ADC驅動分析 在init()函式中,首先獲取adc的時鐘,並用clk_e
linux下移植wifi之安裝hostapd及其操作(八)
安裝 hostapd 1. 下載,解壓 下載原始碼: http://w1.fi/hostapd/ tar -xvf hostapd-2.6.tar.gz cd hostapd-2.6/hostapd 2. 編譯、安裝 cp
Linux下的I2S驅動
1、I2S概述 既然要學習I2S,就要想、首先知道他是幹什麼用的。 I2S(Inter—IC Sound)匯流排, 又稱 積體電路內建音訊匯流排,是飛利浦公司為數字音訊裝置之間的音訊資料傳輸而制定的一種匯流排標準,該匯流排專責於音訊裝置之間的資料傳輸,廣泛應用於各種多媒體系
Linux下載入.ko驅動模組的兩種方法:insmod與modprobe
假設要載入的驅動程式模組名為SHT21.ko 載入驅動模組 方法一: 進入SHT21.ko驅動模組檔案所在的目錄,然後直接 insmod SHT21.ko 即可 方法二: 將SHT21.ko檔案拷貝到/lib/module/#uname -r#/目
[嵌入式資料] Linux下移植OpenCV + Qt 到ARM(Tiny6410)總結 轉
Linux下移植OpenCV + Qt 到ARM(Tiny6410)總結 轉CSDN 下面的文字比較多啊,主要是加入了很多自己的感慨啊,感嘆啊啥的,其實我覺得已經是罪簡單的方法了,我基本上把我遇到的問題全部羅列了,大家可以參考一下~其實很多問題都是在走彎路,我希望後面
linux下dnw下載驅動後無法操作的問題日常記錄
USB host is connected. Waiting a download. Now, Downloading [ADDRESS:30000000h,TOTAL:64457] RECEIVED FILE SIZE: 64457 (62KB/S, 1S)## St
linux下移植wifi之安裝wpa_supplicant及wpa_supplicant其操作(六)
第五節:安裝wpa_supplicant及wpa_supplicant其操作 概念: wpa_supplicant : 可用於下述"認證/加密" All security modes have been verified to work (a
linux下移植wifi之概念介紹(一)
詳細介紹linux下移植wifi的步驟.docx 目錄 Linux系統下移植wifi模組,使其正常工作。包括兩部分內容,第一部分是識別無線裝置,並且正確安裝驅動程式。第二部分是選擇管理無線連線的方法。本文將介紹這兩部分內容。一、 背景配置w