1. 程式人生 > >Linux下移植LCD驅動

Linux下移植LCD驅動



使用Linux3.2.81核心

4.3LCD

  1. 修改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,

    //根據

    LCD資料手冊

    .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)  //fframe

    是螢幕重新整理頻率(本開發板60HZ

    staticstruct 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>標頭檔案

  1. 執行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

LinuxLCD驅動(二)

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.此目錄中會生成一個名

LinuxPCI裝置驅動程式開發基本框架

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

LINUXADC按鍵驅動程式

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 下面的文字比較多啊,主要是加入了很多自己的感慨啊,感嘆啊啥的,其實我覺得已經是罪簡單的方法了,我基本上把我遇到的問題全部羅列了,大家可以參考一下~其實很多問題都是在走彎路,我希望後面

linuxdnw下載驅動後無法操作的問題日常記錄

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