0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/input/imx-keypad.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Freescale i.MX Keypad Port(KPP) device tree bindings
0008
0009 maintainers:
0010 - Liu Ying <gnuiyl@gmail.com>
0011
0012 allOf:
0013 - $ref: "/schemas/input/matrix-keymap.yaml#"
0014
0015 description: |
0016 The KPP is designed to interface with a keypad matrix with 2-point contact
0017 or 3-point contact keys. The KPP is designed to simplify the software task
0018 of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
0019 and decoding one or multiple keys pressed simultaneously on a keypad.
0020
0021 properties:
0022 compatible:
0023 oneOf:
0024 - const: fsl,imx21-kpp
0025 - items:
0026 - enum:
0027 - fsl,imx25-kpp
0028 - fsl,imx27-kpp
0029 - fsl,imx31-kpp
0030 - fsl,imx35-kpp
0031 - fsl,imx51-kpp
0032 - fsl,imx53-kpp
0033 - fsl,imx50-kpp
0034 - fsl,imx6q-kpp
0035 - fsl,imx6sx-kpp
0036 - fsl,imx6sl-kpp
0037 - fsl,imx6sll-kpp
0038 - fsl,imx6ul-kpp
0039 - fsl,imx7d-kpp
0040 - const: fsl,imx21-kpp
0041
0042 reg:
0043 maxItems: 1
0044
0045 interrupts:
0046 maxItems: 1
0047
0048 clocks:
0049 maxItems: 1
0050
0051 required:
0052 - compatible
0053 - reg
0054 - interrupts
0055 - clocks
0056 - linux,keymap
0057
0058 unevaluatedProperties: false
0059
0060 examples:
0061 - |
0062 keypad@73f94000 {
0063 compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
0064 reg = <0x73f94000 0x4000>;
0065 interrupts = <60>;
0066 clocks = <&clks 0>;
0067 pinctrl-names = "default";
0068 pinctrl-0 = <&pinctrl_kpp_1>;
0069 linux,keymap = <0x00000067 /* KEY_UP */
0070 0x0001006c /* KEY_DOWN */
0071 0x00020072 /* KEY_VOLUMEDOWN */
0072 0x00030066 /* KEY_HOME */
0073 0x0100006a /* KEY_RIGHT */
0074 0x01010069 /* KEY_LEFT */
0075 0x0102001c /* KEY_ENTER */
0076 0x01030073 /* KEY_VOLUMEUP */
0077 0x02000040 /* KEY_F6 */
0078 0x02010042 /* KEY_F8 */
0079 0x02020043 /* KEY_F9 */
0080 0x02030044 /* KEY_F10 */
0081 0x0300003b /* KEY_F1 */
0082 0x0301003c /* KEY_F2 */
0083 0x0302003d /* KEY_F3 */
0084 0x03030074>; /* KEY_POWER */
0085 };