Skip to content

Commit 0883f1d

Browse files
krzkdtor
authored andcommitted
dt-bindings: input: samsung,s3c6410-keypad: convert to DT Schema
Convert Samsung SoC Keypad bindings to DT schema with changes: 1. Rename "linux,keypad-no-autorepeat" property to "linux,input-no-autorepeat", because the latter was implemented in the Linux driver. 2. Add clocks and clock-names, already used by DTS and the Linux driver. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20240312183001.714626-1-krzysztof.kozlowski@linaro.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent 2d77f70 commit 0883f1d

File tree

3 files changed

+122
-78
lines changed

3 files changed

+122
-78
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/samsung,s3c6410-keypad.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung SoC series Keypad Controller
8+
9+
description:
10+
Samsung SoC Keypad controller is used to interface a SoC with a matrix-type
11+
keypad device. The keypad controller supports multiple row and column lines.
12+
A key can be placed at each intersection of a unique row and a unique column.
13+
The keypad controller can sense a key-press and key-release and report the
14+
event using a interrupt to the cpu.
15+
16+
maintainers:
17+
- Krzysztof Kozlowski <krzk@kernel.org>
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- samsung,s3c6410-keypad
23+
- samsung,s5pv210-keypad
24+
25+
reg:
26+
maxItems: 1
27+
28+
clocks:
29+
maxItems: 1
30+
31+
clock-names:
32+
items:
33+
- const: keypad
34+
35+
interrupts:
36+
maxItems: 1
37+
38+
wakeup-source: true
39+
40+
linux,input-no-autorepeat:
41+
type: boolean
42+
description:
43+
Do no enable autorepeat feature.
44+
45+
linux,input-wakeup:
46+
type: boolean
47+
deprecated: true
48+
49+
samsung,keypad-num-columns:
50+
$ref: /schemas/types.yaml#/definitions/uint32
51+
description:
52+
Number of column lines connected to the keypad controller.
53+
54+
samsung,keypad-num-rows:
55+
$ref: /schemas/types.yaml#/definitions/uint32
56+
description:
57+
Number of row lines connected to the keypad controller.
58+
59+
patternProperties:
60+
'^key-[0-9a-z]+$':
61+
type: object
62+
$ref: input.yaml#
63+
additionalProperties: false
64+
description:
65+
Each key connected to the keypad controller is represented as a child
66+
node to the keypad controller device node.
67+
68+
properties:
69+
keypad,column:
70+
$ref: /schemas/types.yaml#/definitions/uint32
71+
description: The column number to which the key is connected.
72+
73+
keypad,row:
74+
$ref: /schemas/types.yaml#/definitions/uint32
75+
description: The row number to which the key is connected.
76+
77+
linux,code: true
78+
79+
required:
80+
- keypad,column
81+
- keypad,row
82+
- linux,code
83+
84+
required:
85+
- compatible
86+
- reg
87+
- interrupts
88+
- samsung,keypad-num-columns
89+
- samsung,keypad-num-rows
90+
91+
additionalProperties: false
92+
93+
examples:
94+
- |
95+
#include <dt-bindings/clock/exynos4.h>
96+
#include <dt-bindings/interrupt-controller/arm-gic.h>
97+
98+
keypad@100a0000 {
99+
compatible = "samsung,s5pv210-keypad";
100+
reg = <0x100a0000 0x100>;
101+
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
102+
clocks = <&clock CLK_KEYIF>;
103+
clock-names = "keypad";
104+
105+
samsung,keypad-num-rows = <2>;
106+
samsung,keypad-num-columns = <8>;
107+
linux,input-no-autorepeat;
108+
wakeup-source;
109+
110+
key-1 {
111+
keypad,row = <0>;
112+
keypad,column = <3>;
113+
linux,code = <2>;
114+
};
115+
116+
key-2 {
117+
keypad,row = <0>;
118+
keypad,column = <4>;
119+
linux,code = <3>;
120+
};
121+
};

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

Lines changed: 0 additions & 77 deletions
This file was deleted.

Documentation/devicetree/bindings/power/wakeup-source.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ List of legacy properties and respective binding document
2323
Documentation/devicetree/bindings/mfd/tc3589x.txt
2424
Documentation/devicetree/bindings/input/touchscreen/ads7846.txt
2525
4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
26-
5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung-keypad.txt
26+
5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml
2727
6. "nvidia,wakeup-source" Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt
2828

2929
Examples

0 commit comments

Comments
 (0)