移植ok6410 LCD驱动
1.本次移植过程选择 linux-2.6.28 lcd驱动为参考移植到 linux-2.6.34 ok6410 开发板上。
2.移植过程
主要以给内核增加驱动的思想,在/driver/video/ 下增加 samsung目录,提取 2.6.28 中驱动相关源代码,将源代码复制到samsung 下。
修改 /driver/video 下的Makefile 文件,增加进入samsung目录编译的编译条目
obj-$(CONFIG_FB_S3C) += samsung/
修改 /driver/video 下的Kconfig 文件,增加 /samsung/Kconfig 配置条目
comment "Frame buffer hardware drivers"
depends on FB
config FB_S3C
tristate "S3C Framebuffer Support"
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
depends on FB && (ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX) default n
---help---
TBA choice
depends on FB_S3C
prompt "Select LCD Type"
default FB_LIYUTAI_WXCAT35 config FB_WXCAT35
bool "WXCAT35 320x240"
---help---
TBA
config FB_WXCAT43
bool "WXCAT43 480x272"
---help---
TBA config FB_AT056
bool "AT056 640x480"
---help---
TBA
config FB_AT070
bool "AT070 800x480"
---help---
TBA config FB_AT080
bool "AT080 800x600"
---help---
TBA config FB_S3C_VGA800
bool "VGA800 800x600"
---help---
TBA
config FB_S3C_XGA
bool "XGA 1024x768"
---help---
TBA endchoice config FB_S3C_BPP
tristate "Advanced options for S3C Framebuffer"
depends on FB_S3C
default n
---help---
TBA choice
depends on FB_S3C_BPP
prompt "Select BPP(Bits Per Pixel)"
default FB_S3C_BPP_16
config FB_S3C_BPP_8
bool "8 BPP"
---help---
TBA config FB_S3C_BPP_16
bool "16 BPP"
---help---
TBA config FB_S3C_BPP_24
bool "24 BPP(XRGB888)"
---help---
TBA config FB_S3C_BPP_28
bool "28 BPP(ARGB4888)"
---help---
TBA config FB_S3C_BPP_32
bool "32 BPP(ARGB8888)"
---help---
TBA
endchoice config FB_S3C_NUM
int "Number of Framebuffers"
depends on FB_S3C_BPP && (ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX)
default "1"
---help---
TBA config FB_S3C_VIRTUAL_SCREEN
bool "Enable Virtual Screen"
depends on FB_S3C_BPP default n
---help---
TBA config FB_S3C_DOUBLE_BUFFERING
bool "Enable Double Buffering"
depends on FB_S3C_BPP default n
---help---
TBA
3. 增加 platform_device
找到移植系统时增加的板文件 mach-ok6410.c ,增加 lcd device
/* LCD Controller */
static struct resource s3c_lcd_resource[] = {
[] = {
.start = S3C64XX_PA_LCD,
.end = S3C64XX_PA_LCD + SZ_1M - ,
.flags = IORESOURCE_MEM,
},
[] = {
.start = IRQ_LCD_VSYNC,
.end = IRQ_LCD_SYSTEM,
.flags = IORESOURCE_IRQ,
}
};
static u64 s3c_device_lcd_dmamask = 0xffffffffUL;
struct platform_device s3c_device_lcd = {
.name = "s3c-lcd",
.id = -,
.num_resources = ARRAY_SIZE(s3c_lcd_resource),
.resource = s3c_lcd_resource,
.dev = {
.dma_mask = &s3c_device_lcd_dmamask,
.coherent_dma_mask = 0xffffffffUL
}
};
再修改 struct platform_device *ok6410_devices[],增加
&s3c_device_lcd,

4.启动时出现小企鹅

移植ok6410 LCD驱动的更多相关文章
- LCD驱动移植在在mini2440(linux2.6.29)和FS4412(linux3.14.78)上实现对比(deep dive)
1.Linux帧缓冲子系统 帧缓冲(FrameBuffer)是Linux为显示设备提供的一个接口,用户可以将帧缓冲看成是显示内存的一种映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作 ...
- AM335x(TQ335x)学习笔记——LCD驱动移植
TI的LCD控制器驱动是非常完善的,共通的地方已经由驱动封装好了,与按键一样,我们可以通过DTS配置完成LCD的显示.下面,我们来讨论下使用DTS方式配置内核完成LCD驱动的思路. (1)初步分析 由 ...
- TQ2440平台上LCD驱动的移植
参考: http://liu1227787871.blog.163.com/blog/static/205363197201242393031250/ http://blog.csdn.net/cum ...
- Linux的LCD驱动分析及移植
测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 LCD驱动分析 LCD屏的驱动总体上分成两块,一块是GUI ...
- 全志A33移植LCD驱动(ILI9806E)
0x00 环境说明: 所使用的开发板为锐尔威视的插针版A33_Vstar 屏幕是买的第三方的KD050FWFPA011-C009A,其中LCD驱动IC为ILI9806E,所使用的接口为RGB666 0 ...
- 【转】 linux内核移植和网卡驱动(二)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH ...
- Linux学习: LCD驱动
一.LCD驱动框架: 1.分配一个fb_info结构体:s3c_lcd = framebuffer_alloc(0,NULL); 2.设置fb_info(s3c_lcd): ID.固定参数.可变参数. ...
- LCD驱动应该怎么写?–基于stm32F407 [复制链接]
够用的硬件能用的代码使用的教程 (拷贝过来的代码有点乱,请下载附件查看文档) 资料下载地址:https://pan.baidu.com/s/1bHUVe6X6tymktUHk_z91cA 网络上配套S ...
- linux 驱动之LCD驱动(有framebuffer)
<简介> LCD驱动里有个很重要的概念叫帧缓冲(framebuffer),它是Linux系统为显示设备提供的一个接口,应用程序在图形模式允许对显示缓冲区进行读写操作.用户根本不用关心物理显 ...
随机推荐
- centos7安装mysql 8
1.查看已有mysql(包括mariadb) rpm -pa | grep mariadb yum list installed | grep mariadb rpm -pa | grep mysql ...
- 微信小程序如何引用其他js文件
1.我们先建立一个common.js文件,在common.js编写我们的程序, function myfunc() { console.log("myfunc....");} mo ...
- jmeter本机内存溢出如何修改?
websocket连接过程中内存溢出,本机配置的内存最大和最小设置的512: 一.后台返回 二.结果树返回: Thread Name: 线程组 1-9Sample Start: 2017-09-11 ...
- [java] 屏蔽ie浏览器中F1帮助
实现某一功能时需要屏蔽IE浏览器中的F1,F2快捷键. 百度后发现如下代码 var jq$ = jQuery.noConflict(); //防止$符号与其他的冲突 jq$(document).rea ...
- [Unity插件]Lua行为树(十三):装饰节点完善
之前介绍了组合节点中三大常用的节点:BTSequence.BTSelector和BTParallel,一般来说,这三种就够用了,可以满足很多的需求. 接下来可以完善一下装饰节点,增加几种新的节点. 1 ...
- [Unity插件]Lua行为树(十一):组合节点Parallel
Parallel节点类似Sequence节点,不同在于Parallel会每帧执行所有的节点.当所有节点返回成功时返回成功,当其中一个节点返回失败时,返回失败并且结束所有的子节点运行. 例如说,给Seq ...
- J2SE 5.0-memory management whitepaper--delete
1.垃圾回收器期职责 开辟空间 任何引用可达的对象都在内存内 回收不再使用的内存 3.垃圾回收器概念 3.1.垃圾回收器期望的性能 垃圾回收器必须安全,存活的对象不应该被释放,应该释放的对象存活的时间 ...
- Java命令运行.class文件
class使用全名(点号间隔):java headfirst.designpatterns.proxy.gumball.GumballMonitorTestDrive
- 《算法》第四章部分程序 part 8
▶ 书中第四章部分程序,包括在加上自己补充的代码,图中找欧拉路径 ● 无向图中寻找欧拉路径,只注释了与欧拉环不同的地方 package package01; import edu.princeton. ...
- ubuntu 14.04 安装 Apache Thrift 0.10
1.到官网下载源码压缩文件 https://thrift.apache.org/download 2.安装依赖软件,可以参考 https://thrift.apache.org/docs/instal ...