Skip to content

Commit f17a6f7

Browse files
committed
Merge tag 'pci-v3.17-changes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI changes from Bjorn Helgaas: "Marvell MVEBU - Remove ARCH_KIRKWOOD dependency (Andrew Lunn) NVIDIA Tegra - Add debugfs support (Thierry Reding) Synopsys DesignWare - Look for configuration space in 'reg', not 'ranges' (Kishon Vijay Abraham I) - Program ATU with untranslated address (Kishon Vijay Abraham I) - Add config access-related pcie_host_ops for v3.65 hardware (Murali Karicheri) - Add MSI-related pcie_host_ops for v3.65 hardware (Murali Karicheri) TI DRA7xx - Add TI DR7xx PCIe driver (Kishon Vijay Abraham I)" * tag 'pci-v3.17-changes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI: designware: Add MSI-related pcie_host_ops for v3.65 hardware PCI: designware: Add config access-related pcie_host_ops for v3.65 hardware PCI: dra7xx: Add TI DRA7xx PCIe driver PCI: designware: Program ATU with untranslated address PCI: designware: Look for configuration space in 'reg', not 'ranges' PCI: tegra: Add debugfs support PCI: mvebu: Remove ARCH_KIRKWOOD dependency
2 parents 7ac0bbf + 981c191 commit f17a6f7

File tree

9 files changed

+771
-33
lines changed

9 files changed

+771
-33
lines changed

Documentation/devicetree/bindings/pci/designware-pcie.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
Required properties:
44
- compatible: should contain "snps,dw-pcie" to identify the core.
5+
- reg: Should contain the configuration address space.
6+
- reg-names: Must be "config" for the PCIe configuration space.
7+
(The old way of getting the configuration address space from "ranges"
8+
is deprecated and should be avoided.)
59
- #address-cells: set to <3>
610
- #size-cells: set to <2>
711
- device_type: set to "pci"
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
TI PCI Controllers
2+
3+
PCIe Designware Controller
4+
- compatible: Should be "ti,dra7-pcie""
5+
- reg : Two register ranges as listed in the reg-names property
6+
- reg-names : The first entry must be "ti-conf" for the TI specific registers
7+
The second entry must be "rc-dbics" for the designware pcie
8+
registers
9+
The third entry must be "config" for the PCIe configuration space
10+
- phys : list of PHY specifiers (used by generic PHY framework)
11+
- phy-names : must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the
12+
number of PHYs as specified in *phys* property.
13+
- ti,hwmods : Name of the hwmod associated to the pcie, "pcie<X>",
14+
where <X> is the instance number of the pcie from the HW spec.
15+
- interrupts : Two interrupt entries must be specified. The first one is for
16+
main interrupt line and the second for MSI interrupt line.
17+
- #address-cells,
18+
#size-cells,
19+
#interrupt-cells,
20+
device_type,
21+
ranges,
22+
num-lanes,
23+
interrupt-map-mask,
24+
interrupt-map : as specified in ../designware-pcie.txt
25+
26+
Example:
27+
axi {
28+
compatible = "simple-bus";
29+
#size-cells = <1>;
30+
#address-cells = <1>;
31+
ranges = <0x51000000 0x51000000 0x3000
32+
0x0 0x20000000 0x10000000>;
33+
pcie@51000000 {
34+
compatible = "ti,dra7-pcie";
35+
reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
36+
reg-names = "rc_dbics", "ti_conf", "config";
37+
interrupts = <0 232 0x4>, <0 233 0x4>;
38+
#address-cells = <3>;
39+
#size-cells = <2>;
40+
device_type = "pci";
41+
ranges = <0x81000000 0 0 0x03000 0 0x00010000
42+
0x82000000 0 0x20013000 0x13000 0 0xffed000>;
43+
#interrupt-cells = <1>;
44+
num-lanes = <1>;
45+
ti,hwmods = "pcie1";
46+
phys = <&pcie1_phy>;
47+
phy-names = "pcie-phy0";
48+
interrupt-map-mask = <0 0 0 7>;
49+
interrupt-map = <0 0 0 1 &pcie_intc 1>,
50+
<0 0 0 2 &pcie_intc 2>,
51+
<0 0 0 3 &pcie_intc 3>,
52+
<0 0 0 4 &pcie_intc 4>;
53+
pcie_intc: interrupt-controller {
54+
interrupt-controller;
55+
#address-cells = <0>;
56+
#interrupt-cells = <1>;
57+
};
58+
};
59+
};

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6858,6 +6858,14 @@ S: Supported
68586858
F: Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
68596859
F: drivers/pci/host/pci-tegra.c
68606860

6861+
PCI DRIVER FOR TI DRA7XX
6862+
M: Kishon Vijay Abraham I <kishon@ti.com>
6863+
L: linux-omap@vger.kernel.org
6864+
L: linux-pci@vger.kernel.org
6865+
S: Supported
6866+
F: Documentation/devicetree/bindings/pci/ti-pci.txt
6867+
F: drivers/pci/host/pci-dra7xx.c
6868+
68616869
PCI DRIVER FOR RENESAS R-CAR
68626870
M: Simon Horman <horms@verge.net.au>
68636871
L: linux-pci@vger.kernel.org

drivers/pci/host/Kconfig

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
menu "PCI host controller drivers"
22
depends on PCI
33

4+
config PCI_DRA7XX
5+
bool "TI DRA7xx PCIe controller"
6+
select PCIE_DW
7+
depends on OF && HAS_IOMEM && TI_PIPE3
8+
help
9+
Enables support for the PCIe controller in the DRA7xx SoC. There
10+
are two instances of PCIe controller in DRA7xx. This controller can
11+
act both as EP and RC. This reuses the Designware core.
12+
413
config PCI_MVEBU
514
bool "Marvell EBU PCIe controller"
6-
depends on ARCH_MVEBU || ARCH_DOVE || ARCH_KIRKWOOD
15+
depends on ARCH_MVEBU || ARCH_DOVE
716
depends on OF
817

918
config PCIE_DW

drivers/pci/host/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
obj-$(CONFIG_PCIE_DW) += pcie-designware.o
2+
obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
23
obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
34
obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
45
obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o

0 commit comments

Comments
 (0)