blob: 5305e74e57425135c069311b0db8671f992cda9e [file] [log] [blame]
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +09001* Samsung's Keypad Controller device tree bindings
2
3Samsung's Keypad controller is used to interface a SoC with a matrix-type
4keypad device. The keypad controller supports multiple row and column lines.
5A key can be placed at each intersection of a unique row and a unique column.
6The keypad controller can sense a key-press and key-release and report the
7event using a interrupt to the cpu.
8
9Required SoC Specific Properties:
10- compatible: should be one of the following
11 - "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad
12 controller.
13 - "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad
14 controller.
15
16- reg: physical base address of the controller and length of memory mapped
17 region.
18
19- interrupts: The interrupt number to the cpu.
20
21Required Board Specific Properties:
22- samsung,keypad-num-rows: Number of row lines connected to the keypad
23 controller.
24
25- samsung,keypad-num-columns: Number of column lines connected to the
26 keypad controller.
27
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +090028- Keys represented as child nodes: Each key connected to the keypad
29 controller is represented as a child node to the keypad controller
30 device node and should include the following properties.
31 - keypad,row: the row number to which the key is connected.
32 - keypad,column: the column number to which the key is connected.
33 - linux,code: the key-code to be reported when the key is pressed
34 and released.
35
Thomas Abraham41cc2aa2013-06-25 09:20:08 -070036- pinctrl-0: Should specify pin control groups used for this controller.
37- pinctrl-names: Should contain only one value - "default".
38
Dmitry Torokhov43b7be32015-07-17 17:04:10 -070039Optional Properties:
40- wakeup-source: use any event on keypad as wakeup event.
Sudeep Holla71a01512015-10-21 11:09:59 +010041 (Legacy property supported: "linux,input-wakeup")
Dmitry Torokhov43b7be32015-07-17 17:04:10 -070042
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +090043Optional Properties specific to linux:
44- linux,keypad-no-autorepeat: do no enable autorepeat feature.
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +090045
46
47Example:
48 keypad@100A0000 {
49 compatible = "samsung,s5pv210-keypad";
50 reg = <0x100A0000 0x100>;
51 interrupts = <173>;
52 samsung,keypad-num-rows = <2>;
53 samsung,keypad-num-columns = <8>;
54 linux,input-no-autorepeat;
Sudeep Holla71a01512015-10-21 11:09:59 +010055 wakeup-source;
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +090056
Thomas Abraham41cc2aa2013-06-25 09:20:08 -070057 pinctrl-names = "default";
58 pinctrl-0 = <&keypad_rows &keypad_columns>;
Thomas Abrahamb3d6ac32011-11-02 19:37:22 +090059
60 key_1 {
61 keypad,row = <0>;
62 keypad,column = <3>;
63 linux,code = <2>;
64 };
65
66 key_2 {
67 keypad,row = <0>;
68 keypad,column = <4>;
69 linux,code = <3>;
70 };
71
72 key_3 {
73 keypad,row = <0>;
74 keypad,column = <5>;
75 linux,code = <4>;
76 };
77 };