MTK8788,6765,通用平台的按键驱动添加

主要修改4个地方,两个设备树文件,makflle,以及按键的问件编译,
\kernel-4.4\arch\arm64\boot\dts\mediatek\mt6771.dts

irqkey_drv:irqkey_drv {
compatible = “new-mobi,irq_key_drv”;
};

\kernel-4.4\arch\arm64\boot\dts\mediatek\tb8788p1_64_bsp.dts

&irqkey_drv {
interrupt-parent = <&pio>;
interrupts = <91 IRQ_TYPE_EDGE_FALLING 91 0>;
pin91-gpios = <&pio 91 0>;

debounce = <10>;
pinctrl-names = "default","key_pin91_as_int", "key_pin91_output0","key_pin91_output1";
pinctrl-0 = <&key_pins_default>;
pinctrl-1 = <&key_pins_91_as_int>;
pinctrl-2 = <&key_pins_91_output0>;
pinctrl-3 = <&key_pins_91_output1>;

status = "okay";

};
&pio {
key_pins_default: keydefault {
};
key_pins_91_as_int: key_pins91asint@0 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO91__FUNC_GPIO91>;
slew-rate = <0>;
bias-pull-up = <11>;
};
};
key_pins_91_output0: key_pins91output0 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO91__FUNC_GPIO91>;
slew-rate = <1>;
output-low;
};
};
key_pins_91_output1: key_pins91output1 {
pins_cmd_dat {
pinmux = <PINMUX_GPIO91__FUNC_GPIO91>;
slew-rate = <1>;
output-high;
};
};

};

修改
kernel-4.4\drivers\misc\mediatek\Makefile
obj-y += newmobi_key/

再该\kernel-4.4\drivers\misc\mediatek\ 加入这个问件夹,并写一个makefile

kernel-4.4\drivers\misc\mediatek\newmobi_key\Makefile
obj-y += irq_key.o

kernel-4.4\drivers\misc\mediatek\newmobi_key\irq_key.c

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>
#include <linux/log2.h>

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值