mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +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
 | 
						|
 |