hi,
I have a custom board based on am5728 SOC running TI linux SDK 9.03 and I am trying to port the keypad driver. This is the dts entry that i have added in arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
keypad: keypad@4ae1c000 {
compatible = "ti,omap4-keypad";
reg = <0x4ae1c000 0x80>; // Correct 4-cell format
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
keypad,num-rows = <4>;
keypad,num-columns = <4>;
linux,input-no-autorepeat;
linux,keymap = <
0x00000041 0x00010042 0x00020043 0x00030044
0x01000045 0x01010046 0x01020047 0x01030048
0x02000049 0x0201004a 0x0202004b 0x0203004c
0x0300004d 0x0301004e 0x0302004f 0x03030050
>;
status = "okay";
};
I have set CONFIG_KEYBOARD_OMAP4=y in .config file and put prints in each function of
/opt/ti-processor-sdk-linux-am57xx-evm-09_03_06_05/board-support/ti-linux-kernel-6.1.119+gitAUTOINC+e4e8b16e66-ti/drivers/input/keyboard/omap4-keypad.c
Upon booting the board after compilation I am getting the following error in dmesg logs
root@am57xx-evm:~# dmesg | grep omap4 [ 0.325897] VM********************* File: drivers/input/keyboard/omap4-keypad.c, Line: 358, Function: omap4_keypad_probe **************************** [ 0.325927] omap4-keypad 4ae1c00000000080.keypad: no base address specified [ 0.325927] omap4-keypad: probe of 4ae1c00000000080.keypad failed with error -22
I haven't done the changes as mentioned in the post (at the end ) by Thomas McManus as I was not facing the error he was facing.
is the DTS entry not ok?
As i can see that in 9.03 SDK the file arch/arm/boot/dts/dra7-l4.dtsi contains the following
target-module@c000 { /* 0x4ae1c000, ap 11 38.0 */ compatible = "ti,sysc"; status = "disabled"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0xc000 0x1000>; };
So do I need to add keypad entry under this node in arch/arm/boot/dts/dra7-l4.dtsi for the address 0x4ae1c000 ?
Please help me resolve this issue !