TQ2440背光控制
来源:互联网 发布:苹果手机mac修改器 编辑:程序博客网 时间:2024/04/24 13:38
控制LCD背光就是控制S3C2440的LCD控制的LCD_PWREN脚LCDCON5寄存器PWREN位控制LCD是否输出。
对Linux_2.6.30.4内核进行移植。新建一个backlight.c文件放到“drivers/video”目录下。内容如下:
/*************************************
NAME:EmbedSky_backlight.c
COPYRIGHT:www.embedsky.net
*************************************/
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/init.h>
#include <linux/serio.h>
#include <linux/delay.h>
#include <linux/clk.h>
#include <linux/miscdevice.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <mach/regs-clock.h>
#include <plat/regs-timer.h>
#include <mach/regs-gpio.h>
#include <mach/fb.h>
#include <linux/cdev.h>
#define DEVICE_NAME "bkl"
#define S3C2440_LCD_BASE 0x59000000
#define S3C2440_LCDCON1 (S3C2440_LCD_BASE + 0x00)
volatile int *lcdcon1 = NULL;
static int tq2440_backlight_ioctl(
struct inode *inode,
struct file *file,
unsigned int cmd,
unsigned long arg)
{
switch(cmd)
{
case 0:
s3c2410_gpio_setpin(S3C2410_GPG4, 0);
//*lcdcon1 = *lcdcon1 & (~(0x1<<0));
printk("backlight Turn Off!\n");
return 0;
case 1:
s3c2410_gpio_setpin(S3C2410_GPG4, 1);
//*lcdcon1 |= (0x1<<0);
printk("backlight Turn On!\n");
return 0;
default:
return -EINVAL;
}
}
static struct file_operations dev_fops = {
.owner = THIS_MODULE,
.ioctl = tq2440_backlight_ioctl
};
static struct miscdevice misc = {
.minor = MISC_DYNAMIC_MINOR,
.name = DEVICE_NAME,
.fops = &dev_fops,
};
static int __init dev_init(void)
{
int ret;
lcdcon1 = (int *)ioremap(S3C2440_LCDCON1, 4);
ret = misc_register(&misc);
printk (DEVICE_NAME" initialized\n");
s3c2410_gpio_cfgpin(S3C2410_GPG4, S3C2410_GPG4_OUTP);
return ret;
}
static void __exit dev_exit(void)
{
misc_deregister(&misc);
}
module_init(dev_init);
module_exit(dev_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("www.embedsky.net");
MODULE_DESCRIPTION("Backlight control for EmbedSky SKY2440/TQ2440 Board");
然后修改“drivers/video/Kconfig”文件,在1984行添加如下内容:
config FB_S3C2410_DEBUG
bool "S3C2410 lcd debug messages"
depends on FB_S3C24X0
help
Turn on debugging messages. Note that you can set/unset at run time
through sysfs
config TQ2440_BACKLIGHT
bool "EmbedSky SKY2440/TQ2440 Board Backlight control"
depends on FB_S3C24X0
help
Backlight control for EmbedSky SKY2440/TQ2440 Board.
再修改“drivers/video/Makefile”文件,在115行添加:
obj-$(CONFIG_TQ2440_BACKLIGHT)+= backlight.o
修改完成以后配置内核镜像
配置完以后编译出内核镜像。
编写LCD背光控制程序和编辑Makefile文件。最后测试LCD背光开关。
- TQ2440背光控制
- 背光控制
- 2440的背光控制
- S3C2416 Pwm 背光控制
- 6573 背光控制
- android 背光控制流程
- imx6 android背光控制
- 开背光 D180C 控制开关背光总结
- wince中的背光灯控制
- Android Telechips89xx背光控制流程
- Android Telechips89xx背光控制流程
- wince中的背光灯控制
- LCD背光控制 brightness control
- wince中的背光灯控制
- wince中的背光灯控制
- Android Telechips89xx背光控制流程
- wince中的背光灯控制
- wince中的背光灯控制
- c++问题
- android Dialog 底部弹出
- Xcode6自动提示图片 KSImageNamed 支持自定义 UIImageNamed(name),UIImageLoad(name, type)方法
- 白话空间统计之:空间自相关
- caffe tools command
- TQ2440背光控制
- Java项目初学-----满汉楼111
- 【C++】关于编译器错误:error C2572 重定义默认参数 的说明
- linux中的readelf命令简介
- Tomcat中Servlet与浏览器之间传值乱码解决办法
- 单例模式
- n的全排列
- VIP FAILOVER DEMONSTRATION
- 如何打开.pkl的文件