blob: 6f2b653146bb184b6cd84d7a509df519fa3ee429 [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
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
25 depends on PCI && PCI_MSI_IRQ_DOMAIN
26 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
54 bool "Platform bus based DesignWare PCIe Controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053055 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053056 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053057 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053058 ---help---
59 This selects the DesignWare PCIe controller support. Select this if
60 you have a PCIe controller on Platform bus.
61
62 If you have a controller with this interface, say Y or M here.
63
64 If unsure, say N.
65
66config PCI_EXYNOS
67 bool "Samsung Exynos PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053068 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -050069 depends on SOC_EXYNOS5440 || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053070 depends on PCI_MSI_IRQ_DOMAIN
71 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053072 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053073
74config PCI_IMX6
75 bool "Freescale i.MX6 PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053076 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -050077 depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053078 depends on PCI_MSI_IRQ_DOMAIN
79 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053080 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053081
82config PCIE_SPEAR13XX
83 bool "STMicroelectronics SPEAr PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053084 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -050085 depends on ARCH_SPEAR13XX || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053086 depends on PCI_MSI_IRQ_DOMAIN
87 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053088 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053089 help
90 Say Y here if you want PCIe support on SPEAr13XX SoCs.
91
92config PCI_KEYSTONE
93 bool "TI Keystone PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +053094 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -050095 depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053096 depends on PCI_MSI_IRQ_DOMAIN
97 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053098 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053099 help
100 Say Y here if you want to enable PCI controller support on Keystone
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500101 SoCs. The PCI controller on Keystone is based on DesignWare hardware
102 and therefore the driver re-uses the DesignWare core functions to
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530103 implement the driver.
104
105config PCI_LAYERSCAPE
106 bool "Freescale Layerscape PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530107 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -0500108 depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530109 depends on PCI_MSI_IRQ_DOMAIN
110 select MFD_SYSCON
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530111 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530112 help
113 Say Y here if you want PCIe controller support on Layerscape SoCs.
114
115config PCI_HISI
Rob Herring51bc0852018-04-05 14:31:54 -0500116 depends on OF && (ARM64 || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530117 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530118 depends on PCI
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530119 depends on PCI_MSI_IRQ_DOMAIN
120 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530121 select PCIE_DW_HOST
Arnd Bergmann6665f8a2017-04-03 16:17:11 -0500122 select PCI_HOST_COMMON
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530123 help
124 Say Y here if you want PCIe controller support on HiSilicon
125 Hip05 and Hip06 SoCs
126
127config PCIE_QCOM
128 bool "Qualcomm PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530129 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -0500130 depends on OF && (ARCH_QCOM || COMPILE_TEST)
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530131 depends on PCI_MSI_IRQ_DOMAIN
132 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530133 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530134 help
135 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500136 PCIe controller uses the DesignWare core plus Qualcomm-specific
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530137 hardware wrappers.
138
139config PCIE_ARMADA_8K
140 bool "Marvell Armada-8K PCIe controller"
Kishon Vijay Abraham I7a2b3f02017-02-15 18:48:19 +0530141 depends on PCI
Rob Herring51bc0852018-04-05 14:31:54 -0500142 depends on ARCH_MVEBU || COMPILE_TEST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530143 depends on PCI_MSI_IRQ_DOMAIN
144 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530145 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530146 help
147 Say Y here if you want to enable PCIe controller support on
148 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500149 DesignWare hardware and therefore the driver re-uses the
150 DesignWare core functions to implement the driver.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530151
152config PCIE_ARTPEC6
Niklas Casselb5074ef2017-12-20 00:29:35 +0100153 bool
154
155config PCIE_ARTPEC6_HOST
156 bool "Axis ARTPEC-6 PCIe controller Host Mode"
Rob Herring51bc0852018-04-05 14:31:54 -0500157 depends on MACH_ARTPEC6 || COMPILE_TEST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100158 depends on PCI && PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530159 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530160 select PCIE_DW_HOST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100161 select PCIE_ARTPEC6
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530162 help
Niklas Casselb5074ef2017-12-20 00:29:35 +0100163 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
164 host mode. This uses the DesignWare core.
165
166config PCIE_ARTPEC6_EP
167 bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
Rob Herring51bc0852018-04-05 14:31:54 -0500168 depends on MACH_ARTPEC6 || COMPILE_TEST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100169 depends on PCI_ENDPOINT
170 select PCIE_DW_EP
171 select PCIE_ARTPEC6
172 help
173 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
174 endpoint mode. This uses the DesignWare core.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530175
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800176config PCIE_KIRIN
Rob Herring51bc0852018-04-05 14:31:54 -0500177 depends on OF && (ARM64 || COMPILE_TEST)
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800178 bool "HiSilicon Kirin series SoCs PCIe controllers"
Rob Herringd2fd7342018-03-07 09:42:37 -0600179 depends on PCI_MSI_IRQ_DOMAIN
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800180 depends on PCI
181 select PCIEPORTBUS
182 select PCIE_DW_HOST
183 help
184 Say Y here if you want PCIe controller support
185 on HiSilicon Kirin series SoCs.
186
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800187config PCIE_HISI_STB
188 bool "HiSilicon STB SoCs PCIe controllers"
Rob Herring51bc0852018-04-05 14:31:54 -0500189 depends on ARCH_HISI || COMPILE_TEST
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800190 depends on PCI
191 depends on PCI_MSI_IRQ_DOMAIN
192 select PCIEPORTBUS
193 select PCIE_DW_HOST
194 help
195 Say Y here if you want PCIe controller support on HiSilicon STB SoCs
196
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530197endmenu