aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch b/target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch
new file mode 100644
index 0000000000..003af7d932
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0158-add-additional-overrides-to-rotary-encoder-overlay-2.patch
@@ -0,0 +1,75 @@
+From 8cf805e57fa5cf4c872883968def037cd7c903cc Mon Sep 17 00:00:00 2001
+From: Aaron Shaw <shawaj@gmail.com>
+Date: Fri, 5 Jan 2018 15:08:37 +0000
+Subject: [PATCH 158/454] add additional overrides to rotary-encoder overlay
+ (#2334)
+
+---
+ arch/arm/boot/dts/overlays/README | 23 +++++++++++++++++++
+ .../dts/overlays/rotary-encoder-overlay.dts | 18 +++++++++++----
+ 2 files changed, 36 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1331,6 +1331,29 @@ Params: rotary0_pin_a GPIO con
+ (default 4).
+ rotary0_pin_b GPIO connected to rotary encoder channel B
+ (default 17).
++ 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.
++ linux_axis the input subsystem axis to map to this
++ rotary encoder. Defaults to 0 (ABS_X / REL_X)
++ rollover Automatic rollover when the rotary value
++ becomes greater than the specified steps or
++ smaller than 0. For absolute axis only.
++ 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
++ 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.
++ wakeup Boolean, rotary encoder can wake up the
++ system.
++ encoding String, the method used to encode steps.
++ Supported are "gray" (the default and more
++ common) and "binary".
+
+
+ Name: rpi-backlight
+--- a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts
++++ b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts
+@@ -28,16 +28,24 @@
+ gpios = <&gpio 4 0>, <&gpio 17 0>;
+ linux,axis = <0>; /* REL_X */
+ rotary-encoder,encoding = "gray";
+- rotary-encoder,relative-axis;
++ rotary-encoder,steps = <24>; /* 24 default */
++ rotary-encoder,steps-per-period = <1>; /* corresponds to full period mode. See README */
+ };
+ };
+
+ };
+
+ __overrides__ {
+- rotary0_pin_a = <&rotary0>,"gpios:4",
+- <&rotary0_pins>,"brcm,pins:0";
+- rotary0_pin_b = <&rotary0>,"gpios:16",
+- <&rotary0_pins>,"brcm,pins:4";
++ rotary0_pin_a = <&rotary0>,"gpios:4",
++ <&rotary0_pins>,"brcm,pins:0";
++ rotary0_pin_b = <&rotary0>,"gpios:16",
++ <&rotary0_pins>,"brcm,pins:4";
++ relative_axis = <&rotary0>,"rotary-encoder,relative-axis?";
++ linux_axis = <&rotary0>,"linux,axis:0";
++ rollover = <&rotary0>,"rotary-encoder,rollover?";
++ steps-per-period = <&rotary0>,"rotary-encoder,steps-per-period:0";
++ steps = <&rotary0>,"rotary-encoder,steps:0";
++ wakeup = <&rotary0>,"wakeup-source?";
++ encoding = <&rotary0>,"rotary-encoder,encoding";
+ };
+ };