diff options
author | Ray Jui <rjui@broadcom.com> | 2015-12-04 12:35:00 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2015-12-07 11:39:19 -0500 |
commit | c7bd48195377435ecaf38869b936be8e7abe3489 (patch) | |
tree | 98be2704cdd7d0772d8d9ddd22099ebbad0f0996 /Documentation | |
parent | 943ebae781f519ecfecbfa1b997f15f59116e41d (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.txt | 35 |
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 |
36 | increase the outbound window size | 36 | increase the outbound window size |
37 | 37 | ||
38 | MSI support (optional): | ||
39 | |||
40 | For older platforms without MSI integrated in the GIC, iProc PCIe core provides | ||
41 | an event queue based MSI support. The iProc MSI uses host memories to store | ||
42 | MSI posted writes in the event queues | ||
43 | |||
44 | - msi-parent: Link to the device node of the MSI controller. On newer iProc | ||
45 | platforms, the MSI controller may be gicv2m or gicv3-its. On older iProc | ||
46 | platforms without MSI support in its interrupt controller, one may use the | ||
47 | event queue based MSI support integrated within the iProc PCIe core. | ||
48 | |||
49 | When the iProc event queue based MSI is used, one needs to define the | ||
50 | following 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 | |||
56 | Optional properties: | ||
57 | - brcm,pcie-msi-inten: Needs to be present for some older iProc platforms that | ||
58 | require the interrupt enable registers to be set explicitly to enable MSI | ||
59 | |||
38 | Example: | 60 | Example: |
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 { |