1 // Device tree overlay for GPIO connected rotary encoder.
6 compatible = "brcm,bcm2835";
11 rotary_pins: rotary_pins@4 {
12 brcm,pins = <4 17>; /* gpio 4 17 */
13 brcm,function = <0 0>; /* input */
14 brcm,pull = <2 2>; /* pull-up */
24 compatible = "rotary-encoder";
26 pinctrl-names = "default";
27 pinctrl-0 = <&rotary_pins>;
28 gpios = <&gpio 4 0>, <&gpio 17 0>;
29 linux,axis = <0>; /* REL_X */
30 rotary-encoder,encoding = "gray";
31 rotary-encoder,steps = <24>; /* 24 default */
32 rotary-encoder,steps-per-period = <1>; /* corresponds to full period mode. See README */
39 pin_a = <&rotary>,"gpios:4",
40 <&rotary_pins>,"brcm,pins:0",
41 /* modify reg values to allow multiple instantiation */
43 <&rotary_pins>,"reg:0";
44 pin_b = <&rotary>,"gpios:16",
45 <&rotary_pins>,"brcm,pins:4";
46 relative_axis = <&rotary>,"rotary-encoder,relative-axis?";
47 linux_axis = <&rotary>,"linux,axis:0";
48 rollover = <&rotary>,"rotary-encoder,rollover?";
49 steps-per-period = <&rotary>,"rotary-encoder,steps-per-period:0";
50 steps = <&rotary>,"rotary-encoder,steps:0";
51 wakeup = <&rotary>,"wakeup-source?";
52 encoding = <&rotary>,"rotary-encoder,encoding";
53 /* legacy parameters*/
54 rotary0_pin_a = <&rotary>,"gpios:4",
55 <&rotary_pins>,"brcm,pins:0";
56 rotary0_pin_b = <&rotary>,"gpios:16",
57 <&rotary_pins>,"brcm,pins:4";