From cec1ff47b5620710d7f467d71d38458687fbfa8f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 20 Feb 2018 17:36:21 +0100 Subject: [PATCH 245/277] overlays: Add overlay for missing AUX interrupt controller support (#2391) Upstream Linux today does not support the AUX interrupt controller yet. To make sure it can use our device tree, add an overlay that reverts it to something upstream understands again. See: https://github.com/raspberrypi/firmware/issues/943 Signed-off-by: Alexander Graf --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 7 +++++ .../overlays/upstream-aux-interrupt-overlay.dts | 33 ++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile index a4c5b740bf74..fd5698cb4092 100644 --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -122,6 +122,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ tinylcd35.dtbo \ uart0.dtbo \ uart1.dtbo \ + upstream-aux-interrupt.dtbo \ vc4-fkms-v3d.dtbo \ vc4-kms-v3d.dtbo \ vga666.dtbo \ diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index be63795ad5ef..5d5167169d43 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -1721,6 +1721,13 @@ Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14) rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15) +Name: upstream-aux-interrupt +Info: Allow usage of downstream .dtb with upstream kernel by binding AUX + devices directly to the shared AUX interrupt line. +Load: dtoverlay=upstream-aux-interrupt +Params: + + Name: vc4-fkms-v3d Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx display stack. diff --git a/arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts b/arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts new file mode 100644 index 000000000000..04e271b72a3a --- /dev/null +++ b/arch/arm/boot/dts/overlays/upstream-aux-interrupt-overlay.dts @@ -0,0 +1,33 @@ +// Overlay for missing AUX interrupt controller +// Instead we bind all AUX devices to the generic AUX interrupt line +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&uart1>; + __overlay__ { + interrupt-parent = <&intc>; + interrupts = <0x1 0x1d>; + }; + }; + + fragment@1 { + target = <&spi1>; + __overlay__ { + interrupt-parent = <&intc>; + interrupts = <0x1 0x1d>; + }; + }; + + fragment@2 { + target = <&spi2>; + __overlay__ { + interrupt-parent = <&intc>; + interrupts = <0x1 0x1d>; + }; + }; +}; + -- 2.16.1