Skip to content

Commit 538c640

Browse files
robherringdtor
authored andcommitted
dt-bindings: input: Convert adc-keys to DT schema
Convert the adc-keys binding to DT schema format. The old binding has 'label' as required, but it should never be required given it's just a human readable description. Signed-off-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 75448ff commit 538c640

File tree

2 files changed

+103
-67
lines changed

2 files changed

+103
-67
lines changed

Documentation/devicetree/bindings/input/adc-keys.txt

Lines changed: 0 additions & 67 deletions
This file was deleted.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/adc-keys.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ADC attached resistor ladder buttons
8+
9+
maintainers:
10+
- Alexandre Belloni <[email protected]>
11+
12+
allOf:
13+
- $ref: input.yaml#
14+
15+
properties:
16+
compatible:
17+
const: adc-keys
18+
19+
io-channels:
20+
maxItems: 1
21+
22+
io-channel-names:
23+
const: buttons
24+
25+
keyup-threshold-microvolt:
26+
description:
27+
Voltage above or equal to which all the keys are considered up.
28+
29+
poll-interval: true
30+
autorepeat: true
31+
32+
patternProperties:
33+
'^button-':
34+
type: object
35+
$ref: input.yaml#
36+
additionalProperties: false
37+
description:
38+
Each button (key) is represented as a sub-node.
39+
40+
properties:
41+
label: true
42+
43+
linux,code: true
44+
45+
press-threshold-microvolt:
46+
description:
47+
Voltage above or equal to which this key is considered pressed. No
48+
two values of press-threshold-microvolt may be the same. All values
49+
of press-threshold-microvolt must be less than
50+
keyup-threshold-microvolt.
51+
52+
required:
53+
- linux,code
54+
- press-threshold-microvolt
55+
56+
required:
57+
- compatible
58+
- io-channels
59+
- io-channel-names
60+
- keyup-threshold-microvolt
61+
62+
additionalProperties: false
63+
64+
examples:
65+
- |
66+
#include <dt-bindings/input/input.h>
67+
// +--------------------------------+------------------------+
68+
// | 2.000.000 <= value | no key pressed |
69+
// +--------------------------------+------------------------+
70+
// | 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed |
71+
// +--------------------------------+------------------------+
72+
// | 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed |
73+
// +--------------------------------+------------------------+
74+
// | 500.000 <= value < 1.000.000 | KEY_ENTER pressed |
75+
// +--------------------------------+------------------------+
76+
// | value < 500.000 | no key pressed |
77+
// +--------------------------------+------------------------+
78+
79+
adc-keys {
80+
compatible = "adc-keys";
81+
io-channels = <&lradc 0>;
82+
io-channel-names = "buttons";
83+
keyup-threshold-microvolt = <2000000>;
84+
85+
button-up {
86+
label = "Volume Up";
87+
linux,code = <KEY_VOLUMEUP>;
88+
press-threshold-microvolt = <1500000>;
89+
};
90+
91+
button-down {
92+
label = "Volume Down";
93+
linux,code = <KEY_VOLUMEDOWN>;
94+
press-threshold-microvolt = <1000000>;
95+
};
96+
97+
button-enter {
98+
label = "Enter";
99+
linux,code = <KEY_ENTER>;
100+
press-threshold-microvolt = <500000>;
101+
};
102+
};
103+
...

0 commit comments

Comments
 (0)