diff mbox series

[3/5] input: mouse: Add DT bindings for GPIO mice

Message ID 20170917111445.30880-4-linus.walleij@linaro.org
State Changes Requested, archived
Headers show
Series None | expand

Commit Message

Linus Walleij Sept. 17, 2017, 11:14 a.m. UTC
This adds DT bindings for simple mice attached to GPIO lines.
As the properties are very general and pertains to all mice I
can think of, we use very generic names for the 4-7 GPIO lines,
"up", "down" etc.

Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
This patch is inspired by the existance of a GPIO mouse driver
with no in-kernel users.
---
 .../devicetree/bindings/input/gpio-mouse.txt       | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/gpio-mouse.txt

Comments

Rob Herring (Arm) Sept. 20, 2017, 8:53 p.m. UTC | #1
On Sun, Sep 17, 2017 at 01:14:43PM +0200, Linus Walleij wrote:
> This adds DT bindings for simple mice attached to GPIO lines.
> As the properties are very general and pertains to all mice I
> can think of, we use very generic names for the 4-7 GPIO lines,
> "up", "down" etc.
> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> This patch is inspired by the existance of a GPIO mouse driver
> with no in-kernel users.

In userspace? Doesn't seem like common h/w or that it would work well.

> ---
>  .../devicetree/bindings/input/gpio-mouse.txt       | 32 ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/gpio-mouse.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/gpio-mouse.txt b/Documentation/devicetree/bindings/input/gpio-mouse.txt
> new file mode 100644
> index 000000000000..82622a439745
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/gpio-mouse.txt
> @@ -0,0 +1,32 @@
> +Device-Tree bindings for GPIO attached mice
> +
> +This simply uses standard GPIO handles to define a simple mouse connected
> +to 4-7 GPIO lines.

Presumably we have to have 1 button, so 5-7 lines?

> +
> +Required properties:
> +	- compatible: must be "gpio-mouse"
> +	- scan-interval: The scanning interval in milliseconds

Add a unit suffix. Unless we can gain something sharing this with other 
input bindings.

> +	- up-gpios: GPIO line phandle to the line indicating "up"
> +	- down-gpios: GPIO line phandle to the line indicating "down"
> +	- left-gpios: GPIO line phandle to the line indicating "left"
> +	- right-gpios: GPIO line phandle to the line indicating "right"
> +
> +Optional properties:
> +	- button-left-gpios: GPIO line handle to the left mouse button
> +	- button-middle-gpios: GPIO line handle to the middle mouse button
> +	- button-right-gpios: GPIO line handle to the right mouse button
> +Example:
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +gpio-mouse {
> +	compatible = "gpio-keys";

copy-n-paste error.

> +	scan-interval = <50>;
> +	up-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
> +	down-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
> +	left-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
> +	right-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
> +	button-left-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
> +	button-middle-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
> +	button-right-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
> +};
> -- 
> 2.13.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/gpio-mouse.txt b/Documentation/devicetree/bindings/input/gpio-mouse.txt
new file mode 100644
index 000000000000..82622a439745
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/gpio-mouse.txt
@@ -0,0 +1,32 @@ 
+Device-Tree bindings for GPIO attached mice
+
+This simply uses standard GPIO handles to define a simple mouse connected
+to 4-7 GPIO lines.
+
+Required properties:
+	- compatible: must be "gpio-mouse"
+	- scan-interval: The scanning interval in milliseconds
+	- up-gpios: GPIO line phandle to the line indicating "up"
+	- down-gpios: GPIO line phandle to the line indicating "down"
+	- left-gpios: GPIO line phandle to the line indicating "left"
+	- right-gpios: GPIO line phandle to the line indicating "right"
+
+Optional properties:
+	- button-left-gpios: GPIO line handle to the left mouse button
+	- button-middle-gpios: GPIO line handle to the middle mouse button
+	- button-right-gpios: GPIO line handle to the right mouse button
+Example:
+
+#include <dt-bindings/gpio/gpio.h>
+
+gpio-mouse {
+	compatible = "gpio-keys";
+	scan-interval = <50>;
+	up-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
+	down-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+	left-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+	right-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+	button-left-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
+	button-middle-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+	button-right-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
+};