Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / input / imx-keypad.txt
blob2ebaf7d26843c7038421d650b321eeb14b0a7d23
1 * Freescale i.MX Keypad Port(KPP) device tree bindings
3 The KPP is designed to interface with a keypad matrix with 2-point contact
4 or 3-point contact keys. The KPP is designed to simplify the software task
5 of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
6 and decoding one or multiple keys pressed simultaneously on a keypad.
8 Required SoC Specific Properties:
9 - compatible: Should be "fsl,<soc>-kpp".
11 - reg: Physical base address of the KPP and length of memory mapped
12   region.
14 - interrupts: The KPP interrupt number to the CPU(s).
16 - clocks: The clock provided by the SoC to the KPP. Some SoCs use dummy
17 clock(The clock for the KPP is provided by the SoCs automatically).
19 Required Board Specific Properties:
20 - pinctrl-names: The definition can be found at
21 pinctrl/pinctrl-bindings.txt.
23 - pinctrl-0: The definition can be found at
24 pinctrl/pinctrl-bindings.txt.
26 - linux,keymap: The definition can be found at
27 bindings/input/matrix-keymap.txt.
29 Example:
30 kpp: kpp@73f94000 {
31         compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
32         reg = <0x73f94000 0x4000>;
33         interrupts = <60>;
34         clocks = <&clks 0>;
35         pinctrl-names = "default";
36         pinctrl-0 = <&pinctrl_kpp_1>;
37         linux,keymap = <0x00000067      /* KEY_UP */
38                         0x0001006c      /* KEY_DOWN */
39                         0x00020072      /* KEY_VOLUMEDOWN */
40                         0x00030066      /* KEY_HOME */
41                         0x0100006a      /* KEY_RIGHT */
42                         0x01010069      /* KEY_LEFT */
43                         0x0102001c      /* KEY_ENTER */
44                         0x01030073      /* KEY_VOLUMEUP */
45                         0x02000040      /* KEY_F6 */
46                         0x02010042      /* KEY_F8 */
47                         0x02020043      /* KEY_F9 */
48                         0x02030044      /* KEY_F10 */
49                         0x0300003b      /* KEY_F1 */
50                         0x0301003c      /* KEY_F2 */
51                         0x0302003d      /* KEY_F3 */
52                         0x03030074>;    /* KEY_POWER */