From: Rob Herring <robh@kernel.org>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Mylène Josserand" <mylene.josserand@collabora.com>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel@collabora.com
Subject: Re: [PATCHv2 1/4] dt-bindings: input: Convert rotary-encoder bindings to schema
Date: Tue, 15 Sep 2020 10:22:39 -0600 [thread overview]
Message-ID: <20200915162239.GA2053332@bogus> (raw)
In-Reply-To: <20200907204045.95530-2-sebastian.reichel@collabora.com>
On Mon, Sep 07, 2020 at 10:40:42PM +0200, Sebastian Reichel wrote:
> Convert rotary-encoder bindings to YAML schema.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
> .../bindings/input/rotary-encoder.txt | 50 ---------
> .../bindings/input/rotary-encoder.yaml | 100 ++++++++++++++++++
> 2 files changed, 100 insertions(+), 50 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/rotary-encoder.txt
> create mode 100644 Documentation/devicetree/bindings/input/rotary-encoder.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/rotary-encoder.txt b/Documentation/devicetree/bindings/input/rotary-encoder.txt
> deleted file mode 100644
> index a644408b33b8..000000000000
> --- a/Documentation/devicetree/bindings/input/rotary-encoder.txt
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -Rotary encoder DT bindings
> -
> -Required properties:
> -- gpios: a spec for at least two GPIOs to be used, most significant first
> -
> -Optional properties:
> -- linux,axis: the input subsystem axis to map to this rotary encoder.
> - Defaults to 0 (ABS_X / REL_X)
> -- rotary-encoder,steps: 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: 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: 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: 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: Boolean, rotary encoder can wake up the system.
> -- rotary-encoder,encoding: String, the method used to encode steps.
> - Supported are "gray" (the default and more common) and "binary".
> -
> -Deprecated properties:
> -- rotary-encoder,half-period: 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>".
> -
> -See Documentation/input/devices/rotary-encoder.rst for more information.
> -
> -Example:
> -
> - rotary@0 {
> - 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;
> - };
> -
> - rotary@1 {
> - compatible = "rotary-encoder";
> - gpios = <&gpio 21 0>, <&gpio 22 0>;
> - linux,axis = <1>; /* ABS_Y */
> - rotary-encoder,steps = <24>;
> - rotary-encoder,encoding = "binary";
> - rotary-encoder,rollover;
> - };
> diff --git a/Documentation/devicetree/bindings/input/rotary-encoder.yaml b/Documentation/devicetree/bindings/input/rotary-encoder.yaml
> new file mode 100644
> index 000000000000..5b60ea86bd62
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/rotary-encoder.yaml
> @@ -0,0 +1,100 @@
> +# SPDX-License-Identifier: (GPL-2.0 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: Generic Rotary Encoder
> +
> +maintainers:
> + - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> +
> +description:
> + See Documentation/input/devices/rotary-encoder.rst for more information.
> +
> +properties:
> + compatible:
> + const: rotary-encoder
> +
> + gpios:
> + minItems: 2
You need to specify maxItems too. A 'should be enough for everyone'TM
value is fine here if there's no real max.
> + description: GPIOs for the rotation signals, most significant first
> +
> + linux,axis:
> + description:
> + The input subsystem axis to map to this rotary encoder.
> + Defaults to (ABS_X / REL_X).
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 0
> +
> + rotary-encoder,rollover:
> + description:
> + Automatic rollover when the rotary value becomes greater than the
> + specified steps or smaller than 0. For absolute axis only.
> + type: boolean
> +
> + rotary-encoder,steps-per-period:
> + description: The values have the following meaning
> + 1 - Full-period mode
> + 2 - Half-period mode
> + 4 - Quarter-period mode
You need a '|' after 'descripton' to preserve formatting here.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4]
> + default: 1
> +
> + wakeup-source:
> + description: Rotary encoder can wake up the system.
> + type: boolean
> +
> + rotary-encoder,encoding:
> + description:
> + Method used to encode steps. Gray code is more common.
> + $ref: /schemas/types.yaml#/definitions/string
> + enum: ["gray", "binary"]
> + default: "gray"
Don't need quotes.
> +
> + rotary-encoder,half-period:
> + description:
> + Deprecated, use "rotary-encoder,steps-per-period = <2>" instead.
> + type: boolean
> + deprecated: True
> +
> + rotary-encoder,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.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + default: 24
> +
> + rotary-encoder,relative-axis:
> + 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.
> + type: boolean
> +
> +required:
> + - compatible
> + - gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include "dt-bindings/gpio/gpio.h"
> + #include "dt-bindings/input/input.h"
> + rotary-encoder0 {
> + compatible = "rotary-encoder";
> + gpios = <&gpio 19 GPIO_ACTIVE_LOW>, <&gpio 20 GPIO_ACTIVE_HIGH>;
> + linux,axis = <REL_X>;
> + rotary-encoder,encoding = "gray";
> + rotary-encoder,relative-axis;
> + };
> + rotary-encoder1 {
> + compatible = "rotary-encoder";
> + gpios = <&gpio 21 GPIO_ACTIVE_HIGH>, <&gpio 22 GPIO_ACTIVE_HIGH>;
> + linux,axis = <ABS_Y>;
> + rotary-encoder,encoding = "binary";
> + rotary-encoder,rollover;
> + };
> --
> 2.28.0
>
next prev parent reply other threads:[~2020-09-15 22:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-07 20:40 [PATCHv2 0/4] Rotary Encoder Push Button Support Sebastian Reichel
2020-09-07 20:40 ` [PATCHv2 1/4] dt-bindings: input: Convert rotary-encoder bindings to schema Sebastian Reichel
2020-09-15 16:22 ` Rob Herring [this message]
2020-09-07 20:40 ` [PATCHv2 2/4] Input: rotary-encoder - Fix steps property reading Sebastian Reichel
2020-09-07 20:40 ` [PATCHv2 3/4] Input: rotary-encoder - Use dev_err_probe Sebastian Reichel
2020-09-09 19:48 ` Rob Herring
2020-09-10 20:58 ` Sebastian Reichel
2020-09-07 20:40 ` [PATCHv2 4/4] Input: rotary-encoder - Add gpio as push button Sebastian Reichel
2020-09-15 16:33 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200915162239.GA2053332@bogus \
--to=robh@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=kernel@collabora.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mylene.josserand@collabora.com \
--cc=sebastian.reichel@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.