a43e79f71f03b87f3ec1c56921dd2e6a82eb1b0d
[openwrt/staging/dangole.git] /
1 From 8134311059a478a79f7c9c9d08163bafa972fd39 Mon Sep 17 00:00:00 2001
2 From: Alexander Graf <agraf@suse.de>
3 Date: Tue, 20 Feb 2018 17:36:21 +0100
4 Subject: [PATCH 226/454] overlays: Add overlay for missing AUX interrupt
5 controller support (#2391)
6
7 Upstream Linux today does not support the AUX interrupt controller
8 yet. To make sure it can use our device tree, add an overlay that
9 reverts it to something upstream understands again.
10
11 See: https://github.com/raspberrypi/firmware/issues/943
12
13 Signed-off-by: Alexander Graf <agraf@suse.de>
14 ---
15 arch/arm/boot/dts/overlays/Makefile | 1 +
16 arch/arm/boot/dts/overlays/README | 7 ++++
17 .../upstream-aux-interrupt-overlay.dts | 33 +++++++++++++++++++
18 3 files changed, 41 insertions(+)
19 create mode 100644 arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts
20
21 --- a/arch/arm/boot/dts/overlays/Makefile
22 +++ b/arch/arm/boot/dts/overlays/Makefile
23 @@ -122,6 +122,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
24 tinylcd35.dtbo \
25 uart0.dtbo \
26 uart1.dtbo \
27 + upstream-aux-interrupt.dtbo \
28 vc4-fkms-v3d.dtbo \
29 vc4-kms-v3d.dtbo \
30 vga666.dtbo \
31 --- a/arch/arm/boot/dts/overlays/README
32 +++ b/arch/arm/boot/dts/overlays/README
33 @@ -1721,6 +1721,13 @@ Params: txd1_pin GPIO pin
34 rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
35
36
37 +Name: upstream-aux-interrupt
38 +Info: Allow usage of downstream .dtb with upstream kernel by binding AUX
39 + devices directly to the shared AUX interrupt line.
40 +Load: dtoverlay=upstream-aux-interrupt
41 +Params: <None>
42 +
43 +
44 Name: vc4-fkms-v3d
45 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
46 display stack.
47 --- /dev/null
48 +++ b/arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts
49 @@ -0,0 +1,33 @@
50 +// Overlay for missing AUX interrupt controller
51 +// Instead we bind all AUX devices to the generic AUX interrupt line
52 +/dts-v1/;
53 +/plugin/;
54 +
55 +/ {
56 + compatible = "brcm,bcm2708";
57 +
58 + fragment@0 {
59 + target = <&uart1>;
60 + __overlay__ {
61 + interrupt-parent = <&intc>;
62 + interrupts = <0x1 0x1d>;
63 + };
64 + };
65 +
66 + fragment@1 {
67 + target = <&spi1>;
68 + __overlay__ {
69 + interrupt-parent = <&intc>;
70 + interrupts = <0x1 0x1d>;
71 + };
72 + };
73 +
74 + fragment@2 {
75 + target = <&spi2>;
76 + __overlay__ {
77 + interrupt-parent = <&intc>;
78 + interrupts = <0x1 0x1d>;
79 + };
80 + };
81 +};
82 +