| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/input/rotary-encoder.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Rotary encoder
- maintainers:
- - Frank Li <Frank.Li@nxp.com>
- description:
- See Documentation/input/devices/rotary-encoder.rst for more information.
- properties:
- compatible:
- const: rotary-encoder
- gpios:
- minItems: 2
- linux,axis:
- default: 0
- description:
- the input subsystem axis to map to this rotary encoder.
- Defaults to 0 (ABS_X / REL_X)
- rotary-encoder,steps:
- $ref: /schemas/types.yaml#/definitions/uint32
- default: 24
- description:
- Number of steps in a full turnaround of the
- encoder. Only relevant for absolute axis. Defaults to 24 which is a
- typical value for such devices.
- rotary-encoder,relative-axis:
- $ref: /schemas/types.yaml#/definitions/flag
- description:
- register a relative axis rather than an
- absolute one. Relative axis will only generate +1/-1 events on the input
- device, hence no steps need to be passed.
- rotary-encoder,rollover:
- $ref: /schemas/types.yaml#/definitions/int32
- description:
- Automatic rollover when the rotary value becomes
- greater than the specified steps or smaller than 0. For absolute axis only.
- rotary-encoder,steps-per-period:
- $ref: /schemas/types.yaml#/definitions/uint32
- default: 1
- enum: [1, 2, 4]
- description: |
- Number of steps (stable states) per period.
- The values have the following meaning:
- 1: Full-period mode (default)
- 2: Half-period mode
- 4: Quarter-period mode
- wakeup-source: true
- rotary-encoder,encoding:
- $ref: /schemas/types.yaml#/definitions/string
- description: the method used to encode steps.
- enum: [gray, binary]
- rotary-encoder,half-period:
- $ref: /schemas/types.yaml#/definitions/flag
- deprecated: true
- description:
- Makes the driver work on half-period mode.
- This property is deprecated. Instead, a 'steps-per-period ' value should
- be used, such as "rotary-encoder,steps-per-period = <2>".
- required:
- - compatible
- - gpios
- additionalProperties: false
- examples:
- - |
- rotary {
- compatible = "rotary-encoder";
- gpios = <&gpio 19 1>, <&gpio 20 0>; /* GPIO19 is inverted */
- linux,axis = <0>; /* REL_X */
- rotary-encoder,encoding = "gray";
- rotary-encoder,relative-axis;
- };
|