blob: fe1cb56b71f1f1665f2de46115cf6f4d937b57a3 [file] [log] [blame]
Bjorn Helgaas7328c8f2018-01-26 11:45:16 -06001# SPDX-License-Identifier: GPL-2.0
2
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +05303menu "DesignWare PCI Core Support"
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +05304
5config PCIE_DW
6 bool
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +05307
8config PCIE_DW_HOST
9 bool
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053010 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053011 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053012 select PCIE_DW
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053013
Kishon Vijay Abraham If8aed6e2017-03-27 15:15:05 +053014config PCIE_DW_EP
15 bool
16 depends on PCI_ENDPOINT
17 select PCIE_DW
18
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053019config PCI_DRA7XX
20 bool "TI DRA7xx PCIe controller"
Peter Robinson27fce382017-05-15 13:26:17 +010021 depends on SOC_DRA7XX || COMPILE_TEST
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053022 depends on (PCI && PCI_MSI_IRQ_DOMAIN) || PCI_ENDPOINT
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053023 depends on OF && HAS_IOMEM && TI_PIPE3
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053024 help
25 Enables support for the PCIe controller in the DRA7xx SoC. There
26 are two instances of PCIe controller in DRA7xx. This controller can
27 work either as EP or RC. In order to enable host-specific features
28 PCI_DRA7XX_HOST must be selected and in order to enable device-
29 specific features PCI_DRA7XX_EP must be selected. This uses
Bjorn Helgaas96291d52017-09-01 16:35:50 -050030 the DesignWare core.
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053031
32if PCI_DRA7XX
33
34config PCI_DRA7XX_HOST
35 bool "PCI DRA7xx Host Mode"
36 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053037 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053038 select PCIE_DW_HOST
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053039 default y
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053040 help
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053041 Enables support for the PCIe controller in the DRA7xx SoC to work in
42 host mode.
43
44config PCI_DRA7XX_EP
45 bool "PCI DRA7xx Endpoint Mode"
46 depends on PCI_ENDPOINT
47 select PCIE_DW_EP
48 help
49 Enables support for the PCIe controller in the DRA7xx SoC to work in
50 endpoint mode.
51
52endif
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053053
54config PCIE_DW_PLAT
55 bool "Platform bus based DesignWare PCIe Controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053056 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053057 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053058 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053059 ---help---
60 This selects the DesignWare PCIe controller support. Select this if
61 you have a PCIe controller on Platform bus.
62
63 If you have a controller with this interface, say Y or M here.
64
65 If unsure, say N.
66
67config PCI_EXYNOS
68 bool "Samsung Exynos PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053069 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053070 depends on SOC_EXYNOS5440
71 depends on PCI_MSI_IRQ_DOMAIN
72 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053073 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053074
75config PCI_IMX6
76 bool "Freescale i.MX6 PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053077 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053078 depends on SOC_IMX6Q
79 depends on PCI_MSI_IRQ_DOMAIN
80 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053081 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053082
83config PCIE_SPEAR13XX
84 bool "STMicroelectronics SPEAr PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053085 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053086 depends on ARCH_SPEAR13XX
87 depends on PCI_MSI_IRQ_DOMAIN
88 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053089 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053090 help
91 Say Y here if you want PCIe support on SPEAr13XX SoCs.
92
93config PCI_KEYSTONE
94 bool "TI Keystone PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053095 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053096 depends on ARCH_KEYSTONE
97 depends on PCI_MSI_IRQ_DOMAIN
98 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053099 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530100 help
101 Say Y here if you want to enable PCI controller support on Keystone
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500102 SoCs. The PCI controller on Keystone is based on DesignWare hardware
103 and therefore the driver re-uses the DesignWare core functions to
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530104 implement the driver.
105
106config PCI_LAYERSCAPE
107 bool "Freescale Layerscape PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530108 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530109 depends on OF && (ARM || ARCH_LAYERSCAPE)
110 depends on PCI_MSI_IRQ_DOMAIN
111 select MFD_SYSCON
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530112 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530113 help
114 Say Y here if you want PCIe controller support on Layerscape SoCs.
115
116config PCI_HISI
117 depends on OF && ARM64
118 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530119 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530120 depends on PCI_MSI_IRQ_DOMAIN
121 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530122 select PCIE_DW_HOST
Arnd Bergmann6665f8a2017-04-03 16:17:11 -0500123 select PCI_HOST_COMMON
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530124 help
125 Say Y here if you want PCIe controller support on HiSilicon
126 Hip05 and Hip06 SoCs
127
128config PCIE_QCOM
129 bool "Qualcomm PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530130 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530131 depends on ARCH_QCOM && OF
132 depends on PCI_MSI_IRQ_DOMAIN
133 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530134 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530135 help
136 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500137 PCIe controller uses the DesignWare core plus Qualcomm-specific
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530138 hardware wrappers.
139
140config PCIE_ARMADA_8K
141 bool "Marvell Armada-8K PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530142 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530143 depends on ARCH_MVEBU
144 depends on PCI_MSI_IRQ_DOMAIN
145 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530146 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530147 help
148 Say Y here if you want to enable PCIe controller support on
149 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500150 DesignWare hardware and therefore the driver re-uses the
151 DesignWare core functions to implement the driver.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530152
153config PCIE_ARTPEC6
154 bool "Axis ARTPEC-6 PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530155 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530156 depends on MACH_ARTPEC6
157 depends on PCI_MSI_IRQ_DOMAIN
158 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530159 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530160 help
161 Say Y here to enable PCIe controller support on Axis ARTPEC-6
162 SoCs. This PCIe controller uses the DesignWare core.
163
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800164config PCIE_KIRIN
165 depends on OF && ARM64
166 bool "HiSilicon Kirin series SoCs PCIe controllers"
167 depends on PCI
168 select PCIEPORTBUS
169 select PCIE_DW_HOST
170 help
171 Say Y here if you want PCIe controller support
172 on HiSilicon Kirin series SoCs.
173
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800174config PCIE_HISI_STB
175 bool "HiSilicon STB SoCs PCIe controllers"
176 depends on ARCH_HISI
177 depends on PCI
178 depends on PCI_MSI_IRQ_DOMAIN
179 select PCIEPORTBUS
180 select PCIE_DW_HOST
181 help
182 Say Y here if you want PCIe controller support on HiSilicon STB SoCs
183
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530184endmenu