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


Based on kernel version 5.8. Page generated on 2020-08-08 17:40 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
* Freescale i.MX Keypad Port(KPP) device tree bindings

The KPP is designed to interface with a keypad matrix with 2-point contact
or 3-point contact keys. The KPP is designed to simplify the software task
of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
and decoding one or multiple keys pressed simultaneously on a keypad.

Required SoC Specific Properties:
- compatible: Should be "fsl,<soc>-kpp".

- reg: Physical base address of the KPP and length of memory mapped
  region.

- interrupts: The KPP interrupt number to the CPU(s).

- clocks: The clock provided by the SoC to the KPP. Some SoCs use dummy
clock(The clock for the KPP is provided by the SoCs automatically).

Required Board Specific Properties:
- pinctrl-names: The definition can be found at
pinctrl/pinctrl-bindings.txt.

- pinctrl-0: The definition can be found at
pinctrl/pinctrl-bindings.txt.

- linux,keymap: The definition can be found at
bindings/input/matrix-keymap.txt.

Example:
kpp: kpp@73f94000 {
	compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
	reg = <0x73f94000 0x4000>;
	interrupts = <60>;
	clocks = <&clks 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_kpp_1>;
	linux,keymap = <0x00000067	/* KEY_UP */
			0x0001006c	/* KEY_DOWN */
			0x00020072	/* KEY_VOLUMEDOWN */
			0x00030066	/* KEY_HOME */
			0x0100006a	/* KEY_RIGHT */
			0x01010069	/* KEY_LEFT */
			0x0102001c	/* KEY_ENTER */
			0x01030073	/* KEY_VOLUMEUP */
			0x02000040	/* KEY_F6 */
			0x02010042	/* KEY_F8 */
			0x02020043	/* KEY_F9 */
			0x02030044	/* KEY_F10 */
			0x0300003b	/* KEY_F1 */
			0x0301003c	/* KEY_F2 */
			0x0302003d	/* KEY_F3 */
			0x03030074>;	/* KEY_POWER */
};