linux 2.6.32 在arm9(s3c2440)平台的移植 - LCD背光驱动

发布者:Alisallll最新更新时间:2021-08-09 来源: eefocus关键字:linux  6  arm9  s3c2440  移植  LCD背光驱动 手机看文章 扫描二维码
随时随地手机看文章

LCD背光是通过 CPU的 LCD_PWR引脚来控制的, 当LCD_PWR输出1, 亮 , 输出0则灭.

以下的代码均参考mini2440的移植手册


(1)新建/drivers/video/mini2440_backlight.c

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#undef DEBUG

#ifdef DEBUG

#define DPRINTK(x...) {printk(__FUNCTION__"(%d): ",__LINE__);printk(##x);}

#else

#define DPRINTK(x...) (void)(0)

#endif

#define DEVICE_NAME "backlight"

static unsigned int bl_state;

static inline void set_bl(int state)

{

        bl_state = !!state;

        s3c2410_gpio_setpin(S3C2410_GPG(4), bl_state);

}

static inline unsigned int get_bl(void)

{

         return bl_state;

}

static ssize_t dev_write(struct file *file, const char *buffer, size_t count, loff_t * ppos)

{

        unsigned char ch;

        int ret;

        if (count == 0) {

                return count;

        }

        ret = copy_from_user(&ch, buffer, sizeof ch)?-EFAULT:0;

        if (ret) {

                return ret;

        }

        ch &= 0x01;

        set_bl(ch);

        return count;

}

static ssize_t dev_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)

{

        int ret;

        unsigned char str[] = {'0', '1' };

        if (count == 0) {

                return 0;

        }

        ret = copy_to_user(buffer, str + get_bl(), sizeof(unsigned char) ) ? -EFAULT : 0;

        if (ret) {

                return ret;

        }

        return sizeof(unsigned char);

}

static struct file_operations dev_fops = {

        owner: THIS_MODULE,

        read:dev_read,

        write: dev_write,

};

static struct miscdevice misc = {

        .minor = MISC_DYNAMIC_MINOR,

        .name = DEVICE_NAME,

        .fops = &dev_fops,

};

static int __init dev_init(void)

{

        int ret;

        ret = misc_register(&misc);

        printk (DEVICE_NAME"/tinitialized/n");

        s3c2410_gpio_cfgpin(S3C2410_GPG(4), S3C2410_GPIO_OUTPUT);

        set_bl(1);

        return ret;

}

static void __exit dev_exit(void)

{

        misc_deregister(&misc);

}

module_init(dev_init);

module_exit(dev_exit);

MODULE_LICENSE("GPL");

MODULE_AUTHOR("FriendlyARM Inc.");


(2)编辑同级目录(drivers/video/)的Kconfig, 找到config FB_S3C2410_DEBUG ,在下面添加:

config BACKLIGHT_MINI2440 

        tristate "Backlight support for mini2440 from FriendlyARM" 

        depends on FB_S3C2410 #这里注释掉&& FB_S3C2410 

        help 

          backlight driver for MINI2440 from FriendlyARM 


(3) 编辑同级目录(drivers/video)的Makefile, 找到obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o, 在下面添加:

obj-$(CONFIG_BACKLIGHT_MINI2440) += mini2440_backlight.o


(4)然后再初级目录make menuconfig,在

Device Drivers  --->

   Graphics support  --->

      <*> Support for frame buffer devices  --->  

               [*]Backlight support for mini2440 from FriendlyARM


然后make zImage, 测试, ok,


(5) 使用方式


在命令行种输入:echo 0 > /dev/backlight 可以关闭LCD背光。

在命令行种输入:echo 1 > /dev/backlight 可以打开LCD背光。

关键字:linux  6  arm9  s3c2440  移植  LCD背光驱动 引用地址:linux 2.6.32 在arm9(s3c2440)平台的移植 - LCD背光驱动

上一篇:linux2.6.32移植概要总结
下一篇:linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)

推荐阅读最新更新时间:2024-11-12 20:25

TI推出1MHz有源钳位反激式芯片组和首款6A三级降压电池充电器
2018年3月1日,北京讯——德州仪器(TI)(NASDAQ: TXN) 近日推出了多款新型 电源管理芯片 ,可帮助设计人员提高个人电子设备和手持工业设备的效率,缩小电源和充电器解决方案的尺寸。 TI推出的新款芯片组将UCC28780有源钳位反激式控制器和UCC24612同步整流器控制器相结合,工作频率高达1MHz,可帮助将AC/DC适配器和USB PD充电器的电源尺寸减半。对于需要在小尺寸解决方案中最大化充电效率的电池供电电子设备而言,TI新推出的bq25910 6A三级降压电池充电器可在智能手机、平板电脑和电子销售终端(EPOS)中将解决方案尺寸减小60%。 TI高压电源解决方案副总裁Steve Lambouses表
[电源管理]
TI推出1MHz有源钳位反激式芯片组和首款<font color='red'>6</font>A三级降压电池充电器
STM32关于BOOT0和BOOT1设置
BOOT0和BOOT1 STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的 Flash。 2)SRAM = 芯片内置的 RAM区,就是内存啦。 3)系统存储器= 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段 Bootloader,就是通常说的 ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个 ROM区。 在每个 STM32的芯片上都有两个管脚 BOOT0和 BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。 BOOT1=0 BOOT0=1 从系
[单片机]
STM32 外部 SRAM
简介:STM32F103ZET6 自带了 64K 字节的 SRAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合,STM32 自带的这些内存就不够用了。比如跑算法或者跑 GUI 等,就可能不太够用。 IS62WV51216简介 IS62WV51216是ISSI(IntegratedSiliconSolution,Inc)公司生产的一颗16位宽512K(512*16,即1M字节)容量的CMOS静态内存芯片。该芯片具有如下几个特点: l高速。具有45ns/55ns访问速度。 l低功耗。 lTTL电平兼容。 l全静态操作。不需要刷新和时钟电路。 l三态输出。 l字节控制功能。支持高/低字节控制
[单片机]
2020年Q2智能手机应用处理器收益激增
Strategy Analytics手机元件技术(HCT)研究发布的报告《2020年Q2智能手机应用处理器市场份额追踪:5G推动收益激增》指出,全球智能手机应用处理器(AP)市场再次战胜了COVID-19,并在2020年Q2实现了20%的收益增长,达到58亿美元。 报告指出,2020年Q2高通、海思、苹果、联发科和三星LSI占据了全球智能手机应用处理器收益前五名。高通以32%的收益份额保持其在智能手机应用处理器市场的领先地位,其次是海思(22%)和苹果(19%)。 · Strategy Analytics估计,由于新冠疫情导致的疲软,智能手机应用处理器出货量在2020年Q2同比下降16%。 但是,价格更高的5G 应用
[嵌入式]
使用C语言实现IIC驱动(基于STM32和HAL库做进一步封装)
一.简述 使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的。 底层驱动方法不重要,封装的思想很重要。在完成对IIC驱动的封装之后借助继承特性实现AT24C64存储器的驱动开发,仍使用面向对象的思想封装AT24C64驱动。 二.IIC驱动面向对象封装 iic.h头文件主要是类模板的定义,具体如下: //定义IIC类 typedefstructIIC_Type { //属性 GPIO_TypeDef*GPIOx_SCL;//GPIO_SCL所属的GPIO组(如:GPIOA) GPIO_TypeDe
[单片机]
关于STM32中CAN中断的使用
如果你用的CAN引脚是PA11和PA12,接收中断用CAN1_RX0_IRQn。如果CAN引脚用的是PB8和PB9,也就是用重定义的引脚,接收中断用CAN1_RX1_IRQn。由于PA11和PA12也是USB的引脚,所以非互联型且带CAN控制器的微控制器的库文件在起名字时用了USB_LP_CAN1_RX0_IRQn。 具体的定义可以参考stm32F10x.h文件,其中对不同型号的中断有具体的定义。 示例如下: 1. 配置过滤器 CAN_FilterInitStructure.CAN_FilterNumber = 0; CAN_FilterInitStructure.CAN_FilterMode = CAN_F
[单片机]
STM32中ADC的使用/printf函数重定向串口显示内部温度传感器测量值
STM32F334C8T6这款MCU中有两个12位ADC(模数转换器),ADC1的通道16连接到内置的一个温度传感器,本文使用该温度传感器测量MCU和周围的环境温度,并且通过串口发送到PC的串口助手进行显示。 1. ADC的使用 1. select the ADC clock using the function RCC_ADCCLKConfig() 2. Enable the ADC interface clock using RCC_AHBPeriphClockCmd(); 3. ADC pins configuration  Enable the clock for the ADC GPIOs using the fo
[单片机]
STM<font color='red'>32</font>中ADC的使用/printf函数重定向串口显示内部温度传感器测量值
全球Top 3智能机品牌华为今年出货量目标上看6千万
    华尔街日报15日报导,华为装置(Huawei Device)执行长万飙(Wan Biao)在受访时指出,公司今年的销售量目标为6千万支手机。华为已开设逾20家零售据点、多数位于中国大陆境内,未来将在中东、拉丁美洲设立更多零售点。华为(Huawei Technologies Co.)8日公布的年报显示,2012年智慧型手机出货量年增60%至3,200万支,远低于公司原先预期的5千万-6千万支。 根据IDC的统计,2012年才开始贩售自有品牌智慧型手机的华为去年第4季销售量达1,080万支,跃居全球第三大品牌。不过,根据Canalys的统计,华为去年全球大约半数智慧机出货量价位落在100-150美元。华为在去年11月砸3千万美
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved