mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-15 04:42:02 +00:00
82 lines
3.9 KiB
Diff
82 lines
3.9 KiB
Diff
From 003504eb0f85e3df336b00bc78b307c6f8bd7943 Mon Sep 17 00:00:00 2001
|
|
From: Aaron Shaw <shawaj@gmail.com>
|
|
Date: Fri, 5 Jan 2018 15:08:37 +0000
|
|
Subject: [PATCH 176/277] add additional overrides to rotary-encoder overlay
|
|
(#2334)
|
|
|
|
---
|
|
arch/arm/boot/dts/overlays/README | 23 ++++++++++++++++++++++
|
|
.../boot/dts/overlays/rotary-encoder-overlay.dts | 18 ++++++++++++-----
|
|
2 files changed, 36 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
|
|
index 2ad2397348e8..e90c32066b0e 100644
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -1331,6 +1331,29 @@ Params: rotary0_pin_a GPIO connected to rotary encoder channel A
|
|
(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
|
|
diff --git a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts
|
|
index c0c6bccff60c..f88f8a39d9a2 100644
|
|
--- 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";
|
|
};
|
|
};
|
|
--
|
|
2.16.1
|
|
|