你好,我使用
SDK: PROCESSOR-SDK-LINUX-AM335X 06_03_00_106
根文件系统: tisdk-image-am335x-evm
对设备树进行了以下修改:
matrix_keypad: matrix_keypad@0 {
compatible = "gpio-matrix-keypad";
debounce-delay-ms = <5>;
col-scan-delay-us = <2>;
row-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH /* Bank1, pin25 */
&gpio1 19 GPIO_ACTIVE_HIGH /* Bank1, pin26 */
&gpio1 23 GPIO_ACTIVE_HIGH
&gpio1 24 GPIO_ACTIVE_HIGH /* Bank1, pin26 */
&gpio1 25 GPIO_ACTIVE_HIGH
&gpio1 26 GPIO_ACTIVE_HIGH /* Bank1, pin25 */
&gpio1 27 GPIO_ACTIVE_HIGH /* Bank1, pin26 */
&gpio1 13 GPIO_ACTIVE_HIGH>; /* Bank1, pin27 */
col-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH /* Bank1, pin21 */
&gpio1 21 GPIO_ACTIVE_HIGH /* Bank1, pin21 */
&gpio1 22 GPIO_ACTIVE_HIGH>; /* Bank1, pin22 */
linux,keymap = <0x0001003b /* MENU */
0x0002003c /* BACK */
0x0100003d /* LEFT */
0x0102003e /* RIGHT */
0x0200003f /* ENTER */
0x02000040 /* BACK */
0x03000041 /* LEFT */
0x03010042 /* RIGHT */
0x03020043 /* ENTER */
0x04000044
0x04010045 /* RIGHT */
0x04020046 /* ENTER */
0x05000047 /* BACK */
0x05010048 /* LEFT */
0x06000049 /* RIGHT */
0x0601004a /* ENTER */
0x0602004b
0x0700004c /* RIGHT */
0x0701004d /* ENTER */
0x0702004e>; /* DOWN */
};
matrix_keypad_s0: matrix_keypad_s0 {
pinctrl-single,pins = <
AM33XX_IOPAD(0x840, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a0.gpio1 16 */
AM33XX_IOPAD(0x84c, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a3.gpio1 19 */
AM33XX_IOPAD(0x85c, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a7.gpio1 23 */
AM33XX_IOPAD(0x860, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1 24 */
AM33XX_IOPAD(0x864, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a9.gpio1 25 */
AM33XX_IOPAD(0x868, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a10.gpio1 26 */
AM33XX_IOPAD(0x86c, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a11.gpio1 27 */
AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_ad13.gpio1 13 */
AM33XX_IOPAD(0x848, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a2.gpio1 18 */
AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a5.gpio1 21 */
AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1 22 */
>;
};
上电按键无反应
root@am335x-evm:/dev/input/by-path# evtest /dev/input/event1
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "matrix_keypad@0"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 59 (KEY_F1)
Event code 60 (KEY_F2)
Event code 61 (KEY_F3)
Event code 62 (KEY_F4)
Event code 63 (KEY_F5)
Event code 64 (KEY_F6)
Event code 65 (KEY_F7)
Event code 66 (KEY_F8)
Event code 67 (KEY_F9)
Event code 68 (KEY_F10)
Event code 69 (KEY_NUMLOCK)
Event code 70 (KEY_SCROLLLOCK)
Event code 71 (KEY_KP7)
Event code 72 (KEY_KP8)
Event code 73 (KEY_KP9)
Event code 74 (KEY_KPMINUS)
Event code 75 (KEY_KP4)
Event code 76 (KEY_KP5)
Event code 77 (KEY_KP6)
Event code 78 (KEY_KPPLUS)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 250
Repeat code 1 (REP_PERIOD)
Value 33
Properties:Testing ... (interrupt to exit)
测试发现 gpmc_a2.、 gpmc_a5.、pmc_a6.三脚均输出高电平,按键并无下拉,请问是哪里修改错误了吗?
