xref: /linux/drivers/pci/controller/dwc/Kconfig (revision 7d06015d936c861160803e020f68f413b5c3cd9d)
16e0832faSShawn Lin# SPDX-License-Identifier: GPL-2.0
26e0832faSShawn Lin
380c170d7SBjorn Helgaasmenu "DesignWare-based PCIe controllers"
46e0832faSShawn Lin	depends on PCI
56e0832faSShawn Lin
66e0832faSShawn Linconfig PCIE_DW
76e0832faSShawn Lin	bool
86e0832faSShawn Lin
94fbfa17fSShradha Todiconfig PCIE_DW_DEBUGFS
104fbfa17fSShradha Todi	bool "DesignWare PCIe debugfs entries"
114fbfa17fSShradha Todi	depends on DEBUG_FS
124fbfa17fSShradha Todi	depends on PCIE_DW_HOST || PCIE_DW_EP
134fbfa17fSShradha Todi	help
144fbfa17fSShradha Todi	  Say Y here to enable debugfs entries for the PCIe controller. These
154fbfa17fSShradha Todi	  entries provide various debug features related to the controller and
164fbfa17fSShradha Todi	  expose the RAS DES capabilities such as Silicon Debug, Error Injection
174fbfa17fSShradha Todi	  and Statistical Counters.
184fbfa17fSShradha Todi
196e0832faSShawn Linconfig PCIE_DW_HOST
206e0832faSShawn Lin	bool
216e0832faSShawn Lin	select PCIE_DW
226e0832faSShawn Lin
236e0832faSShawn Linconfig PCIE_DW_EP
246e0832faSShawn Lin	bool
256e0832faSShawn Lin	select PCIE_DW
266e0832faSShawn Lin
27c39819c0SBjorn Helgaasconfig PCIE_AL
28c39819c0SBjorn Helgaas	bool "Amazon Annapurna Labs PCIe controller"
29c39819c0SBjorn Helgaas	depends on OF && (ARM64 || COMPILE_TEST)
30a474d3fbSThomas Gleixner	depends on PCI_MSI
316e0832faSShawn Lin	select PCIE_DW_HOST
32c39819c0SBjorn Helgaas	select PCI_ECAM
336e0832faSShawn Lin	help
34c39819c0SBjorn Helgaas	  Say Y here to enable support of the Amazon's Annapurna Labs PCIe
35c39819c0SBjorn Helgaas	  controller IP on Amazon SoCs. The PCIe controller uses the DesignWare
36c39819c0SBjorn Helgaas	  core plus Annapurna Labs proprietary hardware wrappers. This is
37c39819c0SBjorn Helgaas	  required only for DT-based platforms. ACPI platforms with the
38c39819c0SBjorn Helgaas	  Annapurna Labs PCIe controller don't need to enable this.
396e0832faSShawn Lin
40*5f3de23dSThippeswamy Havaligeconfig PCIE_AMD_MDB
41*5f3de23dSThippeswamy Havalige	bool "AMD MDB Versal2 PCIe controller"
42*5f3de23dSThippeswamy Havalige	depends on OF && (ARM64 || COMPILE_TEST)
43*5f3de23dSThippeswamy Havalige	depends on PCI_MSI
44*5f3de23dSThippeswamy Havalige	select PCIE_DW_HOST
45*5f3de23dSThippeswamy Havalige	help
46*5f3de23dSThippeswamy Havalige	  Say Y here if you want to enable PCIe controller support on AMD
47*5f3de23dSThippeswamy Havalige	  Versal2 SoCs. The AMD MDB Versal2 PCIe controller is based on
48*5f3de23dSThippeswamy Havalige	  DesignWare IP and therefore the driver re-uses the DesignWare
49*5f3de23dSThippeswamy Havalige	  core functions to implement the driver.
50*5f3de23dSThippeswamy Havalige
51c39819c0SBjorn Helgaasconfig PCI_MESON
52c39819c0SBjorn Helgaas	tristate "Amlogic Meson PCIe controller"
53c39819c0SBjorn Helgaas	default m if ARCH_MESON
54c39819c0SBjorn Helgaas	depends on PCI_MSI
55c39819c0SBjorn Helgaas	select PCIE_DW_HOST
566e0832faSShawn Lin	help
57c39819c0SBjorn Helgaas	  Say Y here if you want to enable PCI controller support on Amlogic
58c39819c0SBjorn Helgaas	  SoCs. The PCI controller on Amlogic is based on DesignWare hardware
59c39819c0SBjorn Helgaas	  and therefore the driver re-uses the DesignWare core functions to
60c39819c0SBjorn Helgaas	  implement the driver.
616e0832faSShawn Lin
62c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6
636e0832faSShawn Lin	bool
646e0832faSShawn Lin
65c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST
66c39819c0SBjorn Helgaas	bool "Axis ARTPEC-6 PCIe controller (host mode)"
67c39819c0SBjorn Helgaas	depends on MACH_ARTPEC6 || COMPILE_TEST
68a474d3fbSThomas Gleixner	depends on PCI_MSI
696e0832faSShawn Lin	select PCIE_DW_HOST
70c39819c0SBjorn Helgaas	select PCIE_ARTPEC6
716e0832faSShawn Lin	help
72c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
73c39819c0SBjorn Helgaas	  host mode. This uses the DesignWare core.
746e0832faSShawn Lin
75c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP
76c39819c0SBjorn Helgaas	bool "Axis ARTPEC-6 PCIe controller (endpoint mode)"
77c39819c0SBjorn Helgaas	depends on MACH_ARTPEC6 || COMPILE_TEST
786e0832faSShawn Lin	depends on PCI_ENDPOINT
796e0832faSShawn Lin	select PCIE_DW_EP
80c39819c0SBjorn Helgaas	select PCIE_ARTPEC6
816e0832faSShawn Lin	help
82c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
83c39819c0SBjorn Helgaas	  endpoint mode. This uses the DesignWare core.
846e0832faSShawn Lin
85c39819c0SBjorn Helgaasconfig PCIE_BT1
86c39819c0SBjorn Helgaas	tristate "Baikal-T1 PCIe controller"
87c39819c0SBjorn Helgaas	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
88a474d3fbSThomas Gleixner	depends on PCI_MSI
896e0832faSShawn Lin	select PCIE_DW_HOST
90778f7c19SJaehoon Chung	help
91c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Baikal-T1 SoC to work
92c39819c0SBjorn Helgaas	  in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core.
936e0832faSShawn Lin
946e0832faSShawn Linconfig PCI_IMX6
9575c2f26dSRichard Zhu	bool
9675c2f26dSRichard Zhu
9775c2f26dSRichard Zhuconfig PCI_IMX6_HOST
9880c170d7SBjorn Helgaas	bool "Freescale i.MX6/7/8 PCIe controller (host mode)"
997e8ab1b2SLeonard Crestez	depends on ARCH_MXC || COMPILE_TEST
100a474d3fbSThomas Gleixner	depends on PCI_MSI
1016e0832faSShawn Lin	select PCIE_DW_HOST
10275c2f26dSRichard Zhu	select PCI_IMX6
10375c2f26dSRichard Zhu	help
10475c2f26dSRichard Zhu	  Enables support for the PCIe controller in the i.MX SoCs to
10575c2f26dSRichard Zhu	  work in Root Complex mode. The PCI controller on i.MX is based
10675c2f26dSRichard Zhu	  on DesignWare hardware and therefore the driver re-uses the
10775c2f26dSRichard Zhu	  DesignWare core functions to implement the driver.
10875c2f26dSRichard Zhu
10975c2f26dSRichard Zhuconfig PCI_IMX6_EP
11080c170d7SBjorn Helgaas	bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)"
11175c2f26dSRichard Zhu	depends on ARCH_MXC || COMPILE_TEST
11275c2f26dSRichard Zhu	depends on PCI_ENDPOINT
11375c2f26dSRichard Zhu	select PCIE_DW_EP
11475c2f26dSRichard Zhu	select PCI_IMX6
11575c2f26dSRichard Zhu	help
11675c2f26dSRichard Zhu	  Enables support for the PCIe controller in the i.MX SoCs to
11775c2f26dSRichard Zhu	  work in endpoint mode. The PCI controller on i.MX is based
11875c2f26dSRichard Zhu	  on DesignWare hardware and therefore the driver re-uses the
11975c2f26dSRichard Zhu	  DesignWare core functions to implement the driver.
1206e0832faSShawn Lin
1216e0832faSShawn Linconfig PCI_LAYERSCAPE
12280c170d7SBjorn Helgaas	bool "Freescale Layerscape PCIe controller (host mode)"
1236e0832faSShawn Lin	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
124a474d3fbSThomas Gleixner	depends on PCI_MSI
1256e0832faSShawn Lin	select PCIE_DW_HOST
1262908a0d8SAndy Shevchenko	select MFD_SYSCON
1276e0832faSShawn Lin	help
128b5b24617SXiaowei Bao	  Say Y here if you want to enable PCIe controller support on Layerscape
129b5b24617SXiaowei Bao	  SoCs to work in Host mode.
130b5b24617SXiaowei Bao	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
131b5b24617SXiaowei Bao	  determines which PCIe controller works in EP mode and which PCIe
132b5b24617SXiaowei Bao	  controller works in RC mode.
133b5b24617SXiaowei Bao
134b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP
13580c170d7SBjorn Helgaas	bool "Freescale Layerscape PCIe controller (endpoint mode)"
136b5b24617SXiaowei Bao	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
137b5b24617SXiaowei Bao	depends on PCI_ENDPOINT
138b5b24617SXiaowei Bao	select PCIE_DW_EP
139b5b24617SXiaowei Bao	help
140b5b24617SXiaowei Bao	  Say Y here if you want to enable PCIe controller support on Layerscape
141b5b24617SXiaowei Bao	  SoCs to work in Endpoint mode.
142b5b24617SXiaowei Bao	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
143b5b24617SXiaowei Bao	  determines which PCIe controller works in EP mode and which PCIe
144b5b24617SXiaowei Bao	  controller works in RC mode.
1456e0832faSShawn Lin
1466e0832faSShawn Linconfig PCI_HISI
1476e0832faSShawn Lin	depends on OF && (ARM64 || COMPILE_TEST)
14880c170d7SBjorn Helgaas	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller"
149a474d3fbSThomas Gleixner	depends on PCI_MSI
1506e0832faSShawn Lin	select PCIE_DW_HOST
1516e0832faSShawn Lin	select PCI_HOST_COMMON
1526e0832faSShawn Lin	help
1536e0832faSShawn Lin	  Say Y here if you want PCIe controller support on HiSilicon
1546e0832faSShawn Lin	  Hip05 and Hip06 SoCs
1556e0832faSShawn Lin
156c39819c0SBjorn Helgaasconfig PCIE_KIRIN
157c39819c0SBjorn Helgaas	depends on OF && (ARM64 || COMPILE_TEST)
158c39819c0SBjorn Helgaas	tristate "HiSilicon Kirin PCIe controller"
159a474d3fbSThomas Gleixner	depends on PCI_MSI
1606e0832faSShawn Lin	select PCIE_DW_HOST
161c39819c0SBjorn Helgaas	select REGMAP_MMIO
1626e0832faSShawn Lin	help
163c39819c0SBjorn Helgaas	  Say Y here if you want PCIe controller support
164c39819c0SBjorn Helgaas	  on HiSilicon Kirin series SoCs.
1656e0832faSShawn Lin
166c39819c0SBjorn Helgaasconfig PCIE_HISI_STB
167c39819c0SBjorn Helgaas	bool "HiSilicon STB PCIe controller"
168c39819c0SBjorn Helgaas	depends on ARCH_HISI || COMPILE_TEST
169a474d3fbSThomas Gleixner	depends on PCI_MSI
1706e0832faSShawn Lin	select PCIE_DW_HOST
1716e0832faSShawn Lin	help
172c39819c0SBjorn Helgaas	  Say Y here if you want PCIe controller support on HiSilicon STB SoCs
1730e898eb8SSimon Xue
174ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW
17580c170d7SBjorn Helgaas	bool "Intel Gateway PCIe controller "
176ed22aaaeSDilip Kota	depends on OF && (X86 || COMPILE_TEST)
177a474d3fbSThomas Gleixner	depends on PCI_MSI
178ed22aaaeSDilip Kota	select PCIE_DW_HOST
179ed22aaaeSDilip Kota	help
180ed22aaaeSDilip Kota	  Say 'Y' here to enable PCIe Host controller support on Intel
181ed22aaaeSDilip Kota	  Gateway SoCs.
182ed22aaaeSDilip Kota	  The PCIe controller uses the DesignWare core plus Intel-specific
183ed22aaaeSDilip Kota	  hardware wrappers.
184ed22aaaeSDilip Kota
1850c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY
1860c87f90bSSrikanth Thokala	bool
1870c87f90bSSrikanth Thokala
1880c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST
18980c170d7SBjorn Helgaas	bool "Intel Keem Bay PCIe controller (host mode)"
1900c87f90bSSrikanth Thokala	depends on ARCH_KEEMBAY || COMPILE_TEST
191a474d3fbSThomas Gleixner	depends on PCI_MSI
1920c87f90bSSrikanth Thokala	select PCIE_DW_HOST
1930c87f90bSSrikanth Thokala	select PCIE_KEEMBAY
1940c87f90bSSrikanth Thokala	help
1950c87f90bSSrikanth Thokala	  Say 'Y' here to enable support for the PCIe controller in Keem Bay
1960c87f90bSSrikanth Thokala	  to work in host mode.
1970c87f90bSSrikanth Thokala	  The PCIe controller is based on DesignWare Hardware and uses
1980c87f90bSSrikanth Thokala	  DesignWare core functions.
1990c87f90bSSrikanth Thokala
2000c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP
20180c170d7SBjorn Helgaas	bool "Intel Keem Bay PCIe controller (endpoint mode)"
2020c87f90bSSrikanth Thokala	depends on ARCH_KEEMBAY || COMPILE_TEST
203a474d3fbSThomas Gleixner	depends on PCI_MSI
2040c87f90bSSrikanth Thokala	depends on PCI_ENDPOINT
2050c87f90bSSrikanth Thokala	select PCIE_DW_EP
2060c87f90bSSrikanth Thokala	select PCIE_KEEMBAY
2070c87f90bSSrikanth Thokala	help
2080c87f90bSSrikanth Thokala	  Say 'Y' here to enable support for the PCIe controller in Keem Bay
2090c87f90bSSrikanth Thokala	  to work in endpoint mode.
2100c87f90bSSrikanth Thokala	  The PCIe controller is based on DesignWare Hardware and uses
2110c87f90bSSrikanth Thokala	  DesignWare core functions.
2120c87f90bSSrikanth Thokala
213c39819c0SBjorn Helgaasconfig PCIE_ARMADA_8K
214c39819c0SBjorn Helgaas	bool "Marvell Armada-8K PCIe controller"
215c39819c0SBjorn Helgaas	depends on ARCH_MVEBU || COMPILE_TEST
216a474d3fbSThomas Gleixner	depends on PCI_MSI
2176e0832faSShawn Lin	select PCIE_DW_HOST
2186e0832faSShawn Lin	help
219c39819c0SBjorn Helgaas	  Say Y here if you want to enable PCIe controller support on
220c39819c0SBjorn Helgaas	  Armada-8K SoCs. The PCIe controller on Armada-8K is based on
221c39819c0SBjorn Helgaas	  DesignWare hardware and therefore the driver re-uses the
222c39819c0SBjorn Helgaas	  DesignWare core functions to implement the driver.
2239c0ef6d3SYue Wang
22456e15a23SVidya Sagarconfig PCIE_TEGRA194
225c57247f9SVidya Sagar	tristate
226c57247f9SVidya Sagar
227c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST
22880c170d7SBjorn Helgaas	tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)"
22956e15a23SVidya Sagar	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
230a474d3fbSThomas Gleixner	depends on PCI_MSI
23156e15a23SVidya Sagar	select PCIE_DW_HOST
23256e15a23SVidya Sagar	select PHY_TEGRA194_P2U
233c57247f9SVidya Sagar	select PCIE_TEGRA194
23456e15a23SVidya Sagar	help
235c57247f9SVidya Sagar	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
236c57247f9SVidya Sagar	  work in host mode. There are two instances of PCIe controllers in
237c57247f9SVidya Sagar	  Tegra194. This controller can work either as EP or RC. In order to
238c57247f9SVidya Sagar	  enable host-specific features PCIE_TEGRA194_HOST must be selected and
239c57247f9SVidya Sagar	  in order to enable device-specific features PCIE_TEGRA194_EP must be
240c57247f9SVidya Sagar	  selected. This uses the DesignWare core.
241c57247f9SVidya Sagar
242c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP
24380c170d7SBjorn Helgaas	tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)"
244c57247f9SVidya Sagar	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
245c57247f9SVidya Sagar	depends on PCI_ENDPOINT
246c57247f9SVidya Sagar	select PCIE_DW_EP
247c57247f9SVidya Sagar	select PHY_TEGRA194_P2U
248c57247f9SVidya Sagar	select PCIE_TEGRA194
249c57247f9SVidya Sagar	help
250c57247f9SVidya Sagar	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
25110739e2aSWesley Sheng	  work in endpoint mode. There are two instances of PCIe controllers in
252c57247f9SVidya Sagar	  Tegra194. This controller can work either as EP or RC. In order to
253c57247f9SVidya Sagar	  enable host-specific features PCIE_TEGRA194_HOST must be selected and
254c57247f9SVidya Sagar	  in order to enable device-specific features PCIE_TEGRA194_EP must be
255c57247f9SVidya Sagar	  selected. This uses the DesignWare core.
25656e15a23SVidya Sagar
257c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT
258c39819c0SBjorn Helgaas	bool
259c39819c0SBjorn Helgaas
260c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST
261c39819c0SBjorn Helgaas	bool "Platform bus based DesignWare PCIe controller (host mode)"
262c39819c0SBjorn Helgaas	depends on PCI_MSI
263c39819c0SBjorn Helgaas	select PCIE_DW_HOST
264c39819c0SBjorn Helgaas	select PCIE_DW_PLAT
265c39819c0SBjorn Helgaas	help
266c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Designware IP to
267c39819c0SBjorn Helgaas	  work in host mode. There are two instances of PCIe controller in
268c39819c0SBjorn Helgaas	  Designware IP.
269c39819c0SBjorn Helgaas	  This controller can work either as EP or RC. In order to enable
270c39819c0SBjorn Helgaas	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
271c39819c0SBjorn Helgaas	  order to enable device-specific features PCI_DW_PLAT_EP must be
272c39819c0SBjorn Helgaas	  selected.
273c39819c0SBjorn Helgaas
274c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP
275c39819c0SBjorn Helgaas	bool "Platform bus based DesignWare PCIe controller (endpoint mode)"
276c39819c0SBjorn Helgaas	depends on PCI && PCI_MSI
277c39819c0SBjorn Helgaas	depends on PCI_ENDPOINT
278c39819c0SBjorn Helgaas	select PCIE_DW_EP
279c39819c0SBjorn Helgaas	select PCIE_DW_PLAT
280c39819c0SBjorn Helgaas	help
281c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Designware IP to
282c39819c0SBjorn Helgaas	  work in endpoint mode. There are two instances of PCIe controller
283c39819c0SBjorn Helgaas	  in Designware IP.
284c39819c0SBjorn Helgaas	  This controller can work either as EP or RC. In order to enable
285c39819c0SBjorn Helgaas	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
286c39819c0SBjorn Helgaas	  order to enable device-specific features PCI_DW_PLAT_EP must be
287c39819c0SBjorn Helgaas	  selected.
288c39819c0SBjorn Helgaas
289d45736b5SShashank Babu Chinta Venkataconfig PCIE_QCOM_COMMON
290d45736b5SShashank Babu Chinta Venkata	bool
291d45736b5SShashank Babu Chinta Venkata
292c39819c0SBjorn Helgaasconfig PCIE_QCOM
293c39819c0SBjorn Helgaas	bool "Qualcomm PCIe controller (host mode)"
294c39819c0SBjorn Helgaas	depends on OF && (ARCH_QCOM || COMPILE_TEST)
295c39819c0SBjorn Helgaas	depends on PCI_MSI
296c39819c0SBjorn Helgaas	select PCIE_DW_HOST
297c39819c0SBjorn Helgaas	select CRC8
298d45736b5SShashank Babu Chinta Venkata	select PCIE_QCOM_COMMON
299c39819c0SBjorn Helgaas	help
300c39819c0SBjorn Helgaas	  Say Y here to enable PCIe controller support on Qualcomm SoCs. The
301c39819c0SBjorn Helgaas	  PCIe controller uses the DesignWare core plus Qualcomm-specific
302c39819c0SBjorn Helgaas	  hardware wrappers.
303c39819c0SBjorn Helgaas
304c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP
305c39819c0SBjorn Helgaas	tristate "Qualcomm PCIe controller (endpoint mode)"
306c39819c0SBjorn Helgaas	depends on OF && (ARCH_QCOM || COMPILE_TEST)
307c39819c0SBjorn Helgaas	depends on PCI_ENDPOINT
308c39819c0SBjorn Helgaas	select PCIE_DW_EP
309d45736b5SShashank Babu Chinta Venkata	select PCIE_QCOM_COMMON
310c39819c0SBjorn Helgaas	help
311c39819c0SBjorn Helgaas	  Say Y here to enable support for the PCIe controllers on Qualcomm SoCs
312c39819c0SBjorn Helgaas	  to work in endpoint mode. The PCIe controller uses the DesignWare core
313c39819c0SBjorn Helgaas	  plus Qualcomm-specific hardware wrappers.
314c39819c0SBjorn Helgaas
3150d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4
3160d0c5510SYoshihiro Shimoda	tristate
3170d0c5510SYoshihiro Shimoda
3180d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST
3190d0c5510SYoshihiro Shimoda	tristate "Renesas R-Car Gen4 PCIe controller (host mode)"
3200d0c5510SYoshihiro Shimoda	depends on ARCH_RENESAS || COMPILE_TEST
3210d0c5510SYoshihiro Shimoda	depends on PCI_MSI
3220d0c5510SYoshihiro Shimoda	select PCIE_DW_HOST
3230d0c5510SYoshihiro Shimoda	select PCIE_RCAR_GEN4
3240d0c5510SYoshihiro Shimoda	help
3250d0c5510SYoshihiro Shimoda	  Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs.
3260d0c5510SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the module will be
3270d0c5510SYoshihiro Shimoda	  called pcie-rcar-gen4.ko. This uses the DesignWare core.
3280d0c5510SYoshihiro Shimoda
329e311b383SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_EP
330e311b383SYoshihiro Shimoda	tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)"
331e311b383SYoshihiro Shimoda	depends on ARCH_RENESAS || COMPILE_TEST
332e311b383SYoshihiro Shimoda	depends on PCI_ENDPOINT
333e311b383SYoshihiro Shimoda	select PCIE_DW_EP
334e311b383SYoshihiro Shimoda	select PCIE_RCAR_GEN4
335e311b383SYoshihiro Shimoda	help
336e311b383SYoshihiro Shimoda	  Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4
337e311b383SYoshihiro Shimoda	  SoCs. To compile this driver as a module, choose M here: the module
338e311b383SYoshihiro Shimoda	  will be called pcie-rcar-gen4.ko. This uses the DesignWare core.
339e311b383SYoshihiro Shimoda
340e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW
341e242f26fSNiklas Cassel	bool
342e242f26fSNiklas Cassel
343c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST
344e242f26fSNiklas Cassel	bool "Rockchip DesignWare PCIe controller (host mode)"
345c39819c0SBjorn Helgaas	depends on PCI_MSI
346c39819c0SBjorn Helgaas	depends on ARCH_ROCKCHIP || COMPILE_TEST
347c39819c0SBjorn Helgaas	depends on OF
348e242f26fSNiklas Cassel	select PCIE_DW_HOST
349e242f26fSNiklas Cassel	select PCIE_ROCKCHIP_DW
350c39819c0SBjorn Helgaas	help
351c39819c0SBjorn Helgaas	  Enables support for the DesignWare PCIe controller in the
352e242f26fSNiklas Cassel	  Rockchip SoC (except RK3399) to work in host mode.
353e242f26fSNiklas Cassel
354e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW_EP
355e242f26fSNiklas Cassel	bool "Rockchip DesignWare PCIe controller (endpoint mode)"
356e242f26fSNiklas Cassel	depends on ARCH_ROCKCHIP || COMPILE_TEST
357e242f26fSNiklas Cassel	depends on OF
358e242f26fSNiklas Cassel	depends on PCI_ENDPOINT
359e242f26fSNiklas Cassel	select PCIE_DW_EP
360e242f26fSNiklas Cassel	select PCIE_ROCKCHIP_DW
361e242f26fSNiklas Cassel	help
362e242f26fSNiklas Cassel	  Enables support for the DesignWare PCIe controller in the
363e242f26fSNiklas Cassel	  Rockchip SoC (except RK3399) to work in endpoint mode.
364c39819c0SBjorn Helgaas
365c39819c0SBjorn Helgaasconfig PCI_EXYNOS
366c39819c0SBjorn Helgaas	tristate "Samsung Exynos PCIe controller"
367c39819c0SBjorn Helgaas	depends on ARCH_EXYNOS || COMPILE_TEST
368a474d3fbSThomas Gleixner	depends on PCI_MSI
369da36024aSNobuhiro Iwamatsu	select PCIE_DW_HOST
370da36024aSNobuhiro Iwamatsu	help
371c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Samsung Exynos SoCs
372c39819c0SBjorn Helgaas	  to work in host mode. The PCI controller is based on the DesignWare
373c39819c0SBjorn Helgaas	  hardware and therefore the driver re-uses the DesignWare core
374c39819c0SBjorn Helgaas	  functions to implement the driver.
375c39819c0SBjorn Helgaas
376c39819c0SBjorn Helgaasconfig PCIE_FU740
377c39819c0SBjorn Helgaas	bool "SiFive FU740 PCIe controller"
378c39819c0SBjorn Helgaas	depends on PCI_MSI
379edd6ae10SConor Dooley	depends on ARCH_SIFIVE || COMPILE_TEST
380c39819c0SBjorn Helgaas	select PCIE_DW_HOST
381c39819c0SBjorn Helgaas	help
382c39819c0SBjorn Helgaas	  Say Y here if you want PCIe controller support for the SiFive
383c39819c0SBjorn Helgaas	  FU740.
384da36024aSNobuhiro Iwamatsu
3857e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER
38680c170d7SBjorn Helgaas	bool "Socionext UniPhier PCIe controller (host mode)"
3877e6d5cd8SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
3887e6d5cd8SKunihiko Hayashi	depends on OF && HAS_IOMEM
389a474d3fbSThomas Gleixner	depends on PCI_MSI
3907e6d5cd8SKunihiko Hayashi	select PCIE_DW_HOST
3917e6d5cd8SKunihiko Hayashi	help
3928d7e33d6SKunihiko Hayashi	  Say Y here if you want PCIe host controller support on UniPhier SoCs.
3937e6d5cd8SKunihiko Hayashi	  This driver supports LD20 and PXs3 SoCs.
3947e6d5cd8SKunihiko Hayashi
3958d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP
39680c170d7SBjorn Helgaas	bool "Socionext UniPhier PCIe controller (endpoint mode)"
3978d7e33d6SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
3988d7e33d6SKunihiko Hayashi	depends on OF && HAS_IOMEM
3998d7e33d6SKunihiko Hayashi	depends on PCI_ENDPOINT
4008d7e33d6SKunihiko Hayashi	select PCIE_DW_EP
4018d7e33d6SKunihiko Hayashi	help
4028d7e33d6SKunihiko Hayashi	  Say Y here if you want PCIe endpoint controller support on
4038d7e33d6SKunihiko Hayashi	  UniPhier SoCs. This driver supports Pro5 SoC.
4048d7e33d6SKunihiko Hayashi
405c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX
406c39819c0SBjorn Helgaas	bool "STMicroelectronics SPEAr PCIe controller"
407c39819c0SBjorn Helgaas	depends on ARCH_SPEAR13XX || COMPILE_TEST
408a474d3fbSThomas Gleixner	depends on PCI_MSI
409a8daea94SJonathan Chocron	select PCIE_DW_HOST
410a8daea94SJonathan Chocron	help
411c39819c0SBjorn Helgaas	  Say Y here if you want PCIe support on SPEAr13XX SoCs.
412a8daea94SJonathan Chocron
413c39819c0SBjorn Helgaasconfig PCI_DRA7XX
414c39819c0SBjorn Helgaas	tristate
415c39819c0SBjorn Helgaas
416c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST
417c39819c0SBjorn Helgaas	tristate "TI DRA7xx PCIe controller (host mode)"
418c39819c0SBjorn Helgaas	depends on SOC_DRA7XX || COMPILE_TEST
419c39819c0SBjorn Helgaas	depends on OF && HAS_IOMEM && TI_PIPE3
420a474d3fbSThomas Gleixner	depends on PCI_MSI
421c39819c0SBjorn Helgaas	select PCIE_DW_HOST
422c39819c0SBjorn Helgaas	select PCI_DRA7XX
423c39819c0SBjorn Helgaas	default y if SOC_DRA7XX
424c39819c0SBjorn Helgaas	help
425c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the DRA7xx SoC to work in
426c39819c0SBjorn Helgaas	  host mode. There are two instances of PCIe controller in DRA7xx.
427c39819c0SBjorn Helgaas	  This controller can work either as EP or RC. In order to enable
428c39819c0SBjorn Helgaas	  host-specific features PCI_DRA7XX_HOST must be selected and in order
429c39819c0SBjorn Helgaas	  to enable device-specific features PCI_DRA7XX_EP must be selected.
430c39819c0SBjorn Helgaas	  This uses the DesignWare core.
431c39819c0SBjorn Helgaas
432c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP
433c39819c0SBjorn Helgaas	tristate "TI DRA7xx PCIe controller (endpoint mode)"
434c39819c0SBjorn Helgaas	depends on SOC_DRA7XX || COMPILE_TEST
435c39819c0SBjorn Helgaas	depends on OF && HAS_IOMEM && TI_PIPE3
436c39819c0SBjorn Helgaas	depends on PCI_ENDPOINT
437c39819c0SBjorn Helgaas	select PCIE_DW_EP
438c39819c0SBjorn Helgaas	select PCI_DRA7XX
439c39819c0SBjorn Helgaas	help
440c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the DRA7xx SoC to work in
441c39819c0SBjorn Helgaas	  endpoint mode. There are two instances of PCIe controller in DRA7xx.
442c39819c0SBjorn Helgaas	  This controller can work either as EP or RC. In order to enable
443c39819c0SBjorn Helgaas	  host-specific features PCI_DRA7XX_HOST must be selected and in order
444c39819c0SBjorn Helgaas	  to enable device-specific features PCI_DRA7XX_EP must be selected.
445c39819c0SBjorn Helgaas	  This uses the DesignWare core.
446c39819c0SBjorn Helgaas
447c39819c0SBjorn Helgaasconfig PCI_KEYSTONE
448c39819c0SBjorn Helgaas	bool
449c39819c0SBjorn Helgaas
450c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST
451c39819c0SBjorn Helgaas	bool "TI Keystone PCIe controller (host mode)"
452c39819c0SBjorn Helgaas	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
453c39819c0SBjorn Helgaas	depends on PCI_MSI
454c39819c0SBjorn Helgaas	select PCIE_DW_HOST
455c39819c0SBjorn Helgaas	select PCI_KEYSTONE
456c39819c0SBjorn Helgaas	help
457c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Keystone SoC to
458c39819c0SBjorn Helgaas	  work in host mode. The PCI controller on Keystone is based on
459c39819c0SBjorn Helgaas	  DesignWare hardware and therefore the driver re-uses the
460c39819c0SBjorn Helgaas	  DesignWare core functions to implement the driver.
461c39819c0SBjorn Helgaas
462c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP
463c39819c0SBjorn Helgaas	bool "TI Keystone PCIe controller (endpoint mode)"
464c39819c0SBjorn Helgaas	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
465c39819c0SBjorn Helgaas	depends on PCI_ENDPOINT
466c39819c0SBjorn Helgaas	select PCIE_DW_EP
467c39819c0SBjorn Helgaas	select PCI_KEYSTONE
468c39819c0SBjorn Helgaas	help
469c39819c0SBjorn Helgaas	  Enables support for the PCIe controller in the Keystone SoC to
470c39819c0SBjorn Helgaas	  work in endpoint mode. The PCI controller on Keystone is based
471c39819c0SBjorn Helgaas	  on DesignWare hardware and therefore the driver re-uses the
472c39819c0SBjorn Helgaas	  DesignWare core functions to implement the driver.
473c39819c0SBjorn Helgaas
474c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST
475c39819c0SBjorn Helgaas	bool "Toshiba Visconti PCIe controller"
476c39819c0SBjorn Helgaas	depends on ARCH_VISCONTI || COMPILE_TEST
477c39819c0SBjorn Helgaas	depends on PCI_MSI
478e7e21b3aSPaul Walmsley	select PCIE_DW_HOST
479e7e21b3aSPaul Walmsley	help
480c39819c0SBjorn Helgaas	  Say Y here if you want PCIe controller support on Toshiba Visconti SoC.
481c39819c0SBjorn Helgaas	  This driver supports TMPV7708 SoC.
482e7e21b3aSPaul Walmsley
4836e0832faSShawn Linendmenu
484