a43e79f71f03b87f3ec1c56921dd2e6a82eb1b0d
[oweals/openwrt.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 +