-
Notifications
You must be signed in to change notification settings - Fork 4.9k
/
rotary-encoder-overlay.dts
51 lines (45 loc) · 1.41 KB
/
rotary-encoder-overlay.dts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Device tree overlay for GPIO connected rotary encoder.
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2708";
fragment@0 {
target = <&gpio>;
__overlay__ {
rotary0_pins: rotary0_pins {
brcm,pins = <4 17>; /* gpio 4 17 */
brcm,function = <0 0>; /* input */
brcm,pull = <2 2>; /* pull-up */
};
};
};
fragment@1 {
target-path = "/";
__overlay__ {
rotary0: rotary@0 {
compatible = "rotary-encoder";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&rotary0_pins>;
gpios = <&gpio 4 0>, <&gpio 17 0>;
linux,axis = <0>; /* REL_X */
rotary-encoder,encoding = "gray";
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";
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";
};
};