Linux下移植LCD驱动
来源:互联网 发布:数据地图网 编辑:程序博客网 时间:2024/05/20 16:36
使用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,
//根据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>头文件
执行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驱动
- linux下 s3c2440 lcd驱动移植详解
- Linux 2.6.34下LCD驱动移植
- Linux 2.6.34下LCD驱动移植
- linux下 s3c2440 lcd驱动移植详解
- linux下 s3c2440 lcd驱动移植详解
- 转:linux下 s3c2440 lcd驱动移植详解
- linux系统移植之LCD驱动移植
- S3C2440 Linux驱动移植——LCD
- linux-2.6.32内核LCD驱动移植
- linux-2.6.32内核LCD驱动移植
- S3C2440 Linux驱动移植——LCD
- Linux内核移植 part2:uboot lcd驱动
- 5、linux下LCD驱动
- Linux 下LCD的驱动
- LCD驱动移植 Linux 2.6.22.19移植到S3C2410(GEC2410)
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植 (转)
- AndroidStudio实现变种Builder模式的自动化生成
- Iterator接口
- 对计科核心课程的关系的总结
- (one data one problem)hdu-5792 World is Exploding (树状数组)
- Qt-QML-Repeater-导航条
- Linux下移植LCD驱动
- Ex5: Projective Transform & Image Morphing
- bzoj3365: [Usaco2004 Feb]Distance Statistics 路程统计
- HDU-1022 Train Problem I
- Linux下用户组、文件权限详解
- ROS知识(3)----功能包package编译的两种方式
- C++输入输出的格式控制2
- 关于严格模式的简单介绍
- 百度大脑险胜最强大脑背后:200万人2亿照片做训练