blob: a6ce1ee51b4c648295ffad07937c89f6b726d582 [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"
Rob Herringa5aa35c2018-05-11 12:15:29 -05004 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +05305
6config PCIE_DW
7 bool
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +05308
9config PCIE_DW_HOST
10 bool
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
Niklas Casselb0528352017-12-20 00:29:28 +010020 bool
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053021
22config PCI_DRA7XX_HOST
Niklas Casselb0528352017-12-20 00:29:28 +010023 bool "TI DRA7xx PCIe controller Host Mode"
24 depends on SOC_DRA7XX || COMPILE_TEST
Rob Herringa5aa35c2018-05-11 12:15:29 -050025 depends on PCI_MSI_IRQ_DOMAIN
Niklas Casselb0528352017-12-20 00:29:28 +010026 depends on OF && HAS_IOMEM && TI_PIPE3
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053027 select PCIE_DW_HOST
Niklas Casselb0528352017-12-20 00:29:28 +010028 select PCI_DRA7XX
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053029 default y
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053030 help
Niklas Casselb0528352017-12-20 00:29:28 +010031 Enables support for the PCIe controller in the DRA7xx SoC to work in
32 host mode. There are two instances of PCIe controller in DRA7xx.
33 This controller can work either as EP or RC. In order to enable
34 host-specific features PCI_DRA7XX_HOST must be selected and in order
35 to enable device-specific features PCI_DRA7XX_EP must be selected.
36 This uses the DesignWare core.
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053037
38config PCI_DRA7XX_EP
Niklas Casselb0528352017-12-20 00:29:28 +010039 bool "TI DRA7xx PCIe controller Endpoint Mode"
40 depends on SOC_DRA7XX || COMPILE_TEST
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053041 depends on PCI_ENDPOINT
Niklas Casselb0528352017-12-20 00:29:28 +010042 depends on OF && HAS_IOMEM && TI_PIPE3
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053043 select PCIE_DW_EP
Niklas Casselb0528352017-12-20 00:29:28 +010044 select PCI_DRA7XX
Kishon Vijay Abraham I608793e2017-03-27 15:15:08 +053045 help
Niklas Casselb0528352017-12-20 00:29:28 +010046 Enables support for the PCIe controller in the DRA7xx SoC to work in
47 endpoint mode. There are two instances of PCIe controller in DRA7xx.
48 This controller can work either as EP or RC. In order to enable
49 host-specific features PCI_DRA7XX_HOST must be selected and in order
50 to enable device-specific features PCI_DRA7XX_EP must be selected.
51 This uses the DesignWare core.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053052
53config PCIE_DW_PLAT
Gustavo Pimentel1d906b22018-05-15 15:41:42 +010054 bool
55
56config PCIE_DW_PLAT_HOST
57 bool "Platform bus based DesignWare PCIe Controller - Host mode"
58 depends on PCI && PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053059 select PCIE_DW_HOST
Gustavo Pimentel1d906b22018-05-15 15:41:42 +010060 select PCIE_DW_PLAT
Gustavo Pimentel1d906b22018-05-15 15:41:42 +010061 help
62 Enables support for the PCIe controller in the Designware IP to
63 work in host mode. There are two instances of PCIe controller in
64 Designware IP.
65 This controller can work either as EP or RC. In order to enable
66 host-specific features PCIE_DW_PLAT_HOST must be selected and in
67 order to enable device-specific features PCI_DW_PLAT_EP must be
68 selected.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053069
Gustavo Pimentel1d906b22018-05-15 15:41:42 +010070config PCIE_DW_PLAT_EP
71 bool "Platform bus based DesignWare PCIe Controller - Endpoint mode"
72 depends on PCI && PCI_MSI_IRQ_DOMAIN
73 depends on PCI_ENDPOINT
74 select PCIE_DW_EP
75 select PCIE_DW_PLAT
76 help
77 Enables support for the PCIe controller in the Designware IP to
78 work in endpoint mode. There are two instances of PCIe controller
79 in Designware IP.
80 This controller can work either as EP or RC. In order to enable
81 host-specific features PCIE_DW_PLAT_HOST must be selected and in
82 order to enable device-specific features PCI_DW_PLAT_EP must be
83 selected.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053084
85config PCI_EXYNOS
86 bool "Samsung Exynos PCIe controller"
Rob Herring51bc0852018-04-05 14:31:54 -050087 depends on SOC_EXYNOS5440 || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053088 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053089 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053090
91config PCI_IMX6
Andrey Smirnov2d8ed462019-02-01 16:15:23 -080092 bool "Freescale i.MX6/7/8 PCIe controller"
93 depends on SOC_IMX6Q || SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053094 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053095 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053096
97config PCIE_SPEAR13XX
98 bool "STMicroelectronics SPEAr PCIe controller"
Rob Herring51bc0852018-04-05 14:31:54 -050099 depends on ARCH_SPEAR13XX || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530100 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530101 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530102 help
103 Say Y here if you want PCIe support on SPEAr13XX SoCs.
104
105config PCI_KEYSTONE
Kishon Vijay Abraham I23284ad2019-03-25 15:09:43 +0530106 bool
107
108config PCI_KEYSTONE_HOST
109 bool "PCI Keystone Host Mode"
Kishon Vijay Abraham I18b04152019-03-25 15:09:35 +0530110 depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530111 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530112 select PCIE_DW_HOST
Kishon Vijay Abraham I23284ad2019-03-25 15:09:43 +0530113 select PCI_KEYSTONE
114 default y
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530115 help
Kishon Vijay Abraham I23284ad2019-03-25 15:09:43 +0530116 Enables support for the PCIe controller in the Keystone SoC to
117 work in host mode. The PCI controller on Keystone is based on
118 DesignWare hardware and therefore the driver re-uses the
119 DesignWare core functions to implement the driver.
120
121config PCI_KEYSTONE_EP
122 bool "PCI Keystone Endpoint Mode"
123 depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST)
124 depends on PCI_ENDPOINT
125 select PCIE_DW_EP
126 select PCI_KEYSTONE
127 help
128 Enables support for the PCIe controller in the Keystone SoC to
129 work in endpoint mode. The PCI controller on Keystone is based
130 on DesignWare hardware and therefore the driver re-uses the
131 DesignWare core functions to implement the driver.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530132
133config PCI_LAYERSCAPE
134 bool "Freescale Layerscape PCIe controller"
Rob Herring51bc0852018-04-05 14:31:54 -0500135 depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530136 depends on PCI_MSI_IRQ_DOMAIN
137 select MFD_SYSCON
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530138 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530139 help
140 Say Y here if you want PCIe controller support on Layerscape SoCs.
141
142config PCI_HISI
Rob Herring51bc0852018-04-05 14:31:54 -0500143 depends on OF && (ARM64 || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530144 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
145 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530146 select PCIE_DW_HOST
Arnd Bergmann6665f8a2017-04-03 16:17:11 -0500147 select PCI_HOST_COMMON
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530148 help
149 Say Y here if you want PCIe controller support on HiSilicon
150 Hip05 and Hip06 SoCs
151
152config PCIE_QCOM
153 bool "Qualcomm PCIe controller"
Rob Herring51bc0852018-04-05 14:31:54 -0500154 depends on OF && (ARCH_QCOM || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530155 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530156 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530157 help
158 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500159 PCIe controller uses the DesignWare core plus Qualcomm-specific
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530160 hardware wrappers.
161
162config PCIE_ARMADA_8K
163 bool "Marvell Armada-8K PCIe controller"
Rob Herring51bc0852018-04-05 14:31:54 -0500164 depends on ARCH_MVEBU || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530165 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530166 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530167 help
168 Say Y here if you want to enable PCIe controller support on
169 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500170 DesignWare hardware and therefore the driver re-uses the
171 DesignWare core functions to implement the driver.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530172
173config PCIE_ARTPEC6
Niklas Casselb5074ef2017-12-20 00:29:35 +0100174 bool
175
176config PCIE_ARTPEC6_HOST
177 bool "Axis ARTPEC-6 PCIe controller Host Mode"
Rob Herring51bc0852018-04-05 14:31:54 -0500178 depends on MACH_ARTPEC6 || COMPILE_TEST
Rob Herringa5aa35c2018-05-11 12:15:29 -0500179 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530180 select PCIE_DW_HOST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100181 select PCIE_ARTPEC6
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530182 help
Niklas Casselb5074ef2017-12-20 00:29:35 +0100183 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
184 host mode. This uses the DesignWare core.
185
186config PCIE_ARTPEC6_EP
187 bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
Rob Herring51bc0852018-04-05 14:31:54 -0500188 depends on MACH_ARTPEC6 || COMPILE_TEST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100189 depends on PCI_ENDPOINT
190 select PCIE_DW_EP
191 select PCIE_ARTPEC6
192 help
193 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
194 endpoint mode. This uses the DesignWare core.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530195
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800196config PCIE_KIRIN
Rob Herring51bc0852018-04-05 14:31:54 -0500197 depends on OF && (ARM64 || COMPILE_TEST)
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800198 bool "HiSilicon Kirin series SoCs PCIe controllers"
Rob Herringd2fd7342018-03-07 09:42:37 -0600199 depends on PCI_MSI_IRQ_DOMAIN
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800200 select PCIE_DW_HOST
201 help
202 Say Y here if you want PCIe controller support
203 on HiSilicon Kirin series SoCs.
204
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800205config PCIE_HISI_STB
206 bool "HiSilicon STB SoCs PCIe controllers"
Rob Herring51bc0852018-04-05 14:31:54 -0500207 depends on ARCH_HISI || COMPILE_TEST
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800208 depends on PCI_MSI_IRQ_DOMAIN
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800209 select PCIE_DW_HOST
210 help
211 Say Y here if you want PCIe controller support on HiSilicon STB SoCs
212
Yue Wang9c0ef6d2018-12-18 16:04:46 +0800213config PCI_MESON
214 bool "MESON PCIe controller"
215 depends on PCI_MSI_IRQ_DOMAIN
216 select PCIE_DW_HOST
217 help
218 Say Y here if you want to enable PCI controller support on Amlogic
219 SoCs. The PCI controller on Amlogic is based on DesignWare hardware
220 and therefore the driver re-uses the DesignWare core functions to
221 implement the driver.
222
Kunihiko Hayashi7e6d5cd2018-12-07 09:53:12 +0900223config PCIE_UNIPHIER
224 bool "Socionext UniPhier PCIe controllers"
225 depends on ARCH_UNIPHIER || COMPILE_TEST
226 depends on OF && HAS_IOMEM
227 depends on PCI_MSI_IRQ_DOMAIN
228 select PCIE_DW_HOST
229 help
230 Say Y here if you want PCIe controller support on UniPhier SoCs.
231 This driver supports LD20 and PXs3 SoCs.
232
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530233endmenu