iMX7D Matrix Keypad "to many keys pressed" error

I am interfacing a 3x3 matrix keypad with the Colibri iMX7D, using the linux branch toradex_4.1-2.0.x-imx and standard colibri_imx7_defconfig.

Here is the device tree for the carrier board being used.

Here is the UART kernel dbg information output upon startup.

[    1.396120] input: 30320000.kpp as /devices/platform/soc/30000000.aips-bus/30320000.kpp/input/input0
[    1.408966] input input0: too many keys pressed, control pins initialisation
[    1.478703] input: failed to attach handler kbd to device input0, error: -5

I found the error comes form drivers/input/keyboard/imx_keypad.c:406

The problem is none of the keys are being pressed.

When double checking in the user space, I obtain the same error.

root@sumatra-colibri-imx7:~# evtest /dev/input/event0
[  823.521290] input input0: too many keys pressed, control pins initialisation
evtest: Input/output error

Any help is appreciated.

Please, any help is appreciated!!

I would suspect the pinmux and hardware connections to be an issue. Just like the comment here says “not all the rows must be active now” which seems exactly the case for you with the KPDR register reporting all rows active.

Thanks for you answer, the pinmux was the problem.
The pinmux for the imx7 should be

	pinctrl_kppgrp: kppgrp {
		fsl,pins = <
                            MX7D_PAD_EPDC_DATA02__KPP_ROW2		0X78 /*SODIMM 115*/
                            MX7D_PAD_EPDC_DATA03__KPP_COL2		0X1a /*SODIMM 117*/
                            MX7D_PAD_EPDC_DATA04__KPP_ROW1		0X78 /*SODIMM 119*/
                            MX7D_PAD_EPDC_DATA05__KPP_COL1		0X1a /*SODIMM 121*/
                            MX7D_PAD_EPDC_DATA06__KPP_ROW0		0X78 /*SODIMM 123*/
                            MX7D_PAD_EPDC_DATA07__KPP_COL0		0X1a /*SODIMM 125*/