EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2025-2-26 18:58 编辑 - s8 x$ L" W1 g' F7 s
0 h) Q% G; \; R8 J6 c. P触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙OpenHARMony、Linux多系统,适合嵌入式开发入门学习。 设备树修改 - 空闲IO选择
1 Y+ U* b" r# V/ |
由下图可得当前IO是主板上一个没有用到的IO,对应的GPIO为:GPIO4_A4。 - 设备树配置
( U% m+ k1 F6 a+ x7 h7 }0 b
在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 - 修改完成后,进入内核目录单独编译内核
5 e& ~/ ?( h \. T8 p
# ./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即可触发,如下所示: 当成功返回键值即可测试成功。
+ e* [: X4 I$ @- x" G) F |