1afed56d0SAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2afed56d0SAnson Huang%YAML 1.2 3afed56d0SAnson Huang--- 4afed56d0SAnson Huang$id: http://devicetree.org/schemas/input/imx-keypad.yaml# 5afed56d0SAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 6afed56d0SAnson Huang 7dd3cb467SAndrew Lunntitle: Freescale i.MX Keypad Port(KPP) 8afed56d0SAnson Huang 9afed56d0SAnson Huangmaintainers: 10afed56d0SAnson Huang - Liu Ying <gnuiyl@gmail.com> 11afed56d0SAnson Huang 12afed56d0SAnson HuangallOf: 13*fcb52d7dSRob Herring - $ref: /schemas/input/matrix-keymap.yaml# 14afed56d0SAnson Huang 15afed56d0SAnson Huangdescription: | 16afed56d0SAnson Huang The KPP is designed to interface with a keypad matrix with 2-point contact 17afed56d0SAnson Huang or 3-point contact keys. The KPP is designed to simplify the software task 18afed56d0SAnson Huang of scanning a keypad matrix. The KPP is capable of detecting, debouncing, 19afed56d0SAnson Huang and decoding one or multiple keys pressed simultaneously on a keypad. 20afed56d0SAnson Huang 21afed56d0SAnson Huangproperties: 22afed56d0SAnson Huang compatible: 23afed56d0SAnson Huang oneOf: 24afed56d0SAnson Huang - const: fsl,imx21-kpp 25afed56d0SAnson Huang - items: 26afed56d0SAnson Huang - enum: 27afed56d0SAnson Huang - fsl,imx25-kpp 28afed56d0SAnson Huang - fsl,imx27-kpp 29afed56d0SAnson Huang - fsl,imx31-kpp 30afed56d0SAnson Huang - fsl,imx35-kpp 31afed56d0SAnson Huang - fsl,imx51-kpp 32afed56d0SAnson Huang - fsl,imx53-kpp 33afed56d0SAnson Huang - fsl,imx50-kpp 34afed56d0SAnson Huang - fsl,imx6q-kpp 35afed56d0SAnson Huang - fsl,imx6sx-kpp 36afed56d0SAnson Huang - fsl,imx6sl-kpp 37afed56d0SAnson Huang - fsl,imx6sll-kpp 38afed56d0SAnson Huang - fsl,imx6ul-kpp 39afed56d0SAnson Huang - fsl,imx7d-kpp 40afed56d0SAnson Huang - const: fsl,imx21-kpp 41afed56d0SAnson Huang 42afed56d0SAnson Huang reg: 43afed56d0SAnson Huang maxItems: 1 44afed56d0SAnson Huang 45afed56d0SAnson Huang interrupts: 46afed56d0SAnson Huang maxItems: 1 47afed56d0SAnson Huang 48afed56d0SAnson Huang clocks: 49afed56d0SAnson Huang maxItems: 1 50afed56d0SAnson Huang 51afed56d0SAnson Huangrequired: 52afed56d0SAnson Huang - compatible 53afed56d0SAnson Huang - reg 54afed56d0SAnson Huang - interrupts 55afed56d0SAnson Huang - clocks 56afed56d0SAnson Huang - linux,keymap 57afed56d0SAnson Huang 58afed56d0SAnson HuangunevaluatedProperties: false 59afed56d0SAnson Huang 60afed56d0SAnson Huangexamples: 61afed56d0SAnson Huang - | 62afed56d0SAnson Huang keypad@73f94000 { 63afed56d0SAnson Huang compatible = "fsl,imx51-kpp", "fsl,imx21-kpp"; 64afed56d0SAnson Huang reg = <0x73f94000 0x4000>; 65afed56d0SAnson Huang interrupts = <60>; 66afed56d0SAnson Huang clocks = <&clks 0>; 67afed56d0SAnson Huang pinctrl-names = "default"; 68afed56d0SAnson Huang pinctrl-0 = <&pinctrl_kpp_1>; 69afed56d0SAnson Huang linux,keymap = <0x00000067 /* KEY_UP */ 70afed56d0SAnson Huang 0x0001006c /* KEY_DOWN */ 71afed56d0SAnson Huang 0x00020072 /* KEY_VOLUMEDOWN */ 72afed56d0SAnson Huang 0x00030066 /* KEY_HOME */ 73afed56d0SAnson Huang 0x0100006a /* KEY_RIGHT */ 74afed56d0SAnson Huang 0x01010069 /* KEY_LEFT */ 75afed56d0SAnson Huang 0x0102001c /* KEY_ENTER */ 76afed56d0SAnson Huang 0x01030073 /* KEY_VOLUMEUP */ 77afed56d0SAnson Huang 0x02000040 /* KEY_F6 */ 78afed56d0SAnson Huang 0x02010042 /* KEY_F8 */ 79afed56d0SAnson Huang 0x02020043 /* KEY_F9 */ 80afed56d0SAnson Huang 0x02030044 /* KEY_F10 */ 81afed56d0SAnson Huang 0x0300003b /* KEY_F1 */ 82afed56d0SAnson Huang 0x0301003c /* KEY_F2 */ 83afed56d0SAnson Huang 0x0302003d /* KEY_F3 */ 84afed56d0SAnson Huang 0x03030074>; /* KEY_POWER */ 85afed56d0SAnson Huang }; 86