About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / input / samsung-keypad.txt




Custom Search

Based on kernel version 4.3. Page generated on 2015-11-02 12:45 EST.

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		};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.