Skip to content

Commit 8e028d6

Browse files
nxpfranklidtor
authored andcommitted
dt-bindings: input: convert rotary-encoder to yaml
Convert binding doc rotary-encoder.txt to yaml format. Additional change: - Only keep one example. Fix below warning: arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: /rotary-encoder: failed to match any schema with compatible: ['rotary-encoder'] Signed-off-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20240811214656.3773098-1-Frank.Li@nxp.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent f057b57 commit 8e028d6

2 files changed

Lines changed: 90 additions & 50 deletions

File tree

Documentation/devicetree/bindings/input/rotary-encoder.txt

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/rotary-encoder.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Rotary encoder
8+
9+
maintainers:
10+
- Frank Li <Frank.Li@nxp.com>
11+
12+
description:
13+
See Documentation/input/devices/rotary-encoder.rst for more information.
14+
15+
properties:
16+
compatible:
17+
const: rotary-encoder
18+
19+
gpios:
20+
minItems: 2
21+
22+
linux,axis:
23+
default: 0
24+
description:
25+
the input subsystem axis to map to this rotary encoder.
26+
Defaults to 0 (ABS_X / REL_X)
27+
28+
rotary-encoder,steps:
29+
$ref: /schemas/types.yaml#/definitions/uint32
30+
default: 24
31+
description:
32+
Number of steps in a full turnaround of the
33+
encoder. Only relevant for absolute axis. Defaults to 24 which is a
34+
typical value for such devices.
35+
36+
rotary-encoder,relative-axis:
37+
$ref: /schemas/types.yaml#/definitions/flag
38+
description:
39+
register a relative axis rather than an
40+
absolute one. Relative axis will only generate +1/-1 events on the input
41+
device, hence no steps need to be passed.
42+
43+
rotary-encoder,rollover:
44+
$ref: /schemas/types.yaml#/definitions/int32
45+
description:
46+
Automatic rollover when the rotary value becomes
47+
greater than the specified steps or smaller than 0. For absolute axis only.
48+
49+
rotary-encoder,steps-per-period:
50+
$ref: /schemas/types.yaml#/definitions/uint32
51+
default: 1
52+
enum: [1, 2, 4]
53+
description: |
54+
Number of steps (stable states) per period.
55+
The values have the following meaning:
56+
1: Full-period mode (default)
57+
2: Half-period mode
58+
4: Quarter-period mode
59+
60+
wakeup-source: true
61+
62+
rotary-encoder,encoding:
63+
$ref: /schemas/types.yaml#/definitions/string
64+
description: the method used to encode steps.
65+
enum: [gray, binary]
66+
67+
rotary-encoder,half-period:
68+
$ref: /schemas/types.yaml#/definitions/flag
69+
deprecated: true
70+
description:
71+
Makes the driver work on half-period mode.
72+
This property is deprecated. Instead, a 'steps-per-period ' value should
73+
be used, such as "rotary-encoder,steps-per-period = <2>".
74+
75+
required:
76+
- compatible
77+
- gpios
78+
79+
additionalProperties: false
80+
81+
examples:
82+
- |
83+
rotary {
84+
compatible = "rotary-encoder";
85+
gpios = <&gpio 19 1>, <&gpio 20 0>; /* GPIO19 is inverted */
86+
linux,axis = <0>; /* REL_X */
87+
rotary-encoder,encoding = "gray";
88+
rotary-encoder,relative-axis;
89+
};
90+

0 commit comments

Comments
 (0)