linux-3.8.0 S5PV210 LCD显示屏驱动移植
2015-04-30 10:03
363 查看
前言
近期在学习linux驱动移植,记录下学习过程,供自己参考和有需要的网友参考。一、材料准备
1)核心板:TINY210v2 的核心板2)LCD屏:TINY210v2自带的7寸电容触摸屏(S70,驱动器是AT070TN92)
3)linux环境:VMware10 + Fedora15 + arm-linux-gcc-4.5.1
4)linux内核:linux-3.8.0
5)bootloader:u-boot
二、移植步骤
1、修改arch/arm/mach-s5pv210/mach-smdkv210.c 文件
第一步:修改结构体struct fb_videomode smdkv210_lcd_timing (211行左右),命令:vim arch/arm/mach-s5pv210/mach-smdkv210.c,修改后的代码如下:
static struct fb_videomode smdkv210_lcd_timing = { .left_margin = 25, .right_margin = 209, .upper_margin = 13, .lower_margin = 21, .hsync_len = 19, .vsync_len = 9, .xres = 800, .yres = 480, };
设置LCD的各个参数。
第二步:修改 struct s3c_fb_platdatasmdkv210_lcd0_pdata (222行左右),
修改后的代码如下:
static struct s3c_fb_platdata smdkv210_lcd0_pdata __initdata = { .win[0] = &smdkv210_fb_win0, .vtiming = &smdkv210_lcd_timing, //.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, //.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, .vidcon0 = (5<<6) | (1<<4) | (1<<1) | (1<<0), .vidcon1 = (1<<6) | (1<<5), .setup_gpio = s5pv210_fb_gpio_setup_24bpp, };
设置使能,由LCD的手册(AT070TN92)得HSYNC和VSYNC极性须反转。
第三步:修改函数void smdkv210_lte480wv_set_power() (165行左右)
修改后的代码如下:
static void smdkv210_lte480wv_set_power(struct plat_lcd_data *pd, unsigned int power) { if (power) { #if !defined(CONFIG_BACKLIGHT_PWM) gpio_request_one(S5PV210_GPD0(1), GPIOF_OUT_INIT_HIGH, "GPD0"); gpio_free(S5PV210_GPD0(1)); #endif #if 0 /* fire nRESET on power up */ gpio_request_one(S5PV210_GPH0(6), GPIOF_OUT_INIT_HIGH, "GPH0"); gpio_set_value(S5PV210_GPH0(6), 0); mdelay(10); gpio_set_value(S5PV210_GPH0(6), 1); mdelay(10); gpio_free(S5PV210_GPH0(6)); #endif } else { #if !defined(CONFIG_BACKLIGHT_PWM) gpio_request_one(S5PV210_GPD0(1), GPIOF_OUT_INIT_LOW, "GPD0"); gpio_free(S5PV210_GPD0(1)); #endif 4000 } }
设置背光,我们使用的LCD-S70的背光由PWM1(GPD0_1控制),所以要修改。同时不需要复位设置,所以使用 #if 0 和#endif注释掉。
2、修改drivers/video/Makefile
命令:vim drivers/video/Makefile第四步:确认包含 s3c-fb.o (126行)
obj-$(CONFIG_FB_S3C) += s3c-fb.o
3、配置内核
命令:make menuconfig4、编译下载
开机后就会看到logo了,是linux的小企鹅。5、显示:hello world!
在调试终端输入:echo hello world!>/dev/tty06、结果验证
附最后的图片一张:(只照了半边)
三、参考资料
整个移植过程中我参考了:《嵌入式Linux学习笔记(基于S5PV210、TQ210).pdf》 (P146)对它的原作者表示感谢!!!
相关文章推荐
- linux-3.4.2 s5pv210 LCD驱动移植(一)
- linux-3.4.2 s5pv210 LCD驱动移植 overlay(二)
- IMX6Q处理器Linux平台LCD显示屏RGB驱动调试移植
- linux下 s3c2440 lcd驱动移植详解
- linux-2.6.32内核LCD驱动移植
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动 ( W35屏 )
- Linux2.6.24移植:LCD驱动
- [转]移植linux-2.6.36内核后的ts及lcd驱动参数修改
- linux-2.6.26.5内核的&nbsp;lcd驱动移植…
- 在S3C2410的6寸LCD驱动在linux2.6上的移植
- ARM9开发板FL2440移植Linux-3.0内核————MMC和LCD驱动
- 【TINY4412】LINUX移植笔记:(20)设备树LCD背光驱动
- linux-2.6.32内核LCD驱动移植
- [ARM-LINUX]移植2.6.31.12内核到立宇泰ARMSYS2440开发板之LCD驱动+触摸屏驱动
- linux-2.6.26.5内核的&nbsp;lcd驱动移植…
- 基于S3C2410平台的LCD for Linux 2.6 驱动移植
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动(W35屏)
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植
- S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)
- S3C2440 Linux驱动移植——LCD