kernel(五)LCD

        在新版内核里面,相比之前的 LCD 驱动增加了一个 platform_lcd,这个 platform_lcd 主要用于背光控制。

        支持 s5pv210 的 LCD 驱动为 drivers/video/s3c-fb.c,这个驱动同时支持多种 CPU

        三星公用的 LCD 平台设备定义在 arch/arm/plat-samsung/devs.c

        这里的 name 属性为“s3c-fb”,我们的 s5pv210 要匹配上面的 s3c_fb_driver_ids 中 s5pv210-fb,只有把 s3c_device_fb 中的 name 属性设置为“s5pv210-fb”,三星提供了一个函数来设置,在arch/arm/mach-s5pv210/common.c 中的 s5pv210_map_io 函数中进行了设置

        可以看到,三星的很多驱动都是采用这种方式,首先定义一个公用的平台设备,然后在根据特点的 CPU
来设置平台设备的 name 属性,这样做减少了重复代码。
        LCD 驱动移植比较简单,只需要配置相关参数就可以了。时序很重要(花屏、显示不正)

        根据 LCD 手册配置这些参数。 注意到这里没有配置像素时钟,是因为在驱动 s3c-fb.c 中根据上面的时序参数计算出来的。
drivers/video/s3c-fb.c

        这里调用了一个函数 s3c_fb_missing_pixclock,就是通过这个函数计算出来的

        这里用到了刷新频率,默认为 60,我们可以在 mach-smdkv210.c 中的 smdkv210_lcd_timing 结构体
中设置这个频率。
        上面的平台数据都是 s3c_device_fb 这个平台设备的。
       另外还定义了一个smdkv210_lcd_lte480wv平台设备,这个设备主要是提供LCD的背光操作,其对应的驱动为drivers/video/backlight/platform_lcd.c 。TQ210的LCD的背光引脚为 GPD0_0,修改smdkv210_lte480wv_set_power,中间的复位引脚没用到

配置内核支持 LCD

Device Drivers --->
	Graphics support --->
		<*> Support for frame buffer devices --->
			<*> Samsung S3C framebuffer support
		[*] Backlight & LCD device support --->
			<*> Lowlevel LCD controls
			<*> Platform LCD controls
			<*> Lowlevel Backlight controls
			<*> Generic (aka Sharp Corgi) Backlight Driver
		Console display driver support --->
			<*> Framebuffer Console support
		[*] Bootup logo --->

重新编译内核,下载测试
要让控制台输出到 LCD,需要配置/etc/inittab,添加一行 tty1::askfirst:-/bin/sh

可以使用 echo 向 LCD 上输出信息。
可以使用 fbset 命令查看 LCD 参数

在/sys/class/lcd/下生成了 platform_lcd 的属性,我们可以通过 echo 控制 LCD 背光

我们可以通过向 lcd_power 这个属性文件写入数字来控制 LCD 背光。
写入 4 关闭 LCD 背光,写入其他值打开 LCD 背光。
echo 4 > /sys/class/lcd/platform-lcd.0/lcd_power 关闭背光
echo 1 > /sys/class/lcd/platform-lcd.0/lcd_power 打开背光
参考 drivers/video/backlight/lcd.c 和 drivers/video/backlight/platform_lcd.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值