Skip to content

Commit afed56d

Browse files
Anson-Huangrobherring
authored andcommitted
dt-bindings: input: Convert imx keypad to json-schema
Convert the i.MX KEYPAD binding to DT schema format using json-schema Signed-off-by: Anson Huang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring <[email protected]>
1 parent 639d6ed commit afed56d

File tree

2 files changed

+85
-53
lines changed

2 files changed

+85
-53
lines changed

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

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

0 commit comments

Comments
 (0)