blob: 8c1a5167fb5bcb4359c93d88cd0e58ad9d184660 [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
54 bool "Platform bus based DesignWare PCIe Controller"
55 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053056 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053057 ---help---
58 This selects the DesignWare PCIe controller support. Select this if
59 you have a PCIe controller on Platform bus.
60
61 If you have a controller with this interface, say Y or M here.
62
63 If unsure, say N.
64
65config PCI_EXYNOS
66 bool "Samsung Exynos PCIe controller"
67 depends on SOC_EXYNOS5440
68 depends on PCI_MSI_IRQ_DOMAIN
69 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053070 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053071
72config PCI_IMX6
73 bool "Freescale i.MX6 PCIe controller"
74 depends on SOC_IMX6Q
75 depends on PCI_MSI_IRQ_DOMAIN
76 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053077 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053078
79config PCIE_SPEAR13XX
80 bool "STMicroelectronics SPEAr PCIe controller"
81 depends on ARCH_SPEAR13XX
82 depends on PCI_MSI_IRQ_DOMAIN
83 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053084 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053085 help
86 Say Y here if you want PCIe support on SPEAr13XX SoCs.
87
88config PCI_KEYSTONE
89 bool "TI Keystone PCIe controller"
90 depends on ARCH_KEYSTONE
91 depends on PCI_MSI_IRQ_DOMAIN
92 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +053093 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053094 help
95 Say Y here if you want to enable PCI controller support on Keystone
Bjorn Helgaas96291d52017-09-01 16:35:50 -050096 SoCs. The PCI controller on Keystone is based on DesignWare hardware
97 and therefore the driver re-uses the DesignWare core functions to
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +053098 implement the driver.
99
100config PCI_LAYERSCAPE
101 bool "Freescale Layerscape PCIe controller"
102 depends on OF && (ARM || ARCH_LAYERSCAPE)
103 depends on PCI_MSI_IRQ_DOMAIN
104 select MFD_SYSCON
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530105 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530106 help
107 Say Y here if you want PCIe controller support on Layerscape SoCs.
108
109config PCI_HISI
110 depends on OF && ARM64
111 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
112 depends on PCI_MSI_IRQ_DOMAIN
113 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530114 select PCIE_DW_HOST
Arnd Bergmann6665f8a2017-04-03 16:17:11 -0500115 select PCI_HOST_COMMON
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530116 help
117 Say Y here if you want PCIe controller support on HiSilicon
118 Hip05 and Hip06 SoCs
119
120config PCIE_QCOM
121 bool "Qualcomm PCIe controller"
122 depends on ARCH_QCOM && OF
123 depends on PCI_MSI_IRQ_DOMAIN
124 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530125 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530126 help
127 Say Y here to enable PCIe controller support on Qualcomm SoCs. The
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500128 PCIe controller uses the DesignWare core plus Qualcomm-specific
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530129 hardware wrappers.
130
131config PCIE_ARMADA_8K
132 bool "Marvell Armada-8K PCIe controller"
133 depends on ARCH_MVEBU
134 depends on PCI_MSI_IRQ_DOMAIN
135 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530136 select PCIE_DW_HOST
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530137 help
138 Say Y here if you want to enable PCIe controller support on
139 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
Bjorn Helgaas96291d52017-09-01 16:35:50 -0500140 DesignWare hardware and therefore the driver re-uses the
141 DesignWare core functions to implement the driver.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530142
143config PCIE_ARTPEC6
Niklas Casselb5074ef2017-12-20 00:29:35 +0100144 bool
145
146config PCIE_ARTPEC6_HOST
147 bool "Axis ARTPEC-6 PCIe controller Host Mode"
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530148 depends on MACH_ARTPEC6
Rob Herringa5aa35c2018-05-11 12:15:29 -0500149 depends on PCI_MSI_IRQ_DOMAIN
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530150 select PCIEPORTBUS
Kishon Vijay Abraham Ia0560202017-02-15 18:48:18 +0530151 select PCIE_DW_HOST
Niklas Casselb5074ef2017-12-20 00:29:35 +0100152 select PCIE_ARTPEC6
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530153 help
Niklas Casselb5074ef2017-12-20 00:29:35 +0100154 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
155 host mode. This uses the DesignWare core.
156
157config PCIE_ARTPEC6_EP
158 bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
159 depends on MACH_ARTPEC6
160 depends on PCI_ENDPOINT
161 select PCIE_DW_EP
162 select PCIE_ARTPEC6
163 help
164 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
165 endpoint mode. This uses the DesignWare core.
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530166
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800167config PCIE_KIRIN
168 depends on OF && ARM64
169 bool "HiSilicon Kirin series SoCs PCIe controllers"
Rob Herringd2fd7342018-03-07 09:42:37 -0600170 depends on PCI_MSI_IRQ_DOMAIN
Xiaowei Songfc5165d2017-06-19 18:23:48 +0800171 select PCIEPORTBUS
172 select PCIE_DW_HOST
173 help
174 Say Y here if you want PCIe controller support
175 on HiSilicon Kirin series SoCs.
176
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800177config PCIE_HISI_STB
178 bool "HiSilicon STB SoCs PCIe controllers"
179 depends on ARCH_HISI
Jianguo Sunbbd11bd2017-10-23 19:17:50 +0800180 depends on PCI_MSI_IRQ_DOMAIN
181 select PCIEPORTBUS
182 select PCIE_DW_HOST
183 help
184 Say Y here if you want PCIe controller support on HiSilicon STB SoCs
185
Kishon Vijay Abraham I950bf632017-01-06 18:22:48 +0530186endmenu