diff options
author | Murali Karicheri <m-karicheri2@ti.com> | 2014-09-02 19:26:19 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-09-04 16:58:21 -0400 |
commit | 0c4ffcfe1fbc1ef564ec137eab21137cb013b00e (patch) | |
tree | 7fd579110fe115867f30078da7d76d4694e70e41 /Documentation/devicetree/bindings/pci | |
parent | b14a3d1784a9252aa3bbe0bb9d14588be32f18a1 (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.txt | 68 |
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 @@ | |||
1 | TI Keystone PCIe interface | ||
2 | |||
3 | Keystone PCI host Controller is based on Designware PCI h/w version 3.65. | ||
4 | It shares common functions with PCIe Designware core driver and inherit | ||
5 | common properties defined in | ||
6 | Documentation/devicetree/bindings/pci/designware-pci.txt | ||
7 | |||
8 | Please refer to Documentation/devicetree/bindings/pci/designware-pci.txt | ||
9 | for the details of Designware DT bindings. Additional properties are | ||
10 | described here as well as properties that are not applicable. | ||
11 | |||
12 | Required Properties:- | ||
13 | |||
14 | compatibility: "ti,keystone-pcie" | ||
15 | reg: 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 | |||
20 | pcie_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 | |||
40 | pcie_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 | |||
56 | Optional 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 | |||
62 | Designware DT Properties not applicable for Keystone PCI | ||
63 | |||
64 | 1. pcie_bus clock-names not used. Instead, a phandle to phys is used. | ||
65 | |||
66 | Note for PCI driver usage | ||
67 | ========================= | ||
68 | Driver requires pci=pcie_bus_perf in the bootargs for proper functioning. | ||