广州品牌网站设计公司服装网页设计素材
触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙OpenHarmony、Linux多系统,适合嵌入式开发入门学习。
设备树修改
-  
空闲IO选择
 
由下图可得当前IO是主板上一个没有用到的IO,对应的GPIO为:GPIO4_A4。

-  
设备树配置
 
在Purple Pi OH官方代码中,设备树:ido-pi-oh3566-core.dtsi文件默认加了GPIO_KEY配置,所以我们默认不需要移植驱动,用官方提供的代码上添加自己的IO即可,配置代码如下:
gpio_keys: gpio_keys {status = "okay";compatible = "gpio-keys";autorepeat;pinctrl-names = "default";pinctrl-0 = <&leds_keys_gpio>;+ key_sw1 {+ debounce-interval = <100>;+ gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>;+ label = "GPIO Key sw1";+ linux,code = <KEY_F1>;//键值+ // wakeup-source;+ gpio-key,wakeup;+ };}&pinctrl {+ gpio-keys {+ leds_keys_gpio: leds_keys-gpio {+ rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;//默认上拉+ };};};
键值对应的文件位于以下目录,可按需求修改:
include/dt-bindings/input/rk-input.h 
-  
修改完成后,进入内核目录单独编译内核
 
# ./mk_kernel.sh ido-pi-oh3566-v1.img -j4 
编译成功后,会在当前目录下生成boot.img文件,最后进行内核烧录测试即可。
测试验证
通过调试串口或者ADB进入系统,执行getevent -l命令测试GPIO按键,命令如下:
130|console:/ # getevent -ladd device 1: /dev/input/event3name: "gpio_keys"add device 2: /dev/input/event1name: "rk805 pwrkey"add device 3: /dev/input/event2name: "adc-keys"add device 4: /dev/input/event0name: "fdd70030.pwm"add device 5: /dev/input/event4name: "rk-headset"
执行后,将GPIO4_A4对应的引脚短接到GND即可触发,如下所示:

当成功返回键值即可测试成功。
