今天在mini2440的开发板上换了个新内核版本:2.6.34.12的版本,把根文件系统和QT等应用程序都烧到板上后,发现屏幕都不亮,就想是不是驱动没加上,所以在网上搜了下,看到有碰这方面的文章,所以现在把文章转到这里来,方便以后浏览。

转自:http://hi.baidu.com/tekuba/item/e41788a9aa822a99151073e7

mini2440 LCD显示驱动

LCD 驱动中最关键的就是时钟频率(Clock frequency)的设置,时钟频率设置不对,LCD的显示就会闪,或者根本没有显示。关于这个时钟频率的推倒有点复杂,下面只是就显示驱动的设置过程做一个简要的介绍,还没有涉及代码等面。

在内核中添加各种LCD 类型的支持

打开 arch/arm/mach-s3c2440/mach-mini2440.c,先屏蔽之前的LCD 设备平台代码(蓝色部分),再把友善之臂已经移植好的代码加入(红色部分),如下:

/* LCD driver info */

/*这是以前LCD驱动的代码,移植的时候不用这个,将他屏蔽掉

static struct s3c2410fb_display mini2440_lcd_cfg __initdata = {

.lcdcon5= S3C2410_LCDCON5_FRM565 |

S3C2410_LCDCON5_INVVLINE |

S3C2410_LCDCON5_INVVFRAME |

S3C2410_LCDCON5_PWREN |

S3C2410_LCDCON5_HWSWP,

.type= S3C2410_LCDCON1_TFT,

.width= 240,

.height= 320,

.pixclock= 166667,

.xres= 240,

.yres= 320,

.bpp= 16,

.left_margin= 20,

.right_margin= 8,

.hsync_len= 4,

.upper_margin= 8,

.lower_margin= 7,

.vsync_len= 4,

};

static struct s3c2410fb_mach_info mini2440_fb_info __initdata = {

.displays= &mini2440_lcd_cfg,

.num_displays= 1,

.default_display = 0,

#if 0

.gpccon= 0xaa940659,

.gpccon_mask= 0xffffffff,

.gpcup= 0x0000ffff,

.gpcup_mask= 0xffffffff,

.gpdcon= 0xaa84aaa0,

.gpdcon_mask= 0xffffffff,

.gpdup= 0x0000faff,

.gpdup_mask= 0xffffffff,

#endif

.lpcsel= ((0xCE6) & ~7) | 1<<4,

};*/

/新增的LCD驱动/

/* LCD driver info */

//;NEC 3.5”LCD 的配置和参数设置

#if defined(CONFIG_FB_S3C2410_N240320)

#define LCD_WIDTH 240

#define LCD_HEIGHT 320

#define LCD_PIXCLOCK 100000

#define LCD_RIGHT_MARGIN 36

#define LCD_LEFT_MARGIN 19

#define LCD_HSYNC_LEN 5

#define LCD_UPPER_MARGIN 1

#define LCD_LOWER_MARGIN 5

#define LCD_VSYNC_LEN 1

//;夏普8”LCD 的配置和参数设置

#elif defined(CONFIG_FB_S3C2410_TFT640480)

#define LCD_WIDTH 640

#define LCD_HEIGHT 480

#define LCD_PIXCLOCK 80000

#define LCD_RIGHT_MARGIN 67

#define LCD_LEFT_MARGIN 40

#define LCD_HSYNC_LEN 31

#define LCD_UPPER_MARGIN 25

#define LCD_LOWER_MARGIN 5

#define LCD_VSYNC_LEN 1

//;统宝3.5”LCD 的配置和参数设置

#elif defined(CONFIG_FB_S3C2410_T240320)

#define LCD_WIDTH 240

#define LCD_HEIGHT 320

#define LCD_PIXCLOCK 146250//170000

#define LCD_RIGHT_MARGIN 25

#define LCD_LEFT_MARGIN 0

#define LCD_HSYNC_LEN 4

#define LCD_UPPER_MARGIN 1

#define LCD_LOWER_MARGIN 4

#define LCD_VSYNC_LEN 1

//;群创7”LCD 的配置和参数设置

#elif defined(CONFIG_FB_S3C2410_TFT800480)

#define LCD_WIDTH 800

#define LCD_HEIGHT 480

#define LCD_PIXCLOCK 11463//40000

#define LCD_RIGHT_MARGIN 67

#define LCD_LEFT_MARGIN 40

#define LCD_HSYNC_LEN 31

#define LCD_UPPER_MARGIN 25

#define LCD_LOWER_MARGIN 5

#define LCD_VSYNC_LEN 1

//;LCD2VGA(分辨率为1024x768)模块的配置和参数设置

#elif defined(CONFIG_FB_S3C2410_VGA1024768)

#define LCD_WIDTH 1024

#define LCD_HEIGHT 768

#define LCD_PIXCLOCK 80000

#define LCD_RIGHT_MARGIN 15

#define LCD_LEFT_MARGIN 199

#define LCD_HSYNC_LEN 15

#define LCD_UPPER_MARGIN 1

#define LCD_LOWER_MARGIN 1

#define LCD_VSYNC_LEN 1

#define LCD_CON5 (S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_HWSWP)

#endif

然后打开drivers/video/Kconfig,在大概1935 行加入以下配置信息:

config FB_S3C2410_DEBUG

bool "S3C2410 lcd debug messages"

depends on FB_S3C2410

help

Turn on debugging messages. Note that you can set/unset at run time

through sysfs

choice

prompt "LCD select"

depends on FB_S3C2410

help

S3C24x0 LCD size select

config FB_S3C2410_T240320

boolean "3.5 inch 240X320 Toppoly LCD"

depends on FB_S3C2410

help

3.5 inch 240X320 Toppoly LCD

config FB_S3C2410_N240320

boolean "3.5 inch 240X320 NEC LCD"

depends on FB_S3C2410

help

3.5 inch 240x320 NEC LCD

config FB_S3C2410_TFT640480

boolean "8 inch 640X480 L80 LCD"

depends on FB_S3C2410

help

8 inch 640X480 LCD

config FB_S3C2410_TFT800480

boolean "7 inch 800x480 TFT LCD"

depends on FB_S3C2410

help

7 inch 800x480 TFT LCD

config FB_S3C2410_VGA1024768

boolean "VGA 1024x768"

depends on FB_S3C2410

help

VGA 1024x768

endchoice

这样,我们就完成了LCD 驱动的移植

执行make menuconfig依次展开

Device Drivers --->

Graphics support --->

<*> Support for frame buffer devices --->

LCD select (3.5 inch 240X320 Toppoly LCD) --->

然后根据自己板中LCD的实际情况

我的板子是选择第二个

make zImage之后,下载到板子上的时候,就可以看见启动的画面了。这个启动画面其实对应的就是
                                  linux-2.6.32.2/drivers/video/logo/linux_logo_clut224.ppm

该文件是一个特殊格式的图像文件,有很多方法可以把普通的图片转换为 logo 文件,最常用的就是netpbm 工具组。使用这个工具可以生成自己的logo图像。

min2440LCD驱动相关推荐

  1. 嵌入式Linux设备驱动程序:在运行时读取驱动程序状态

    嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程 ...

  2. 0、Spring 注解驱动开发

    0.Spring注解驱动开发 0.1 简介 <Spring注解驱动开发>是一套帮助我们深入了解Spring原理机制的教程: 现今SpringBoot.SpringCloud技术非常火热,作 ...

  3. 安装 Python MySQL 驱动(mysql-connector-python、MySQL-python)

    1. 安装 由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的MySQL 驱动来连接到 MySQL 服务器. 目前,有两个MySQL驱动: mysql-co ...

  4. Linux驱动框架之framebuffer驱动框架

    1.什么是framebuffer? (1)framebuffer帧缓冲(一屏幕数据)(简称fb)是linux内核中虚拟出的一个设备,framebuffer向应用层提供一个统一标准接口的显示设备.帧缓冲 ...

  5. [Ubuntu] 安装/卸载 声卡驱动

    卸载 sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils 安装 sudo apt-get install linux-s ...

  6. pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装

    一.前言描述 接到客户报修说,电脑无法开机,即到哥上门维修立即安排人员到现场查看原因,到现场后,查看的确是电脑系统问题,重新安装系统,安装完成系统后,发现打印机无法使用.这个打印机型号是TSC TTP ...

  7. linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...

    点击上方蓝字关注我吧! 为什么内推更靠谱?内推是基于人脉关系链的推荐,其背后有一定的信用背书,靠谱的人推荐的人相对也会比较靠谱,所以企业一般职位都是从内部开始分享的,相较于自己海投简历,内推的效率和成 ...

  8. i7 7700hq安装Linux,黑苹果安装火影金刚4K VULCAN JinGang GTX i7-7700HQ 独显驱动 Hackintosh...

    严格来说,这不是一台笔记本,更像是一台移动一体机.火影金刚4K,独显GTX 1060,核显HD 630,在BIOS里是可以屏蔽核显的.所以这一次安装黑苹果时,直接当是一台IMAC来安装,连机型都是选择 ...

  9. java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc

    [实例简介] Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm ...

最新文章

  1. jenkins 添加 证书凭证Credentials
  2. pthread_cond_singal condition
  3. 拿到腾讯字节快手offer后,他的LeetCode刷题经验在GitHub上收获1.3k星
  4. IE6中PNG图片背景无法透明显示的最佳解决方案
  5. BeijingPeople
  6. JAVA调用java执行,什么结果也没有
  7. python制作二维码_教你使用Python制作酷炫二维码
  8. 【物体检测】基于matlab GUI形态学物体检测【含Matlab源码 945期】
  9. linux查看系统版本_谈一谈在Linux中使用df命令查看文件系统
  10. 微信小程序开发--获取用户手机号码
  11. DOS命令大全(存档自用)
  12. 小程序tabBar右上角添加角标
  13. 苹果手机怎么设置流量限制
  14. 红帽linux挂载光盘_redhat挂载光盘 命令 - 卡饭网
  15. 机器学习:self-paced 和 fine-tuning
  16. Constructing and Embedding Abstract Event Causality Networks from Text Snippets
  17. 简单美化 Win 10 的 CMD 命令行终端界面
  18. 如何解决报错500的问题
  19. 织梦主动提交_织梦发布文章主动推送(实时)给百度的方法
  20. 那些证书相关的玩意儿

热门文章

  1. 乐视三合一体感摄像头--windows下的开发2
  2. 做了两个1~24V 可调电源。USB充电。
  3. 无线电能传输系统设计与实现
  4. 银行下拉列表select
  5. Google AdSense 申请通过技巧,西联汇款教程,西联汇款国内支持银行列表
  6. 录像中那个距离他们停泊的港口不远的武汉玛歌堡服饰有限公司商场正是早前反追踪信号捕获到的坐标所在
  7. 实战 | 用Python和MediaPipe搭建一个嗜睡检测系统 (详细步骤 + 源码)
  8. 基于STM32电源模块开发
  9. Python-Django毕业设计兴澜幼儿园管理系统(程序+Lw)
  10. ATI图形芯片ABC