EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2025-2-26 18:58 编辑 7 b3 f& e) c& i2 Y* y
3 b# F% J, s9 ]. i+ \: O2 D
触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙OpenHARMony、Linux多系统,适合嵌入式开发入门学习。 设备树修改 - 空闲IO选择 ?7 h& b, y4 a: I- l
由下图可得当前IO是主板上一个没有用到的IO,对应的GPIO为:GPIO4_A4。 - 设备树配置* [1 \4 V+ P t5 L1 l2 p+ v
在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 - 修改完成后,进入内核目录单独编译内核
& u4 e2 h, P' t( y! |" o
# ./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即可触发,如下所示: 当成功返回键值即可测试成功。 8 J1 Z4 P! L6 M7 T& U
|