Re: [PATCH 2/3] Input: rotary-encoder-counter: add DT bindings

Dmitry Torokhov
2020-04-09T22:21:21Z

On Mon, Apr 06, 2020 at 05:58:05PM +0200, Kamel Bouhara wrote:
> Add dt binding for the counter variant of the rotary encoder driver.
>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> ---
> .../input/rotary-encoder-counter.yaml | 67 +++++++++++++++++++
> 1 file changed, 67 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/rotary-encoder-counter.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/rotary-encoder-counter.yaml b/Documentation/devicetree/bindings/input/rotary-encoder-counter.yaml
> new file mode 100644
> index 000000000000..a59f7c1faf0c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/rotary-encoder-counter.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/rotary-encoder-counter.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Rotary Encoder Counter
> +
> +maintainers:
> + - Kamel Bouhara <kamel.bouhara@bootlin.com>
> +
> +description:
> + Registers a Rotary encoder connected through a counter device.
> +
> +properties:
> + compatible:
> + const: rotary-encoder-counter

I wonder if a separate driver is really needed. The original driver be
taught to use counter device when available?

> +
> + counter:
> + description: Phandle for the counter device providing rotary position.
> +
> + linux-axis:
> + description: The input subsystem axis to map to this rotary encoder.
> + type: boolean
> +
> + qdec-mode:
> + description: |
> + Quadrature decoder function to set in the counter device.
> + 3: x1-PHA
> + 4: x1-PHB
> + 5: x2-PHA
> + 6: x2-PHB
> + 7: x4-PHA and PHB

Is it really property of the rotary encoder itself or property of the
counter device?

> +
> + steps:
> + 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.
> +
> + relative-axis:
> + description: Register a relative axis rather than an absolute one.
> + type: boolean
> +
> + rollover:
> + description: Automatic rollover when the rotary value becomes greater
> + than the specified steps or smaller than 0. For absolute axis only.
> + type: boolean
> +
> + poll-interval:
> + description: Poll interval at which the position is read from the counter
> + device (default 500ms).

Is there a way found counters to signal an interrupt?

Thanks.

--
Dmitry