a80d2a5cc2f20c31e9320542f1d427214f13ac4f
[openwrt/svn-archive/archive.git] / target / linux / brcm2708 / patches-4.4 / 0106-dts-Added-overlay-for-gpio_ir_recv-driver.patch
1 From d85c99545b883d49484f834b191472f079badc0e 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 106/156] 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 | 18 ++++++++++-
9 arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 45 ++++++++++++++++++++++++++
10 3 files changed, 63 insertions(+), 1 deletion(-)
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 @@ -16,6 +16,7 @@ dtb-$(RPI_DT_OVERLAYS) += ads7846-overla
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 @@ -196,6 +196,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: dtoverlay=gpio-poweroff,<param>=<val>
48 @@ -308,7 +324,7 @@ Params: <None>
49 Name: lirc-rpi
50 Info: Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)
51 Consult the module documentation for more details.
52 -Load: dtoverlay=lirc-rpi,<param>=<val>,...
53 +Load: dtoverlay=lirc-rpi,<param>=<val>
54 Params: gpio_out_pin GPIO for output (default "17")
55
56 gpio_in_pin GPIO for input (default "18")
57 --- /dev/null
58 +++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts
59 @@ -0,0 +1,45 @@
60 +// Definitions for ir-gpio module
61 +/dts-v1/;
62 +/plugin/;
63 +
64 +/ {
65 + compatible = "brcm,bcm2708";
66 +
67 + fragment@0 {
68 + target-path = "/";
69 + __overlay__ {
70 + gpio_ir: ir-receiver {
71 + compatible = "gpio-ir-receiver";
72 +
73 + // pin number, high or low
74 + gpios = <&gpio 18 1>;
75 +
76 + // parameter for keymap name
77 + linux,rc-map-name = "rc-rc6-mce";
78 +
79 + status = "okay";
80 + };
81 + };
82 + };
83 +
84 + fragment@1 {
85 + target = <&gpio>;
86 + __overlay__ {
87 + gpio_ir_pins: gpio_ir_pins {
88 + brcm,pins = <18>; // pin 18
89 + brcm,function = <0>; // in
90 + brcm,pull = <1>; // down
91 + };
92 + };
93 + };
94 +
95 + __overrides__ {
96 + // parameters
97 + gpio_pin = <&gpio_ir>,"gpios:4",
98 + <&gpio_ir_pins>,"brcm,pins:0",
99 + <&gpio_ir_pins>,"brcm,pull:0"; // pin number
100 + gpio_pull = <&gpio_ir_pins>,"brcm,pull:0"; // pull-up/down state
101 +
102 + rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map
103 + };
104 +};