觸覺智能分享,瑞芯微RK安卓Android主板GPIO按鍵配置方法,方便大家更好利用空閑IO!由觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,樹莓派卡片電腦設(shè)計,支持安卓Android、開源鴻蒙OpenHarmony、Linux多系統(tǒng),適合嵌入式開發(fā)入門學習。
設(shè)備樹修改
空閑IO選擇
由下圖可得當前IO是主板上一個沒有用到的IO,對應的GPIO為:GPIO4_A4。

設(shè)備樹配置
在Purple Pi OH官方代碼中,設(shè)備樹:ido-pi-oh3566-core.dtsi文件默認加了GPIO_KEY配置,所以我們默認不需要移植驅(qū)動,用官方提供的代碼上添加自己的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
修改完成后,進入內(nèi)核目錄單獨編譯內(nèi)核
# ./mk_kernel.sh ido-pi-oh3566-v1.img -j4
編譯成功后,會在當前目錄下生成boot.img文件,最后進行內(nèi)核燒錄測試即可。
測試驗證
通過調(diào)試串口或者ADB進入系統(tǒng),執(zhí)行g(shù)etevent -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"
執(zhí)行后,將GPIO4_A4對應的引腳短接到GND即可觸發(fā),如下所示:

當成功返回鍵值即可測試成功。