diff --git a/core/linux-aarch64-rc/0001-arm64-dts-qcom-Fix-broken-interrupt-trigger-settings.patch b/core/linux-aarch64-rc/0001-arm64-dts-qcom-Fix-broken-interrupt-trigger-settings.patch new file mode 100644 index 000000000..3aa8743b3 --- /dev/null +++ b/core/linux-aarch64-rc/0001-arm64-dts-qcom-Fix-broken-interrupt-trigger-settings.patch @@ -0,0 +1,77 @@ +From 162ae1d7fdcd03d424a27fa726ca76b2effd4f8c Mon Sep 17 00:00:00 2001 +From: Marc Zyngier +Date: Thu, 11 Aug 2016 18:50:50 +0100 +Subject: [PATCH] arm64: dts: qcom: Fix broken interrupt trigger settings + +When a device uses the GIC as its interrupt controller and generates +SPIs, only the values 1 (edge rising) and 4 (level high) are legal. + +Anything else is just plain wrong (can't be programmed into the HW), +and leads to aborted driver probes (USB doesn't work with 4.8-rc1 +on a Dragonboard 410C). + +Signed-off-by: Marc Zyngier +Reviewed-by: Stephen Boyd +--- + arch/arm64/boot/dts/qcom/msm8916.dtsi | 10 +++++----- + arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi +index 11bdc24..b010d33 100644 +--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi ++++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi +@@ -483,7 +483,7 @@ + compatible = "qcom,ci-hdrc"; + reg = <0x78d9000 0x400>; + dr_mode = "peripheral"; +- interrupts = ; ++ interrupts = ; + usb-phy = <&usb_otg>; + status = "disabled"; + }; +@@ -491,7 +491,7 @@ + usb_host: ehci@78d9000 { + compatible = "qcom,ehci-host"; + reg = <0x78d9000 0x400>; +- interrupts = ; ++ interrupts = ; + usb-phy = <&usb_otg>; + status = "disabled"; + }; +@@ -499,8 +499,8 @@ + usb_otg: phy@78d9000 { + compatible = "qcom,usb-otg-snps"; + reg = <0x78d9000 0x400>; +- interrupts = , +- ; ++ interrupts = , ++ ; + + qcom,vdd-levels = <500000 1000000 1320000>; + qcom,phy-init-sequence = <0x44 0x6B 0x24 0x13>; +@@ -594,7 +594,7 @@ + <0x200a000 0x002100>; + reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; + interrupt-names = "periph_irq"; +- interrupts = ; ++ interrupts = ; + qcom,ee = <0>; + qcom,channel = <0>; + #address-cells = <2>; +diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi +index 55ec3e8..69ed6e1 100644 +--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi ++++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi +@@ -339,7 +339,7 @@ + <0x400a000 0x002100>; + reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; + interrupt-names = "periph_irq"; +- interrupts = ; ++ interrupts = ; + qcom,ee = <0>; + qcom,channel = <0>; + #address-cells = <2>; +-- +2.9.3 + diff --git a/core/linux-aarch64-rc/PKGBUILD b/core/linux-aarch64-rc/PKGBUILD index 3c293afa9..b0248aa82 100644 --- a/core/linux-aarch64-rc/PKGBUILD +++ b/core/linux-aarch64-rc/PKGBUILD @@ -12,7 +12,7 @@ _srcname=linux-4.$((${_rcver##*.}-1)) _kernelname=${pkgbase#linux} _desc="AArch64 multi-platform (release candidate)" pkgver=${_rcver}.rc${_rcrel} -pkgrel=1 +pkgrel=2 arch=('aarch64') url="http://www.kernel.org/" license=('GPL2') @@ -21,10 +21,12 @@ options=('!strip') source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" "https://www.kernel.org/pub/linux/kernel/v4.x/testing/patch-${_rcver}-rc${_rcrel}.xz" #"https://www.kernel.org/pub/linux/kernel/v4.x/testing/${_srcname}.tar.xz" + '0001-arm64-dts-qcom-Fix-broken-interrupt-trigger-settings.patch' 'config' 'linux.preset') md5sums=('5276563eb1f39a048e4a8a887408c031' 'fa0b8dbf79226c52cf0e97bb316bf769' + '395e261e50cb231cb6377efdb06a8171' '4bfc0807368b3d1b9d4a5860159cd01a' '25d8f6983c9a616946848c0e075a949c') @@ -34,6 +36,9 @@ prepare() { # add upstream patch patch -sp1 -i ../patch-${_rcver}-rc${_rcrel} + # ALARM patches + git apply ../0001-arm64-dts-qcom-Fix-broken-interrupt-trigger-settings.patch + cat "${srcdir}/config" > ./.config # add pkgrel to extraversion