]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - Documentation/devicetree/bindings/input/samsung-keypad.txt
Merge remote-tracking branch 'v9fs/for-next'
[karo-tx-linux.git] / Documentation / devicetree / bindings / input / samsung-keypad.txt
1 * Samsung's Keypad Controller device tree bindings
2
3 Samsung's Keypad controller is used to interface a SoC with a matrix-type
4 keypad device. The keypad controller supports multiple row and column lines.
5 A key can be placed at each intersection of a unique row and a unique column.
6 The keypad controller can sense a key-press and key-release and report the
7 event using a interrupt to the cpu.
8
9 Required 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
21 Required 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
28 - 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
36 - pinctrl-0: Should specify pin control groups used for this controller.
37 - pinctrl-names: Should contain only one value - "default".
38
39 Optional Properties:
40 - wakeup-source: use any event on keypad as wakeup event.
41
42 Optional Properties specific to linux:
43 - linux,keypad-no-autorepeat: do no enable autorepeat feature.
44
45
46 Example:
47         keypad@100A0000 {
48                 compatible = "samsung,s5pv210-keypad";
49                 reg = <0x100A0000 0x100>;
50                 interrupts = <173>;
51                 samsung,keypad-num-rows = <2>;
52                 samsung,keypad-num-columns = <8>;
53                 linux,input-no-autorepeat;
54                 linux,input-wakeup;
55
56                 pinctrl-names = "default";
57                 pinctrl-0 = <&keypad_rows &keypad_columns>;
58
59                 key_1 {
60                         keypad,row = <0>;
61                         keypad,column = <3>;
62                         linux,code = <2>;
63                 };
64
65                 key_2 {
66                         keypad,row = <0>;
67                         keypad,column = <4>;
68                         linux,code = <3>;
69                 };
70
71                 key_3 {
72                         keypad,row = <0>;
73                         keypad,column = <5>;
74                         linux,code = <4>;
75                 };
76         };