aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pci
diff options
context:
space:
mode:
authorMurali Karicheri <m-karicheri2@ti.com>2014-09-02 19:26:19 -0400
committerBjorn Helgaas <bhelgaas@google.com>2014-09-04 16:58:21 -0400
commit0c4ffcfe1fbc1ef564ec137eab21137cb013b00e (patch)
tree7fd579110fe115867f30078da7d76d4694e70e41 /Documentation/devicetree/bindings/pci
parentb14a3d1784a9252aa3bbe0bb9d14588be32f18a1 (diff)
PCI: keystone: Add TI Keystone PCIe driver
The Keystone PCIe controller is based on v3.65 version of the Designware h/w. Main differences are: 1. No ATU support 2. Legacy and MSI IRQ functions are implemented in application register space 3. MSI interrupts are multiplexed over 8 IRQ lines to the Host side. All of the application register space handing code is organized into pci-keystone-dw.c and the functions are called from pci-keystone.c to implement PCI controller driver. Also add necessary DT documentation and update the MAINTAINERS file for the driver. [bhelgaas: spelling and whitespace fixes] Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> CC: Russell King <linux@arm.linux.org.uk> CC: Grant Likely <grant.likely@linaro.org> CC: Rob Herring <robh+dt@kernel.org> CC: Mohit Kumar <mohit.kumar@st.com> CC: Pratyush Anand <pratyush.anand@st.com> CC: Jingoo Han <jg1.han@samsung.com> CC: Richard Zhu <r65037@freescale.com> CC: Kishon Vijay Abraham I <kishon@ti.com> CC: Marek Vasut <marex@denx.de> CC: Arnd Bergmann <arnd@arndb.de> CC: Pawel Moll <pawel.moll@arm.com> CC: Mark Rutland <mark.rutland@arm.com> CC: Ian Campbell <ijc+devicetree@hellion.org.uk> CC: Kumar Gala <galak@codeaurora.org> CC: Randy Dunlap <rdunlap@infradead.org> CC: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'Documentation/devicetree/bindings/pci')
-rw-r--r--Documentation/devicetree/bindings/pci/pci-keystone.txt68
1 files changed, 68 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/pci-keystone.txt b/Documentation/devicetree/bindings/pci/pci-keystone.txt
new file mode 100644
index 000000000000..ceb3e2424742
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/pci-keystone.txt
@@ -0,0 +1,68 @@
1TI Keystone PCIe interface
2
3Keystone PCI host Controller is based on Designware PCI h/w version 3.65.
4It shares common functions with PCIe Designware core driver and inherit
5common properties defined in
6Documentation/devicetree/bindings/pci/designware-pci.txt
7
8Please refer to Documentation/devicetree/bindings/pci/designware-pci.txt
9for the details of Designware DT bindings. Additional properties are
10described here as well as properties that are not applicable.
11
12Required Properties:-
13
14compatibility: "ti,keystone-pcie"
15reg: index 1 is the base address and length of DW application registers.
16 index 2 is the base address and length of PCI mode configuration
17 register.
18 index 3 is the base address and length of PCI device ID register.
19
20pcie_msi_intc : Interrupt controller device node for MSI IRQ chip
21 interrupt-cells: should be set to 1
22 interrupt-parent: Parent interrupt controller phandle
23 interrupts: GIC interrupt lines connected to PCI MSI interrupt lines
24
25 Example:
26 pcie_msi_intc: msi-interrupt-controller {
27 interrupt-controller;
28 #interrupt-cells = <1>;
29 interrupt-parent = <&gic>;
30 interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
31 <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>,
32 <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,
33 <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,
34 <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
35 <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
36 <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
37 <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>;
38 };
39
40pcie_intc: Interrupt controller device node for Legacy IRQ chip
41 interrupt-cells: should be set to 1
42 interrupt-parent: Parent interrupt controller phandle
43 interrupts: GIC interrupt lines connected to PCI Legacy interrupt lines
44
45 Example:
46 pcie_intc: legacy-interrupt-controller {
47 interrupt-controller;
48 #interrupt-cells = <1>;
49 interrupt-parent = <&gic>;
50 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>,
51 <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>,
52 <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>,
53 <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
54 };
55
56Optional properties:-
57 phys: phandle to Generic Keystone SerDes phy for PCI
58 phy-names: name of the Generic Keystine SerDes phy for PCI
59 - If boot loader already does PCI link establishment, then phys and
60 phy-names shouldn't be present.
61
62Designware DT Properties not applicable for Keystone PCI
63
641. pcie_bus clock-names not used. Instead, a phandle to phys is used.
65
66Note for PCI driver usage
67=========================
68Driver requires pci=pcie_bus_perf in the bootargs for proper functioning.