gpio-keys按键驱动(am335x平台)

在Linux内核中,AM335x平台的GPIO按键驱动已经集成在driver/input/keyboard/gpio_keys.c中。无需额外编写驱动,只需在archarmmach-omap2oard-am335xevm.c文件内添加按键配置。BTN_x定义在input.h文件中,确保配置的.name与gpio_keys_device_driver结构体一致。keys_init初始化函数需在系统启动时调用,可通过添加到ok335x_dev_cfg[]结构体实现。参考链接提供了详细信息。
摘要由CSDN通过智能技术生成

\arch\arm\mach-omap2\board-am335xevm.c 文件内添加按键驱动。

在内核中,按键的驱动已经完成!!!不需要我们自己写。driver/input/keyboard/gpio_keys.c 就是驱动文件。

/* Convert GPIO signal to GPIO pin number */
#define GPIO_TO_PIN(bank, gpio) (32 * (bank) + (gpio))

 GPIO_TO_PIN系统已经定义了。

首先设置GPIO引脚为I/O模式。

/* pinmux for gpio based key */
static struct pinmux_config gpio_keys_pin_mux_forlinx[] = {
    {"gpmc_a4.gpio1_20", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"gpmc_a5.gpio1_21", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"gpmc_a6.gpio1_22", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
	{"gpmc_a7.gpio1_23", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"gpmc_a8.gpio1_24", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"gpmc_a9.gpio1_25", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {NULL, 0},
};

 

/* Configure GPIOs for GPIO Keys */
static st
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值