brcm2708: update 4.1 patches
[openwrt/svn-archive/archive.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 +};