aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2015-12-02 15:24:53 +0000
committerHauke Mehrtens <hauke@openwrt.org>2015-12-02 15:24:53 +0000
commit12ef4b090dc358eb905259dc12dda25b042b6687 (patch)
tree1640fa9a739148aedcee8ec9c0497752cba2a333 /target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch
parent8fdb4d2eaa72125879fb3e05ede6913a3733f86a (diff)
downloadmaster-187ad058-12ef4b090dc358eb905259dc12dda25b042b6687.tar.gz
master-187ad058-12ef4b090dc358eb905259dc12dda25b042b6687.tar.bz2
master-187ad058-12ef4b090dc358eb905259dc12dda25b042b6687.zip
bcm53xx: update PCIe driver
This updates the iProc PCIe driver to the version currently submitted for kernel 4.5. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47688 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch')
-rw-r--r--target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch b/target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch
new file mode 100644
index 0000000000..f0b0031237
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.3/152-PCI-iproc-Add-iProc-PCIe-MSI-device-tree-binding.patch
@@ -0,0 +1,67 @@
+From 96b40de5e36ec479dabb88500f1830a87818a809 Mon Sep 17 00:00:00 2001
+From: Ray Jui <rjui@broadcom.com>
+Date: Mon, 16 Nov 2015 17:57:33 -0800
+Subject: [PATCH 152/154] PCI: iproc: Add iProc PCIe MSI device tree binding
+
+This patch updates the iProc PCIe device tree bindings with added
+binding information for MSI
+
+Signed-off-by: Ray Jui <rjui@broadcom.com>
+Reviewed-by: Anup Patel <anup.patel@broadcom.com>
+Reviewed-by: Vikram Prakash <vikramp@broadcom.com>
+Reviewed-by: Scott Branden <sbranden@broadcom.com>
+---
+ .../devicetree/bindings/pci/brcm,iproc-pcie.txt | 35 ++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+--- a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt
++++ b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt
+@@ -35,6 +35,28 @@ Optional:
+ - brcm,pcie-ob-oarr-size: Some iProc SoCs need the OARR size bit to be set to
+ increase the outbound window size
+
++MSI support (optional):
++
++For older platforms without MSI integrated in the GIC, iProc PCIe core provides
++an event queue based MSI support. The iProc MSI uses host memories to store
++MSI posted writes in the event queues
++
++- msi-parent: Link to the device node of the MSI controller. On newer iProc
++platforms, the MSI controller may be gicv2m or gicv3-its. On older iProc
++platforms without MSI support in its interrupt controller, one may use the
++event queue based MSI support integrated within the iProc PCIe core
++
++When the iProc event queue based MSI is used, one needs to define the
++following properties in the MSI device node:
++- compatible: Must be "brcm,iproc-msi"
++- msi-controller: claims itself as an MSI controller
++- interrupt-parent: Link to its parent interrupt device
++- interrupts: List of interrupt IDs from its parent interrupt device
++
++Optional properties:
++- brcm,pcie-msi-inten: Needs to be present for some older iProc platforms that
++require the interrupt enable registers to be set explicitly to enable MSI
++
+ Example:
+ pcie0: pcie@18012000 {
+ compatible = "brcm,iproc-pcie";
+@@ -61,6 +83,19 @@ Example:
+ brcm,pcie-ob-oarr-size;
+ brcm,pcie-ob-axi-offset = <0x00000000>;
+ brcm,pcie-ob-window-size = <256>;
++
++ msi-parent = <&msi0>;
++
++ /* iProc event queue based MSI */
++ msi0: msi@18012000 {
++ compatible = "brcm,iproc-msi";
++ msi-controller;
++ interrupt-parent = <&gic>;
++ interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>,
++ <GIC_SPI 97 IRQ_TYPE_NONE>,
++ <GIC_SPI 98 IRQ_TYPE_NONE>,
++ <GIC_SPI 99 IRQ_TYPE_NONE>,
++ };
+ };
+
+ pcie1: pcie@18013000 {