码迷,mamicode.com
首页 > 移动开发 > 详细

Tiny210 android系统中的gpio按键

时间:2015-08-26 18:04:44      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

Tiny210V2SDK开发板那个总共有8个用户按键,他们均从cpu芯片s5pv210的引脚直接引出

GPIO口与对应的中断(摘自:Smart210用户手册.pdf 39页)

技术分享

 

如果是纯linux系统,那么drivers/char/mini210_buttons.c是这些gpio按键对应的驱动程序

如果是android系统,那么

    arch/arm/mach-s5pv210/mach-mini210.c是这些gpio按键的platform device

    drivers/input/keyboard/gpio_keys.c是gpio按键的platform driver以及给android文件系统提供的input_event driver

    struct gpio_keys_platform_data结构体中可以看到gpio按键的定义以及给android系统提供的键值。

 

一旦系统跑的是android,那么底层的linux driver是不能使用这8个gpio的,因为已经被android占用了,可以在内核中配置让android不使用这些gpio按键

Device Drivers --->

    Input device support --->

        [*] keyboard --->

            <> GPIO button

如上,去掉GPIO button的配置,这样android系统就不使用这8个gpio按键了。这时linux driver可以使用任意一个gpio按键了。

 

在linux driver安装gpio中断函数

static irqreturn_t button_interrupt(int irq, void *dev_id)
{
    return IRQ_HANDLED;
}

u32 irq = gpio_to_irq(S5PV210_GPH2(0));
ret = request_irq(irq, button_interrupt, IRQ_TYPE_EDGE_RISING, "KEY0", NULL);
if (ret) {    
    printk(KERN_ERR "install irq %d failed!\n", irq);    
    goto err2;
}



 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Tiny210 android系统中的gpio按键

标签:

原文地址:http://blog.csdn.net/luckywang1103/article/details/48004837

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!