xref: /freebsd/sys/contrib/device-tree/Bindings/input/qcom,pm8xxx-keypad.txt (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1Qualcomm PM8xxx PMIC Keypad
2
3PROPERTIES
4
5- compatible:
6	Usage: required
7	Value type: <string>
8	Definition: must be one of:
9		    "qcom,pm8058-keypad"
10		    "qcom,pm8921-keypad"
11
12- reg:
13	Usage: required
14	Value type: <prop-encoded-array>
15	Definition: address of keypad control register
16
17- interrupts:
18	Usage: required
19	Value type: <prop-encoded-array>
20	Definition: the first interrupt specifies the key sense interrupt
21		    and the second interrupt specifies the key stuck interrupt.
22		    The format of the specifier is defined by the binding
23		    document describing the node's interrupt parent.
24
25- linux,keymap:
26	Usage: required
27	Value type: <prop-encoded-array>
28	Definition: the linux keymap. More information can be found in
29		    input/matrix-keymap.txt.
30
31- linux,keypad-no-autorepeat:
32	Usage: optional
33	Value type: <bool>
34	Definition: don't enable autorepeat feature.
35
36- wakeup-source:
37	Usage: optional
38	Value type: <bool>
39	Definition: use any event on keypad as wakeup event.
40		    (Legacy property supported: "linux,keypad-wakeup")
41
42- keypad,num-rows:
43	Usage: required
44	Value type: <u32>
45	Definition: number of rows in the keymap. More information can be found
46		    in input/matrix-keymap.txt.
47
48- keypad,num-columns:
49	Usage: required
50	Value type: <u32>
51	Definition: number of columns in the keymap. More information can be
52		    found in input/matrix-keymap.txt.
53
54- debounce:
55	Usage: optional
56	Value type: <u32>
57	Definition: time in microseconds that key must be pressed or release
58		    for key sense interrupt to trigger.
59
60- scan-delay:
61	Usage: optional
62	Value type: <u32>
63	Definition: time in microseconds to pause between successive scans
64		    of the matrix array.
65
66- row-hold:
67	Usage: optional
68	Value type: <u32>
69	Definition: time in nanoseconds to pause between scans of each row in
70		    the matrix array.
71
72EXAMPLE
73
74	keypad@148 {
75		compatible = "qcom,pm8921-keypad";
76		reg = <0x148>;
77		interrupt-parent = <&pmicintc>;
78		interrupts = <74 1>, <75 1>;
79		linux,keymap = <
80			MATRIX_KEY(0, 0, KEY_VOLUMEUP)
81			MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
82			MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
83			MATRIX_KEY(0, 3, KEY_CAMERA)
84			>;
85		keypad,num-rows = <1>;
86		keypad,num-columns = <5>;
87		debounce = <15>;
88		scan-delay = <32>;
89		row-hold = <91500>;
90	};
91