• RK3568 GPIO 按键事件响应


    目录

    adb shell getevent查看事件

    设备树添加事件驱动

    cat查看事件详细内容


    adb shell getevent查看事件

    1. 130|rk3568_r:/dev/input #
    2. PS C:\Users\fujy> adb shell
    3. rk3568_r:/ $ getevent
    4. add device 1/dev/input/event2
    5.   name:     "jadard-touchscreen"
    6. add device 2/dev/input/event0
    7.   name:     "fdd70030.pwm"
    8. add device 3/dev/input/event3
    9.   name:     "adc-keys"
    10. add device 4/dev/input/event1
    11.   name:     "rk805 pwrkey"

    设备树添加事件驱动

    设备树添加事件和驱动

    相对路径 

    kernel/arch/arm64/boot/dts/rockchip/ido-evb3568-v2b.dtsi

    1. gpio_key:gpio-key {
    2. compatible = "gpio-keys";
    3. input-name = "gpio-keys";//compatible = "rockchip,key";
    4. status = "okay";
    5. menu-key {
    6. label = "menu";
    7. linux,code = <KEY_MENU>;
    8. linux,input-type = <1>;//input类型 <EV_KEY>按键 即1
    9. gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
    10. gpio-key,wakeup;//唤起系统
    11. debounce-interval = <15>;//gpio按键的去抖动时间
    12. };
    13. //省略其他按键的参数,格式一致具体内容不同
    14. }

    设备树添加事件驱动后,adb shell 中getevent增加了一个gpio-key 事件

    1. rk3568_r:/ $ getevent
    2. add device 1/dev/input/event2
    3.   name:     "jadard-touchscreen"
    4. add device 2/dev/input/event0
    5.   name:     "fdd70030.pwm"
    6. add device 3/dev/input/event4
    7.   name:     "gpio-key"
    8. add device 4/dev/input/event3
    9.   name:     "adc-keys"
    10. add device 5/dev/input/event1
    11.   name:     "rk805 pwrkey"

    cat查看事件详细内容

    1. 130|rk3568_r:/ $ cat /proc/bus/input/devices
    2. I: Bus=0019 Vendor=524b Product=0006 Version=0100
    3. N: Name="fdd70030.pwm"
    4. P: Phys=gpio-keys/remotectl
    5. S: Sysfs=/devices/platform/fdd70030.pwm/input/input0
    6. U: Uniq=
    7. H: Handlers=event0 dmcfreq cpufreq
    8. B: PROP=0
    9. B: EV=3
    10. B: KEY=70010 a0004000040000 0 126010002000000 780000040008800 1eb7c000000000 2010000010004ffc
    11. I: Bus=0019 Vendor=0000 Product=0000 Version=0000
    12. N: Name="rk805 pwrkey"
    13. P: Phys=rk805_pwrkey/input0
    14. S: Sysfs=/devices/platform/fdd40000.i2c/i2c-0/0-0020/rk805-pwrkey/input/input1
    15. U: Uniq=
    16. H: Handlers=event1 dmcfreq cpufreq
    17. B: PROP=0
    18. B: EV=3
    19. B: KEY=10000000000000 0
    20. I: Bus=0000 Vendor=0000 Product=0000 Version=0000
    21. N: Name="jadard-touchscreen"
    22. P: Phys=
    23. S: Sysfs=/devices/virtual/input/input2
    24. U: Uniq=
    25. H: Handlers=event2 dmcfreq cpufreq
    26. B: PROP=2
    27. B: EV=b
    28. B: KEY=10 0 0 0 400 0 0 0 0 0
    29. B: ABS=665800000000000
    30. I: Bus=0019 Vendor=0001 Product=0001 Version=0100
    31. N: Name="adc-keys"
    32. P: Phys=adc-keys/input0
    33. S: Sysfs=/devices/platform/adc-keys/input/input3
    34. U: Uniq=
    35. H: Handlers=event3 dmcfreq cpufreq
    36. B: PROP=0
    37. B: EV=3
    38. B: KEY=40000000 c004000000000 0
    39. I: Bus=0019 Vendor=0001 Product=0001 Version=0100
    40. N: Name="gpio-key"
    41. P: Phys=gpio-keys/input0
    42. S: Sysfs=/devices/platform/gpio-key/input/input4
    43. U: Uniq=
    44. H: Handlers=event4 dmcfreq cpufreq
    45. B: PROP=0
    46. B: EV=3
    47. B: KEY=40000800 c000000000000 0

  • 相关阅读:
    【分布式金融交易模型】账户开立
    Python版【植物大战僵尸 +源码】
    计算机网络(谢希仁)第八版课后题答案(第一章)
    快速幂原理以及python内置pow函数
    ant-design-vue 修改a-button disabled默认样式
    PyTorch C++扩展用于AMD GPU
    @Async异步失效的9种场景
    实现自定义Spring Boot Starter
    华为云鲲鹏架构docker部署2048小游戏
    openEuler快速入门-Navicat远程链接openGauss数据库
  • 原文地址:https://blog.csdn.net/qq_40715266/article/details/133129945