aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKishon Vijay Abraham I2017-01-06 06:52:48 -0600
committerKishon Vijay Abraham I2017-02-15 04:15:29 -0600
commitd94435ef76f823b0a501067df50464913785c3fa (patch)
tree958e246da4ba9726ae57f63378ffe758d1970e1b
parent868d5ff4dd2958cae45aee27018792089b04dbd9 (diff)
downloadlinux-phy-d94435ef76f823b0a501067df50464913785c3fa.tar.gz
linux-phy-d94435ef76f823b0a501067df50464913785c3fa.tar.xz
linux-phy-d94435ef76f823b0a501067df50464913785c3fa.zip
PCI: Move DesignWare IP support to new drivers/pci/dwc/ directory
Group all the PCI drivers that use DesignWare core in dwc directory. dwc IP is capable of operating in both host mode and device mode and keeping it inside the *host* directory is misleading. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jingoo Han <jingoohan1@gmail.com> Acked-By: Joao Pinto <jpinto@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Minghuan Lian <minghuan.Lian@freescale.com> Cc: Mingkai Hu <mingkai.hu@freescale.com> Cc: Roy Zang <tie-fei.zang@freescale.com> Cc: Richard Zhu <hongxing.zhu@nxp.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Murali Karicheri <m-karicheri2@ti.com> Cc: Pratyush Anand <pratyush.anand@gmail.com> Cc: Niklas Cassel <niklas.cassel@axis.com> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Cc: Zhou Wang <wangzhou1@hisilicon.com> Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com> Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
-rw-r--r--MAINTAINERS22
-rw-r--r--drivers/pci/Kconfig1
-rw-r--r--drivers/pci/Makefile3
-rw-r--r--drivers/pci/dwc/Kconfig117
-rw-r--r--drivers/pci/dwc/Makefile23
-rw-r--r--drivers/pci/dwc/pci-dra7xx.c (renamed from drivers/pci/host/pci-dra7xx.c)0
-rw-r--r--drivers/pci/dwc/pci-exynos.c (renamed from drivers/pci/host/pci-exynos.c)0
-rw-r--r--drivers/pci/dwc/pci-imx6.c (renamed from drivers/pci/host/pci-imx6.c)0
-rw-r--r--drivers/pci/dwc/pci-keystone-dw.c (renamed from drivers/pci/host/pci-keystone-dw.c)0
-rw-r--r--drivers/pci/dwc/pci-keystone.c (renamed from drivers/pci/host/pci-keystone.c)0
-rw-r--r--drivers/pci/dwc/pci-keystone.h (renamed from drivers/pci/host/pci-keystone.h)0
-rw-r--r--drivers/pci/dwc/pci-layerscape.c (renamed from drivers/pci/host/pci-layerscape.c)0
-rw-r--r--drivers/pci/dwc/pcie-armada8k.c (renamed from drivers/pci/host/pcie-armada8k.c)0
-rw-r--r--drivers/pci/dwc/pcie-artpec6.c (renamed from drivers/pci/host/pcie-artpec6.c)0
-rw-r--r--drivers/pci/dwc/pcie-designware-plat.c (renamed from drivers/pci/host/pcie-designware-plat.c)0
-rw-r--r--drivers/pci/dwc/pcie-designware.c (renamed from drivers/pci/host/pcie-designware.c)0
-rw-r--r--drivers/pci/dwc/pcie-designware.h (renamed from drivers/pci/host/pcie-designware.h)0
-rw-r--r--drivers/pci/dwc/pcie-hisi.c (renamed from drivers/pci/host/pcie-hisi.c)0
-rw-r--r--drivers/pci/dwc/pcie-qcom.c (renamed from drivers/pci/host/pcie-qcom.c)0
-rw-r--r--drivers/pci/dwc/pcie-spear13xx.c (renamed from drivers/pci/host/pcie-spear13xx.c)0
-rw-r--r--drivers/pci/host/Kconfig113
-rw-r--r--drivers/pci/host/Makefile12
22 files changed, 155 insertions, 136 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index cfff2c9e3d94..8672f18c8ab9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9429,7 +9429,7 @@ L: linux-pci@vger.kernel.org
9429L: linux-arm-kernel@lists.infradead.org 9429L: linux-arm-kernel@lists.infradead.org
9430S: Maintained 9430S: Maintained
9431F: Documentation/devicetree/bindings/pci/pci-armada8k.txt 9431F: Documentation/devicetree/bindings/pci/pci-armada8k.txt
9432F: drivers/pci/host/pcie-armada8k.c 9432F: drivers/pci/dwc/pcie-armada8k.c
9433 9433
9434PCI DRIVER FOR APPLIEDMICRO XGENE 9434PCI DRIVER FOR APPLIEDMICRO XGENE
9435M: Tanmay Inamdar <tinamdar@apm.com> 9435M: Tanmay Inamdar <tinamdar@apm.com>
@@ -9447,7 +9447,7 @@ L: linuxppc-dev@lists.ozlabs.org
9447L: linux-pci@vger.kernel.org 9447L: linux-pci@vger.kernel.org
9448L: linux-arm-kernel@lists.infradead.org 9448L: linux-arm-kernel@lists.infradead.org
9449S: Maintained 9449S: Maintained
9450F: drivers/pci/host/*layerscape* 9450F: drivers/pci/dwc/*layerscape*
9451 9451
9452PCI DRIVER FOR IMX6 9452PCI DRIVER FOR IMX6
9453M: Richard Zhu <hongxing.zhu@nxp.com> 9453M: Richard Zhu <hongxing.zhu@nxp.com>
@@ -9456,14 +9456,14 @@ L: linux-pci@vger.kernel.org
9456L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 9456L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
9457S: Maintained 9457S: Maintained
9458F: Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt 9458F: Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
9459F: drivers/pci/host/*imx6* 9459F: drivers/pci/dwc/*imx6*
9460 9460
9461PCI DRIVER FOR TI KEYSTONE 9461PCI DRIVER FOR TI KEYSTONE
9462M: Murali Karicheri <m-karicheri2@ti.com> 9462M: Murali Karicheri <m-karicheri2@ti.com>
9463L: linux-pci@vger.kernel.org 9463L: linux-pci@vger.kernel.org
9464L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 9464L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
9465S: Maintained 9465S: Maintained
9466F: drivers/pci/host/*keystone* 9466F: drivers/pci/dwc/*keystone*
9467 9467
9468PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support) 9468PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
9469M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9469M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
@@ -9495,7 +9495,7 @@ L: linux-omap@vger.kernel.org
9495L: linux-pci@vger.kernel.org 9495L: linux-pci@vger.kernel.org
9496S: Supported 9496S: Supported
9497F: Documentation/devicetree/bindings/pci/ti-pci.txt 9497F: Documentation/devicetree/bindings/pci/ti-pci.txt
9498F: drivers/pci/host/pci-dra7xx.c 9498F: drivers/pci/dwc/pci-dra7xx.c
9499 9499
9500PCI DRIVER FOR RENESAS R-CAR 9500PCI DRIVER FOR RENESAS R-CAR
9501M: Simon Horman <horms@verge.net.au> 9501M: Simon Horman <horms@verge.net.au>
@@ -9510,7 +9510,7 @@ L: linux-pci@vger.kernel.org
9510L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 9510L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
9511L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) 9511L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
9512S: Maintained 9512S: Maintained
9513F: drivers/pci/host/pci-exynos.c 9513F: drivers/pci/dwc/pci-exynos.c
9514 9514
9515PCI DRIVER FOR SYNOPSIS DESIGNWARE 9515PCI DRIVER FOR SYNOPSIS DESIGNWARE
9516M: Jingoo Han <jingoohan1@gmail.com> 9516M: Jingoo Han <jingoohan1@gmail.com>
@@ -9518,7 +9518,7 @@ M: Joao Pinto <Joao.Pinto@synopsys.com>
9518L: linux-pci@vger.kernel.org 9518L: linux-pci@vger.kernel.org
9519S: Maintained 9519S: Maintained
9520F: Documentation/devicetree/bindings/pci/designware-pcie.txt 9520F: Documentation/devicetree/bindings/pci/designware-pcie.txt
9521F: drivers/pci/host/*designware* 9521F: drivers/pci/dwc/*designware*
9522 9522
9523PCI DRIVER FOR GENERIC OF HOSTS 9523PCI DRIVER FOR GENERIC OF HOSTS
9524M: Will Deacon <will.deacon@arm.com> 9524M: Will Deacon <will.deacon@arm.com>
@@ -9539,7 +9539,7 @@ PCIE DRIVER FOR ST SPEAR13XX
9539M: Pratyush Anand <pratyush.anand@gmail.com> 9539M: Pratyush Anand <pratyush.anand@gmail.com>
9540L: linux-pci@vger.kernel.org 9540L: linux-pci@vger.kernel.org
9541S: Maintained 9541S: Maintained
9542F: drivers/pci/host/*spear* 9542F: drivers/pci/dwc/*spear*
9543 9543
9544PCI MSI DRIVER FOR ALTERA MSI IP 9544PCI MSI DRIVER FOR ALTERA MSI IP
9545M: Ley Foon Tan <lftan@altera.com> 9545M: Ley Foon Tan <lftan@altera.com>
@@ -9564,7 +9564,7 @@ L: linux-arm-kernel@axis.com
9564L: linux-pci@vger.kernel.org 9564L: linux-pci@vger.kernel.org
9565S: Maintained 9565S: Maintained
9566F: Documentation/devicetree/bindings/pci/axis,artpec* 9566F: Documentation/devicetree/bindings/pci/axis,artpec*
9567F: drivers/pci/host/*artpec* 9567F: drivers/pci/dwc/*artpec*
9568 9568
9569PCIE DRIVER FOR HISILICON 9569PCIE DRIVER FOR HISILICON
9570M: Zhou Wang <wangzhou1@hisilicon.com> 9570M: Zhou Wang <wangzhou1@hisilicon.com>
@@ -9572,7 +9572,7 @@ M: Gabriele Paoloni <gabriele.paoloni@huawei.com>
9572L: linux-pci@vger.kernel.org 9572L: linux-pci@vger.kernel.org
9573S: Maintained 9573S: Maintained
9574F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt 9574F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
9575F: drivers/pci/host/pcie-hisi.c 9575F: drivers/pci/dwc/pcie-hisi.c
9576 9576
9577PCIE DRIVER FOR ROCKCHIP 9577PCIE DRIVER FOR ROCKCHIP
9578M: Shawn Lin <shawn.lin@rock-chips.com> 9578M: Shawn Lin <shawn.lin@rock-chips.com>
@@ -9588,7 +9588,7 @@ M: Stanimir Varbanov <svarbanov@mm-sol.com>
9588L: linux-pci@vger.kernel.org 9588L: linux-pci@vger.kernel.org
9589L: linux-arm-msm@vger.kernel.org 9589L: linux-arm-msm@vger.kernel.org
9590S: Maintained 9590S: Maintained
9591F: drivers/pci/host/*qcom* 9591F: drivers/pci/dwc/*qcom*
9592 9592
9593PCIE DRIVER FOR CAVIUM THUNDERX 9593PCIE DRIVER FOR CAVIUM THUNDERX
9594M: David Daney <david.daney@cavium.com> 9594M: David Daney <david.daney@cavium.com>
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 6555eb78d91c..df141420c902 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -132,4 +132,5 @@ config PCI_HYPERV
132 PCI devices from a PCI backend to support PCI driver domains. 132 PCI devices from a PCI backend to support PCI driver domains.
133 133
134source "drivers/pci/hotplug/Kconfig" 134source "drivers/pci/hotplug/Kconfig"
135source "drivers/pci/dwc/Kconfig"
135source "drivers/pci/host/Kconfig" 136source "drivers/pci/host/Kconfig"
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 8db5079f09a7..b7e97519b31d 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -66,5 +66,8 @@ obj-$(CONFIG_OF) += of.o
66 66
67ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG 67ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
68 68
69# PCI dwc controller drivers
70obj-y += dwc/
71
69# PCI host controller drivers 72# PCI host controller drivers
70obj-y += host/ 73obj-y += host/
diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
new file mode 100644
index 000000000000..deae261992f2
--- /dev/null
+++ b/drivers/pci/dwc/Kconfig
@@ -0,0 +1,117 @@
1menu "DesignWare PCI Core Support"
2 depends on PCI
3
4config PCIE_DW
5 bool
6 depends on PCI_MSI_IRQ_DOMAIN
7
8config PCI_DRA7XX
9 bool "TI DRA7xx PCIe controller"
10 depends on OF && HAS_IOMEM && TI_PIPE3
11 depends on PCI_MSI_IRQ_DOMAIN
12 select PCIE_DW
13 help
14 Enables support for the PCIe controller in the DRA7xx SoC. There
15 are two instances of PCIe controller in DRA7xx. This controller can
16 act both as EP and RC. This reuses the Designware core.
17
18config PCIE_DW_PLAT
19 bool "Platform bus based DesignWare PCIe Controller"
20 depends on PCI_MSI_IRQ_DOMAIN
21 select PCIE_DW
22 ---help---
23 This selects the DesignWare PCIe controller support. Select this if
24 you have a PCIe controller on Platform bus.
25
26 If you have a controller with this interface, say Y or M here.
27
28 If unsure, say N.
29
30config PCI_EXYNOS
31 bool "Samsung Exynos PCIe controller"
32 depends on SOC_EXYNOS5440
33 depends on PCI_MSI_IRQ_DOMAIN
34 select PCIEPORTBUS
35 select PCIE_DW
36
37config PCI_IMX6
38 bool "Freescale i.MX6 PCIe controller"
39 depends on SOC_IMX6Q
40 depends on PCI_MSI_IRQ_DOMAIN
41 select PCIEPORTBUS
42 select PCIE_DW
43
44config PCIE_SPEAR13XX
45 bool "STMicroelectronics SPEAr PCIe controller"
46 depends on ARCH_SPEAR13XX
47 depends on PCI_MSI_IRQ_DOMAIN
48 select PCIEPORTBUS
49 select PCIE_DW
50 help
51 Say Y here if you want PCIe support on SPEAr13XX SoCs.
52
53config PCI_KEYSTONE
54 bool "TI Keystone PCIe controller"
55 depends on ARCH_KEYSTONE
56 depends on PCI_MSI_IRQ_DOMAIN
57 select PCIEPORTBUS
58 select PCIE_DW
59 help
60 Say Y here if you want to enable PCI controller support on Keystone
61 SoCs. The PCI controller on Keystone is based on Designware hardware
62 and therefore the driver re-uses the Designware core functions to
63 implement the driver.
64
65config PCI_LAYERSCAPE
66 bool "Freescale Layerscape PCIe controller"
67 depends on OF && (ARM || ARCH_LAYERSCAPE)
68 depends on PCI_MSI_IRQ_DOMAIN
69 select MFD_SYSCON
70 select PCIE_DW
71 help
72 Say Y here if you want PCIe controller support on Layerscape SoCs.
73
74config PCI_HISI
75 depends on OF && ARM64
76 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
77 depends on PCI_MSI_IRQ_DOMAIN
78 select PCIEPORTBUS
79 select PCIE_DW
80 help
81 Say Y here if you want PCIe controller support on HiSilicon
82 Hip05 and Hip06 SoCs
83
84config PCIE_QCOM
85 bool "Qualcomm PCIe controller"
86 depends on ARCH_QCOM && OF
87 depends on PCI_MSI_IRQ_DOMAIN
88 select PCIEPORTBUS
89 select PCIE_DW
90 help
91 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
92 PCIe controller uses the Designware core plus Qualcomm-specific
93 hardware wrappers.
94
95config PCIE_ARMADA_8K
96 bool "Marvell Armada-8K PCIe controller"
97 depends on ARCH_MVEBU
98 depends on PCI_MSI_IRQ_DOMAIN
99 select PCIEPORTBUS
100 select PCIE_DW
101 help
102 Say Y here if you want to enable PCIe controller support on
103 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
104 Designware hardware and therefore the driver re-uses the
105 Designware core functions to implement the driver.
106
107config PCIE_ARTPEC6
108 bool "Axis ARTPEC-6 PCIe controller"
109 depends on MACH_ARTPEC6
110 depends on PCI_MSI_IRQ_DOMAIN
111 select PCIEPORTBUS
112 select PCIE_DW
113 help
114 Say Y here to enable PCIe controller support on Axis ARTPEC-6
115 SoCs. This PCIe controller uses the DesignWare core.
116
117endmenu
diff --git a/drivers/pci/dwc/Makefile b/drivers/pci/dwc/Makefile
new file mode 100644
index 000000000000..7d27c143ae7a
--- /dev/null
+++ b/drivers/pci/dwc/Makefile
@@ -0,0 +1,23 @@
1obj-$(CONFIG_PCIE_DW) += pcie-designware.o
2obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
3obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
4obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
5obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
6obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
7obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
8obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
9obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o
10obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o
11obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o
12
13# The following drivers are for devices that use the generic ACPI
14# pci_root.c driver but don't support standard ECAM config access.
15# They contain MCFG quirks to replace the generic ECAM accessors with
16# device-specific ones that are shared with the DT driver.
17
18# The ACPI driver is generic and should not require driver-specific
19# config options to be enabled, so we always build these drivers on
20# ARM64 and use internal ifdefs to only build the pieces we need
21# depending on whether ACPI, the DT driver, or both are enabled.
22
23obj-$(CONFIG_ARM64) += pcie-hisi.o
diff --git a/drivers/pci/host/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c
index 9595fad63f6f..9595fad63f6f 100644
--- a/drivers/pci/host/pci-dra7xx.c
+++ b/drivers/pci/dwc/pci-dra7xx.c
diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/dwc/pci-exynos.c
index f1c544bb8b68..f1c544bb8b68 100644
--- a/drivers/pci/host/pci-exynos.c
+++ b/drivers/pci/dwc/pci-exynos.c
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c
index c8cefb078218..c8cefb078218 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/dwc/pci-imx6.c
diff --git a/drivers/pci/host/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
index 9397c4667106..9397c4667106 100644
--- a/drivers/pci/host/pci-keystone-dw.c
+++ b/drivers/pci/dwc/pci-keystone-dw.c
diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/dwc/pci-keystone.c
index 043c19a05da1..043c19a05da1 100644
--- a/drivers/pci/host/pci-keystone.c
+++ b/drivers/pci/dwc/pci-keystone.c
diff --git a/drivers/pci/host/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
index bc54bafda068..bc54bafda068 100644
--- a/drivers/pci/host/pci-keystone.h
+++ b/drivers/pci/dwc/pci-keystone.h
diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/dwc/pci-layerscape.c
index ea789138531b..ea789138531b 100644
--- a/drivers/pci/host/pci-layerscape.c
+++ b/drivers/pci/dwc/pci-layerscape.c
diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/dwc/pcie-armada8k.c
index 0ac0f18690f2..0ac0f18690f2 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/dwc/pcie-armada8k.c
diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/dwc/pcie-artpec6.c
index 212786b27f1a..212786b27f1a 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/dwc/pcie-artpec6.c
diff --git a/drivers/pci/host/pcie-designware-plat.c b/drivers/pci/dwc/pcie-designware-plat.c
index 1a02038c4640..1a02038c4640 100644
--- a/drivers/pci/host/pcie-designware-plat.c
+++ b/drivers/pci/dwc/pcie-designware-plat.c
diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/dwc/pcie-designware.c
index af8f6e92e885..af8f6e92e885 100644
--- a/drivers/pci/host/pcie-designware.c
+++ b/drivers/pci/dwc/pcie-designware.c
diff --git a/drivers/pci/host/pcie-designware.h b/drivers/pci/dwc/pcie-designware.h
index a567ea288ee2..a567ea288ee2 100644
--- a/drivers/pci/host/pcie-designware.h
+++ b/drivers/pci/dwc/pcie-designware.h
diff --git a/drivers/pci/host/pcie-hisi.c b/drivers/pci/dwc/pcie-hisi.c
index a301a7187b30..a301a7187b30 100644
--- a/drivers/pci/host/pcie-hisi.c
+++ b/drivers/pci/dwc/pcie-hisi.c
diff --git a/drivers/pci/host/pcie-qcom.c b/drivers/pci/dwc/pcie-qcom.c
index 734ba0d4a5c8..734ba0d4a5c8 100644
--- a/drivers/pci/host/pcie-qcom.c
+++ b/drivers/pci/dwc/pcie-qcom.c
diff --git a/drivers/pci/host/pcie-spear13xx.c b/drivers/pci/dwc/pcie-spear13xx.c
index dafe8b88d97d..dafe8b88d97d 100644
--- a/drivers/pci/host/pcie-spear13xx.c
+++ b/drivers/pci/dwc/pcie-spear13xx.c
diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
index 898d2c48239c..f7c1d4d5c665 100644
--- a/drivers/pci/host/Kconfig
+++ b/drivers/pci/host/Kconfig
@@ -1,16 +1,6 @@
1menu "PCI host controller drivers" 1menu "PCI host controller drivers"
2 depends on PCI 2 depends on PCI
3 3
4config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
6 depends on OF && HAS_IOMEM && TI_PIPE3
7 depends on PCI_MSI_IRQ_DOMAIN
8 select PCIE_DW
9 help
10 Enables support for the PCIe controller in the DRA7xx SoC. There
11 are two instances of PCIe controller in DRA7xx. This controller can
12 act both as EP and RC. This reuses the Designware core.
13
14config PCI_MVEBU 4config PCI_MVEBU
15 bool "Marvell EBU PCIe controller" 5 bool "Marvell EBU PCIe controller"
16 depends on ARCH_MVEBU || ARCH_DOVE 6 depends on ARCH_MVEBU || ARCH_DOVE
@@ -37,36 +27,6 @@ config PCIE_XILINX_NWL
37 or End Point. The current option selection will only 27 or End Point. The current option selection will only
38 support root port enabling. 28 support root port enabling.
39 29
40config PCIE_DW_PLAT
41 bool "Platform bus based DesignWare PCIe Controller"
42 depends on PCI_MSI_IRQ_DOMAIN
43 select PCIE_DW
44 ---help---
45 This selects the DesignWare PCIe controller support. Select this if
46 you have a PCIe controller on Platform bus.
47
48 If you have a controller with this interface, say Y or M here.
49
50 If unsure, say N.
51
52config PCIE_DW
53 bool
54 depends on PCI_MSI_IRQ_DOMAIN
55
56config PCI_EXYNOS
57 bool "Samsung Exynos PCIe controller"
58 depends on SOC_EXYNOS5440
59 depends on PCI_MSI_IRQ_DOMAIN
60 select PCIEPORTBUS
61 select PCIE_DW
62
63config PCI_IMX6
64 bool "Freescale i.MX6 PCIe controller"
65 depends on SOC_IMX6Q
66 depends on PCI_MSI_IRQ_DOMAIN
67 select PCIEPORTBUS
68 select PCIE_DW
69
70config PCI_TEGRA 30config PCI_TEGRA
71 bool "NVIDIA Tegra PCIe controller" 31 bool "NVIDIA Tegra PCIe controller"
72 depends on ARCH_TEGRA 32 depends on ARCH_TEGRA
@@ -103,27 +63,6 @@ config PCI_HOST_GENERIC
103 Say Y here if you want to support a simple generic PCI host 63 Say Y here if you want to support a simple generic PCI host
104 controller, such as the one emulated by kvmtool. 64 controller, such as the one emulated by kvmtool.
105 65
106config PCIE_SPEAR13XX
107 bool "STMicroelectronics SPEAr PCIe controller"
108 depends on ARCH_SPEAR13XX
109 depends on PCI_MSI_IRQ_DOMAIN
110 select PCIEPORTBUS
111 select PCIE_DW
112 help
113 Say Y here if you want PCIe support on SPEAr13XX SoCs.
114
115config PCI_KEYSTONE
116 bool "TI Keystone PCIe controller"
117 depends on ARCH_KEYSTONE
118 depends on PCI_MSI_IRQ_DOMAIN
119 select PCIE_DW
120 select PCIEPORTBUS
121 help
122 Say Y here if you want to enable PCI controller support on Keystone
123 SoCs. The PCI controller on Keystone is based on Designware hardware
124 and therefore the driver re-uses the Designware core functions to
125 implement the driver.
126
127config PCIE_XILINX 66config PCIE_XILINX
128 bool "Xilinx AXI PCIe host bridge support" 67 bool "Xilinx AXI PCIe host bridge support"
129 depends on ARCH_ZYNQ || MICROBLAZE 68 depends on ARCH_ZYNQ || MICROBLAZE
@@ -150,15 +89,6 @@ config PCI_XGENE_MSI
150 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. 89 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
151 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. 90 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
152 91
153config PCI_LAYERSCAPE
154 bool "Freescale Layerscape PCIe controller"
155 depends on OF && (ARM || ARCH_LAYERSCAPE)
156 depends on PCI_MSI_IRQ_DOMAIN
157 select PCIE_DW
158 select MFD_SYSCON
159 help
160 Say Y here if you want PCIe controller support on Layerscape SoCs.
161
162config PCI_VERSATILE 92config PCI_VERSATILE
163 bool "ARM Versatile PB PCI controller" 93 bool "ARM Versatile PB PCI controller"
164 depends on ARCH_VERSATILE 94 depends on ARCH_VERSATILE
@@ -217,27 +147,6 @@ config PCIE_ALTERA_MSI
217 Say Y here if you want PCIe MSI support for the Altera FPGA. 147 Say Y here if you want PCIe MSI support for the Altera FPGA.
218 This MSI driver supports Altera MSI to GIC controller IP. 148 This MSI driver supports Altera MSI to GIC controller IP.
219 149
220config PCI_HISI
221 depends on OF && ARM64
222 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
223 depends on PCI_MSI_IRQ_DOMAIN
224 select PCIEPORTBUS
225 select PCIE_DW
226 help
227 Say Y here if you want PCIe controller support on HiSilicon
228 Hip05 and Hip06 SoCs
229
230config PCIE_QCOM
231 bool "Qualcomm PCIe controller"
232 depends on ARCH_QCOM && OF
233 depends on PCI_MSI_IRQ_DOMAIN
234 select PCIE_DW
235 select PCIEPORTBUS
236 help
237 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
238 PCIe controller uses the Designware core plus Qualcomm-specific
239 hardware wrappers.
240
241config PCI_HOST_THUNDER_PEM 150config PCI_HOST_THUNDER_PEM
242 bool "Cavium Thunder PCIe controller to off-chip devices" 151 bool "Cavium Thunder PCIe controller to off-chip devices"
243 depends on ARM64 152 depends on ARM64
@@ -254,28 +163,6 @@ config PCI_HOST_THUNDER_ECAM
254 help 163 help
255 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. 164 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
256 165
257config PCIE_ARMADA_8K
258 bool "Marvell Armada-8K PCIe controller"
259 depends on ARCH_MVEBU
260 depends on PCI_MSI_IRQ_DOMAIN
261 select PCIE_DW
262 select PCIEPORTBUS
263 help
264 Say Y here if you want to enable PCIe controller support on
265 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
266 Designware hardware and therefore the driver re-uses the
267 Designware core functions to implement the driver.
268
269config PCIE_ARTPEC6
270 bool "Axis ARTPEC-6 PCIe controller"
271 depends on MACH_ARTPEC6
272 depends on PCI_MSI_IRQ_DOMAIN
273 select PCIE_DW
274 select PCIEPORTBUS
275 help
276 Say Y here to enable PCIe controller support on Axis ARTPEC-6
277 SoCs. This PCIe controller uses the DesignWare core.
278
279config PCIE_ROCKCHIP 166config PCIE_ROCKCHIP
280 bool "Rockchip PCIe controller" 167 bool "Rockchip PCIe controller"
281 depends on ARCH_ROCKCHIP || COMPILE_TEST 168 depends on ARCH_ROCKCHIP || COMPILE_TEST
diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile
index bfe3179ae74c..4d3686676cc3 100644
--- a/drivers/pci/host/Makefile
+++ b/drivers/pci/host/Makefile
@@ -1,8 +1,3 @@
1obj-$(CONFIG_PCIE_DW) += pcie-designware.o
2obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
3obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
4obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
5obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
6obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o 1obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
7obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o 2obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
8obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o 3obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
@@ -11,12 +6,9 @@ obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
11obj-$(CONFIG_PCIE_RCAR) += pcie-rcar.o 6obj-$(CONFIG_PCIE_RCAR) += pcie-rcar.o
12obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o 7obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
13obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o 8obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
14obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
15obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
16obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o 9obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
17obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o 10obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
18obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o 11obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
19obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
20obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o 12obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
21obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o 13obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o
22obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o 14obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o
@@ -24,9 +16,6 @@ obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o
24obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o 16obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o
25obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o 17obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o
26obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o 18obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o
27obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o
28obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o
29obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o
30obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o 19obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o
31obj-$(CONFIG_VMD) += vmd.o 20obj-$(CONFIG_VMD) += vmd.o
32 21
@@ -40,7 +29,6 @@ obj-$(CONFIG_VMD) += vmd.o
40# ARM64 and use internal ifdefs to only build the pieces we need 29# ARM64 and use internal ifdefs to only build the pieces we need
41# depending on whether ACPI, the DT driver, or both are enabled. 30# depending on whether ACPI, the DT driver, or both are enabled.
42 31
43obj-$(CONFIG_ARM64) += pcie-hisi.o
44obj-$(CONFIG_ARM64) += pci-thunder-ecam.o 32obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
45obj-$(CONFIG_ARM64) += pci-thunder-pem.o 33obj-$(CONFIG_ARM64) += pci-thunder-pem.o
46obj-$(CONFIG_ARM64) += pci-xgene.o 34obj-$(CONFIG_ARM64) += pci-xgene.o