i.mx6q keymap dts

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.mx6q keymap dts

1,004 Views
blackhuang
Contributor I

Dear NXP fae;

            近期我在调试i.mx6q 矩阵键盘时,出现以下问题;恳请你们帮助解决一下。

系统是android6.0,dts:imx6qdl-sabresd.dtsi , 编译器:prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-

矩阵键盘设备树配置如下:

&kpp {
compatible = "fsl,imx6qdl-kpp,fsl,imx21-kpp";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_kpp>;
clocks = <&clks IMX6QDL_CLK_DUMMY>;
linux,keymap = <
MATRIX_KEY(0x0, 0x0, KEY_UP) /*ROW6,COL7*/
MATRIX_KEY(0x0, 0x1, KEY_DOWN) /*ROW6,COL6*/
MATRIX_KEY(0x0, 0x2, KEY_ENTER) /*ROW6,COL5*/
MATRIX_KEY(0x0, 0x3, KEY_HOME) /*ROW6,COL4*/
MATRIX_KEY(0x1, 0x0, KEY_RIGHT) /*ROW5,COL7*/
MATRIX_KEY(0x1, 0x1, KEY_LEFT) /*ROW5,COL6*/
MATRIX_KEY(0x1, 0x2, KEY_VOLUMEDOWN) /*ROW5,COL5*/
MATRIX_KEY(0x1, 0x3, KEY_VOLUMEUP) /*ROW5,COL4*/
>;
status = "okay";
};

pinctrl_kpp:kpp_grp{
fsl,pins = <
MX6QDL_PAD_KEY_COL4__KEY_COL4 0x80000000
MX6QDL_PAD_KEY_ROW4__KEY_ROW4 0x80000000
MX6QDL_PAD_GPIO_1__KEY_ROW5 0x80000000
MX6QDL_PAD_GPIO_19__KEY_COL5 0x80000000
MX6QDL_PAD_GPIO_2__KEY_ROW6 0x80000000
MX6QDL_PAD_GPIO_9__KEY_COL6 0x80000000
MX6QDL_PAD_GPIO_5__KEY_ROW7 0x80000000
MX6QDL_PAD_GPIO_4__KEY_COL7 0x80000000    (使用0x1b0b0 也无效  )
>;

项目板卡启动后已出现

add device 6: /dev/input/event0
name: "20b8000.kpp"

使用getevent -lt /dev/input/event0 无输出。之前使用android4.3时按键正常,排除硬件问题。

问题1:

            请问是否为设备树配置信息有问题,该如何修正?

问题2:

            在使用测试程序时发现使用如下编译器出现错误,是否还需要移植第三方交叉编译器,

arm-linux-androideabi-gcc-4.9 -o hello hello.c
In file included from hello.c:1:0:
/home/vmuser/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x-google/include-fixed/stdio.h:50:23: fatal error: sys/cdefs.h: No such file or directory
#include <sys/cdefs.h>
^
compilation terminated.

Labels (1)
0 Kudos
3 Replies

859 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

I found imx6 添加matrix keypad - 简单 - CSDN博客  it will do help for you.

0 Kudos

859 Views
blackhuang
Contributor I

Hi Rita,

            非常感谢您的帮助、我尝试了您这边的方法。都无法正常使用。

我参考了该链接:IMX6移植Linux4.1.15内核时需要添加矩阵按键的设备树信息 - 厚积薄发 - CSDN博客   可以出现event0事件。

我参考源码添加了地址和终端还是无法正常工作。还请您帮忙再看一下。非常感谢!!!

&kpp {

compatible = "fsl,imx6qdl-kpp", "fsl,imx21-kpp";
//reg = <0x020b8000 0x40000000>;
//interrupts = <60>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_kpp>;
clocks = <&clks IMX6QDL_CLK_DUMMY>;
linux,keymap = <
MATRIX_KEY(0x0, 0x0, KEY_ALTERASE)
MATRIX_KEY(0x0, 0x1, KEY_CANCEL)
MATRIX_KEY(0x0, 0x2, KEY_BRIGHTNESSDOWN)
MATRIX_KEY(0x0, 0x3, KEY_BRIGHTNESSUP)

MATRIX_KEY(0x1, 0x0, KEY_MEDIA)
MATRIX_KEY(0x1, 0x1, KEY_SWITCHVIDEOMODE)
MATRIX_KEY(0x1, 0x2, KEY_KBDILLUMTOGGLE)
MATRIX_KEY(0x1, 0x3, KEY_KBDILLUMUP)
>;

status = "okay";
};

还麻烦您帮忙回答一下问题2.谢谢您的支持!!!

0 Kudos

859 Views
Rita_Wang
NXP TechSupport
NXP TechSupport
0 Kudos