diff options
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.patch | 75 |
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"; + }; + }; |