触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙OpenHarmony、Linux多系统,适合嵌入式开发入门学习。
设备树修改
由下图可得当前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 = ;//键值 + // 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 -l add device 1: /dev/input/event3 name: "gpio_keys" add device 2: /dev/input/event1 name: "rk805 pwrkey" add device 3: /dev/input/event2 name: "adc-keys" add device 4: /dev/input/event0 name: "fdd70030.pwm" add device 5: /dev/input/event4 name: "rk-headset"
执行后,将GPIO4_A4对应的引脚短接到GND即可触发,如下所示:

当成功返回键值即可测试成功。
产品简介
作为开源鸿蒙OpenHarmony硬件方案的领跑者,触觉智能坚守开源共创精神,Purple Pi OH鸿蒙开发板源码全开放,持续为大家带来各种技术分享,产品具有以下优势:
全部0条评论
快来发表一下你的评论吧 !