aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRay Jui <rjui@broadcom.com>2015-12-04 12:35:00 -0500
committerBjorn Helgaas <bhelgaas@google.com>2015-12-07 11:39:19 -0500
commitc7bd48195377435ecaf38869b936be8e7abe3489 (patch)
tree98be2704cdd7d0772d8d9ddd22099ebbad0f0996 /Documentation
parent943ebae781f519ecfecbfa1b997f15f59116e41d (diff)
PCI: iproc: Add iProc PCIe MSI device tree binding
Update the iProc PCIe device tree bindings with added binding information for MSI. Signed-off-by: Ray Jui <rjui@broadcom.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Anup Patel <anup.patel@broadcom.com> Reviewed-by: Vikram Prakash <vikramp@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt35
1 files changed, 35 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt
index 4c5beaa5436a..01b88f4e0d5b 100644
--- a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt
@@ -35,6 +35,28 @@ Optional:
35- brcm,pcie-ob-oarr-size: Some iProc SoCs need the OARR size bit to be set to 35- brcm,pcie-ob-oarr-size: Some iProc SoCs need the OARR size bit to be set to
36increase the outbound window size 36increase the outbound window size
37 37
38MSI support (optional):
39
40For older platforms without MSI integrated in the GIC, iProc PCIe core provides
41an event queue based MSI support. The iProc MSI uses host memories to store
42MSI posted writes in the event queues
43
44- msi-parent: Link to the device node of the MSI controller. On newer iProc
45platforms, the MSI controller may be gicv2m or gicv3-its. On older iProc
46platforms without MSI support in its interrupt controller, one may use the
47event queue based MSI support integrated within the iProc PCIe core.
48
49When the iProc event queue based MSI is used, one needs to define the
50following properties in the MSI device node:
51- compatible: Must be "brcm,iproc-msi"
52- msi-controller: claims itself as an MSI controller
53- interrupt-parent: Link to its parent interrupt device
54- interrupts: List of interrupt IDs from its parent interrupt device
55
56Optional properties:
57- brcm,pcie-msi-inten: Needs to be present for some older iProc platforms that
58require the interrupt enable registers to be set explicitly to enable MSI
59
38Example: 60Example:
39 pcie0: pcie@18012000 { 61 pcie0: pcie@18012000 {
40 compatible = "brcm,iproc-pcie"; 62 compatible = "brcm,iproc-pcie";
@@ -61,6 +83,19 @@ Example:
61 brcm,pcie-ob-oarr-size; 83 brcm,pcie-ob-oarr-size;
62 brcm,pcie-ob-axi-offset = <0x00000000>; 84 brcm,pcie-ob-axi-offset = <0x00000000>;
63 brcm,pcie-ob-window-size = <256>; 85 brcm,pcie-ob-window-size = <256>;
86
87 msi-parent = <&msi0>;
88
89 /* iProc event queue based MSI */
90 msi0: msi@18012000 {
91 compatible = "brcm,iproc-msi";
92 msi-controller;
93 interrupt-parent = <&gic>;
94 interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>,
95 <GIC_SPI 97 IRQ_TYPE_NONE>,
96 <GIC_SPI 98 IRQ_TYPE_NONE>,
97 <GIC_SPI 99 IRQ_TYPE_NONE>,
98 };
64 }; 99 };
65 100
66 pcie1: pcie@18013000 { 101 pcie1: pcie@18013000 {