brcm2708: update 4.1 patches
[openwrt.git] / target / linux / brcm2708 / patches-4.1 / 0217-dts-Added-overlay-for-gpio_ir_recv-driver.patch
1 From a325b7215cef646853a7a2b6d338fb2e9da78def Mon Sep 17 00:00:00 2001
2 From: Holger Steinhaus <hsteinhaus@gmx.de>
3 Date: Sat, 14 Nov 2015 18:37:43 +0100
4 Subject: [PATCH 217/222] dts: Added overlay for gpio_ir_recv driver
5
6 ---
7  arch/arm/boot/dts/overlays/Makefile            |  1 +
8  arch/arm/boot/dts/overlays/README              | 16 +++++++++
9  arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 45 ++++++++++++++++++++++++++
10  3 files changed, 62 insertions(+)
11  create mode 100644 arch/arm/boot/dts/overlays/gpio-ir-overlay.dts
12
13 --- a/arch/arm/boot/dts/overlays/Makefile
14 +++ b/arch/arm/boot/dts/overlays/Makefile
15 @@ -17,6 +17,7 @@ dtb-$(RPI_DT_OVERLAYS) += at86rf233-over
16  dtb-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor-overlay.dtb
17  dtb-$(RPI_DT_OVERLAYS) += dht11-overlay.dtb
18  dtb-$(RPI_DT_OVERLAYS) += enc28j60-overlay.dtb
19 +dtb-$(RPI_DT_OVERLAYS) += gpio-ir-overlay.dtb
20  dtb-$(RPI_DT_OVERLAYS) += gpio-poweroff-overlay.dtb
21  dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-overlay.dtb
22  dtb-$(RPI_DT_OVERLAYS) += hifiberry-dac-overlay.dtb
23 --- a/arch/arm/boot/dts/overlays/README
24 +++ b/arch/arm/boot/dts/overlays/README
25 @@ -209,6 +209,22 @@ Params: int_pin                  GPIO us
26          speed                    SPI bus speed (default 12000000)
27  
28  
29 +Name:   gpio-ir
30 +Info:   Use GPIO pin as rc-core style infrared receiver input. The rc-core-
31 +        based gpio_ir_recv driver maps received keys directly to a
32 +        /dev/input/event* device, all decoding is done by the kernel - LIRC is
33 +        not required! The key mapping and other decoding parameters can be
34 +        configured by "ir-keytable" tool.
35 +Load:   dtoverlay=gpio-ir,<param>=<val>
36 +Params: gpio_pin                 Input pin number. Default is 18.
37 +
38 +        gpio_pull                Desired pull-up/down state (off, down, up)
39 +                                 Default is "down".
40 +
41 +        rc-map-name              Default rc keymap (can also be changed by
42 +                                 ir-keytable), defaults to "rc-rc6-mce"
43 +
44 +
45  Name:   gpio-poweroff
46  Info:   Drives a GPIO high or low on reboot
47  Load:   gpio-poweroff,<param>=<val>
48 --- /dev/null
49 +++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts
50 @@ -0,0 +1,45 @@
51 +// Definitions for ir-gpio module
52 +/dts-v1/;
53 +/plugin/;
54 +
55 +/ {
56 +        compatible = "brcm,bcm2708";
57 +
58 +        fragment@0 {
59 +                target-path = "/";
60 +                __overlay__ {
61 +                        gpio_ir: ir-receiver {
62 +                                compatible = "gpio-ir-receiver";
63 +
64 +                                // pin number, high or low
65 +                                gpios = <&gpio 18 1>;
66 +
67 +                                // parameter for keymap name
68 +                                linux,rc-map-name = "rc-rc6-mce";
69 +
70 +                                status = "okay";
71 +                        };
72 +                };
73 +        };
74 +
75 +        fragment@1 {
76 +                target = <&gpio>;
77 +                __overlay__ {
78 +                        gpio_ir_pins: gpio_ir_pins {
79 +                                brcm,pins = <18>;                       // pin 18
80 +                                brcm,function = <0>;                    // in
81 +                                brcm,pull = <1>;                        // down
82 +                        };
83 +                };
84 +        };
85 +
86 +        __overrides__ {
87 +                // parameters
88 +                gpio_pin =      <&gpio_ir>,"gpios:4",
89 +                                        <&gpio_ir_pins>,"brcm,pins:0",
90 +                                        <&gpio_ir_pins>,"brcm,pull:0";  // pin number
91 +                gpio_pull = <&gpio_ir_pins>,"brcm,pull:0";              // pull-up/down state
92 +
93 +                rc-map-name = <&gpio_ir>,"linux,rc-map-name";           // default rc map
94 +        };
95 +};