xref: /linux/drivers/pci/controller/dwc/Kconfig (revision 80c170d7b13d0a46a46f869774baf3c02d775654)
16e0832faSShawn Lin# SPDX-License-Identifier: GPL-2.0
26e0832faSShawn Lin
3*80c170d7SBjorn Helgaasmenu "DesignWare-based PCIe controllers"
46e0832faSShawn Lin	depends on PCI
56e0832faSShawn Lin
66e0832faSShawn Linconfig PCIE_DW
76e0832faSShawn Lin	bool
86e0832faSShawn Lin
96e0832faSShawn Linconfig PCIE_DW_HOST
106e0832faSShawn Lin	bool
116e0832faSShawn Lin	select PCIE_DW
126e0832faSShawn Lin
136e0832faSShawn Linconfig PCIE_DW_EP
146e0832faSShawn Lin	bool
156e0832faSShawn Lin	select PCIE_DW
166e0832faSShawn Lin
176e0832faSShawn Linconfig PCI_DRA7XX
183b868d15SLuca Ceresoli	tristate
196e0832faSShawn Lin
206e0832faSShawn Linconfig PCI_DRA7XX_HOST
21*80c170d7SBjorn Helgaas	tristate "TI DRA7xx PCIe controller (host mode)"
226e0832faSShawn Lin	depends on SOC_DRA7XX || COMPILE_TEST
236e0832faSShawn Lin	depends on OF && HAS_IOMEM && TI_PIPE3
24a474d3fbSThomas Gleixner	depends on PCI_MSI
256e0832faSShawn Lin	select PCIE_DW_HOST
266e0832faSShawn Lin	select PCI_DRA7XX
2794b84ac1SBjorn Helgaas	default y if SOC_DRA7XX
286e0832faSShawn Lin	help
296e0832faSShawn Lin	  Enables support for the PCIe controller in the DRA7xx SoC to work in
306e0832faSShawn Lin	  host mode. There are two instances of PCIe controller in DRA7xx.
316e0832faSShawn Lin	  This controller can work either as EP or RC. In order to enable
326e0832faSShawn Lin	  host-specific features PCI_DRA7XX_HOST must be selected and in order
336e0832faSShawn Lin	  to enable device-specific features PCI_DRA7XX_EP must be selected.
346e0832faSShawn Lin	  This uses the DesignWare core.
356e0832faSShawn Lin
366e0832faSShawn Linconfig PCI_DRA7XX_EP
37*80c170d7SBjorn Helgaas	tristate "TI DRA7xx PCIe controller (endpoint mode)"
386e0832faSShawn Lin	depends on SOC_DRA7XX || COMPILE_TEST
396e0832faSShawn Lin	depends on OF && HAS_IOMEM && TI_PIPE3
408faa1d2dSAndy Shevchenko	depends on PCI_ENDPOINT
416e0832faSShawn Lin	select PCIE_DW_EP
426e0832faSShawn Lin	select PCI_DRA7XX
436e0832faSShawn Lin	help
446e0832faSShawn Lin	  Enables support for the PCIe controller in the DRA7xx SoC to work in
456e0832faSShawn Lin	  endpoint mode. There are two instances of PCIe controller in DRA7xx.
466e0832faSShawn Lin	  This controller can work either as EP or RC. In order to enable
476e0832faSShawn Lin	  host-specific features PCI_DRA7XX_HOST must be selected and in order
486e0832faSShawn Lin	  to enable device-specific features PCI_DRA7XX_EP must be selected.
496e0832faSShawn Lin	  This uses the DesignWare core.
506e0832faSShawn Lin
516e0832faSShawn Linconfig PCIE_DW_PLAT
526e0832faSShawn Lin	bool
536e0832faSShawn Lin
546e0832faSShawn Linconfig PCIE_DW_PLAT_HOST
55*80c170d7SBjorn Helgaas	bool "Platform bus based DesignWare PCIe controller (host mode)"
56a474d3fbSThomas Gleixner	depends on PCI_MSI
576e0832faSShawn Lin	select PCIE_DW_HOST
586e0832faSShawn Lin	select PCIE_DW_PLAT
596e0832faSShawn Lin	help
606e0832faSShawn Lin	  Enables support for the PCIe controller in the Designware IP to
616e0832faSShawn Lin	  work in host mode. There are two instances of PCIe controller in
626e0832faSShawn Lin	  Designware IP.
636e0832faSShawn Lin	  This controller can work either as EP or RC. In order to enable
646e0832faSShawn Lin	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
656e0832faSShawn Lin	  order to enable device-specific features PCI_DW_PLAT_EP must be
666e0832faSShawn Lin	  selected.
676e0832faSShawn Lin
686e0832faSShawn Linconfig PCIE_DW_PLAT_EP
69*80c170d7SBjorn Helgaas	bool "Platform bus based DesignWare PCIe controller (endpoint mode)"
70a474d3fbSThomas Gleixner	depends on PCI && PCI_MSI
716e0832faSShawn Lin	depends on PCI_ENDPOINT
726e0832faSShawn Lin	select PCIE_DW_EP
736e0832faSShawn Lin	select PCIE_DW_PLAT
746e0832faSShawn Lin	help
756e0832faSShawn Lin	  Enables support for the PCIe controller in the Designware IP to
766e0832faSShawn Lin	  work in endpoint mode. There are two instances of PCIe controller
776e0832faSShawn Lin	  in Designware IP.
786e0832faSShawn Lin	  This controller can work either as EP or RC. In order to enable
796e0832faSShawn Lin	  host-specific features PCIE_DW_PLAT_HOST must be selected and in
806e0832faSShawn Lin	  order to enable device-specific features PCI_DW_PLAT_EP must be
816e0832faSShawn Lin	  selected.
826e0832faSShawn Lin
836e0832faSShawn Linconfig PCI_EXYNOS
84778f7c19SJaehoon Chung	tristate "Samsung Exynos PCIe controller"
85778f7c19SJaehoon Chung	depends on ARCH_EXYNOS || COMPILE_TEST
86a474d3fbSThomas Gleixner	depends on PCI_MSI
876e0832faSShawn Lin	select PCIE_DW_HOST
88778f7c19SJaehoon Chung	help
89778f7c19SJaehoon Chung	  Enables support for the PCIe controller in the Samsung Exynos SoCs
90778f7c19SJaehoon Chung	  to work in host mode. The PCI controller is based on the DesignWare
91778f7c19SJaehoon Chung	  hardware and therefore the driver re-uses the DesignWare core
92778f7c19SJaehoon Chung	  functions to implement the driver.
936e0832faSShawn Lin
946e0832faSShawn Linconfig PCI_IMX6
9575c2f26dSRichard Zhu	bool
9675c2f26dSRichard Zhu
9775c2f26dSRichard Zhuconfig PCI_IMX6_HOST
98*80c170d7SBjorn 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
110*80c170d7SBjorn 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 PCIE_SPEAR13XX
1226e0832faSShawn Lin	bool "STMicroelectronics SPEAr PCIe controller"
1236e0832faSShawn Lin	depends on ARCH_SPEAR13XX || COMPILE_TEST
124a474d3fbSThomas Gleixner	depends on PCI_MSI
1256e0832faSShawn Lin	select PCIE_DW_HOST
1266e0832faSShawn Lin	help
1276e0832faSShawn Lin	  Say Y here if you want PCIe support on SPEAr13XX SoCs.
1286e0832faSShawn Lin
1296e0832faSShawn Linconfig PCI_KEYSTONE
13023284ad6SKishon Vijay Abraham I	bool
13123284ad6SKishon Vijay Abraham I
13223284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_HOST
133*80c170d7SBjorn Helgaas	bool "TI Keystone PCIe controller (host mode)"
134476b70b4SAlex Dewar	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
135a474d3fbSThomas Gleixner	depends on PCI_MSI
1366e0832faSShawn Lin	select PCIE_DW_HOST
13723284ad6SKishon Vijay Abraham I	select PCI_KEYSTONE
1386e0832faSShawn Lin	help
13923284ad6SKishon Vijay Abraham I	  Enables support for the PCIe controller in the Keystone SoC to
14023284ad6SKishon Vijay Abraham I	  work in host mode. The PCI controller on Keystone is based on
14123284ad6SKishon Vijay Abraham I	  DesignWare hardware and therefore the driver re-uses the
14223284ad6SKishon Vijay Abraham I	  DesignWare core functions to implement the driver.
14323284ad6SKishon Vijay Abraham I
14423284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_EP
145*80c170d7SBjorn Helgaas	bool "TI Keystone PCIe controller (endpoint mode)"
146476b70b4SAlex Dewar	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
14723284ad6SKishon Vijay Abraham I	depends on PCI_ENDPOINT
14823284ad6SKishon Vijay Abraham I	select PCIE_DW_EP
14923284ad6SKishon Vijay Abraham I	select PCI_KEYSTONE
15023284ad6SKishon Vijay Abraham I	help
15123284ad6SKishon Vijay Abraham I	  Enables support for the PCIe controller in the Keystone SoC to
15223284ad6SKishon Vijay Abraham I	  work in endpoint mode. The PCI controller on Keystone is based
15323284ad6SKishon Vijay Abraham I	  on DesignWare hardware and therefore the driver re-uses the
15423284ad6SKishon Vijay Abraham I	  DesignWare core functions to implement the driver.
1556e0832faSShawn Lin
1566e0832faSShawn Linconfig PCI_LAYERSCAPE
157*80c170d7SBjorn Helgaas	bool "Freescale Layerscape PCIe controller (host mode)"
1586e0832faSShawn Lin	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
159a474d3fbSThomas Gleixner	depends on PCI_MSI
1606e0832faSShawn Lin	select PCIE_DW_HOST
1612908a0d8SAndy Shevchenko	select MFD_SYSCON
1626e0832faSShawn Lin	help
163b5b24617SXiaowei Bao	  Say Y here if you want to enable PCIe controller support on Layerscape
164b5b24617SXiaowei Bao	  SoCs to work in Host mode.
165b5b24617SXiaowei Bao	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
166b5b24617SXiaowei Bao	  determines which PCIe controller works in EP mode and which PCIe
167b5b24617SXiaowei Bao	  controller works in RC mode.
168b5b24617SXiaowei Bao
169b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP
170*80c170d7SBjorn Helgaas	bool "Freescale Layerscape PCIe controller (endpoint mode)"
171b5b24617SXiaowei Bao	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
172b5b24617SXiaowei Bao	depends on PCI_ENDPOINT
173b5b24617SXiaowei Bao	select PCIE_DW_EP
174b5b24617SXiaowei Bao	help
175b5b24617SXiaowei Bao	  Say Y here if you want to enable PCIe controller support on Layerscape
176b5b24617SXiaowei Bao	  SoCs to work in Endpoint mode.
177b5b24617SXiaowei Bao	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
178b5b24617SXiaowei Bao	  determines which PCIe controller works in EP mode and which PCIe
179b5b24617SXiaowei Bao	  controller works in RC mode.
1806e0832faSShawn Lin
1816e0832faSShawn Linconfig PCI_HISI
1826e0832faSShawn Lin	depends on OF && (ARM64 || COMPILE_TEST)
183*80c170d7SBjorn Helgaas	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller"
184a474d3fbSThomas Gleixner	depends on PCI_MSI
1856e0832faSShawn Lin	select PCIE_DW_HOST
1866e0832faSShawn Lin	select PCI_HOST_COMMON
1876e0832faSShawn Lin	help
1886e0832faSShawn Lin	  Say Y here if you want PCIe controller support on HiSilicon
1896e0832faSShawn Lin	  Hip05 and Hip06 SoCs
1906e0832faSShawn Lin
1916e0832faSShawn Linconfig PCIE_QCOM
192*80c170d7SBjorn Helgaas	bool "Qualcomm PCIe controller (host mode)"
1936e0832faSShawn Lin	depends on OF && (ARCH_QCOM || COMPILE_TEST)
194a474d3fbSThomas Gleixner	depends on PCI_MSI
1956e0832faSShawn Lin	select PCIE_DW_HOST
1964c939882SManivannan Sadhasivam	select CRC8
1976e0832faSShawn Lin	help
1986e0832faSShawn Lin	  Say Y here to enable PCIe controller support on Qualcomm SoCs. The
1996e0832faSShawn Lin	  PCIe controller uses the DesignWare core plus Qualcomm-specific
2006e0832faSShawn Lin	  hardware wrappers.
2016e0832faSShawn Lin
202f55fee56SManivannan Sadhasivamconfig PCIE_QCOM_EP
203*80c170d7SBjorn Helgaas	tristate "Qualcomm PCIe controller (endpoint mode)"
204f55fee56SManivannan Sadhasivam	depends on OF && (ARCH_QCOM || COMPILE_TEST)
205f55fee56SManivannan Sadhasivam	depends on PCI_ENDPOINT
206f55fee56SManivannan Sadhasivam	select PCIE_DW_EP
207f55fee56SManivannan Sadhasivam	help
208f55fee56SManivannan Sadhasivam	  Say Y here to enable support for the PCIe controllers on Qualcomm SoCs
209f55fee56SManivannan Sadhasivam	  to work in endpoint mode. The PCIe controller uses the DesignWare core
210f55fee56SManivannan Sadhasivam	  plus Qualcomm-specific hardware wrappers.
211f55fee56SManivannan Sadhasivam
2126e0832faSShawn Linconfig PCIE_ARMADA_8K
2136e0832faSShawn Lin	bool "Marvell Armada-8K PCIe controller"
2146e0832faSShawn Lin	depends on ARCH_MVEBU || COMPILE_TEST
215a474d3fbSThomas Gleixner	depends on PCI_MSI
2166e0832faSShawn Lin	select PCIE_DW_HOST
2176e0832faSShawn Lin	help
2186e0832faSShawn Lin	  Say Y here if you want to enable PCIe controller support on
2196e0832faSShawn Lin	  Armada-8K SoCs. The PCIe controller on Armada-8K is based on
2206e0832faSShawn Lin	  DesignWare hardware and therefore the driver re-uses the
2216e0832faSShawn Lin	  DesignWare core functions to implement the driver.
2226e0832faSShawn Lin
2236e0832faSShawn Linconfig PCIE_ARTPEC6
2246e0832faSShawn Lin	bool
2256e0832faSShawn Lin
2266e0832faSShawn Linconfig PCIE_ARTPEC6_HOST
227*80c170d7SBjorn Helgaas	bool "Axis ARTPEC-6 PCIe controller (host mode)"
2286e0832faSShawn Lin	depends on MACH_ARTPEC6 || COMPILE_TEST
229a474d3fbSThomas Gleixner	depends on PCI_MSI
2306e0832faSShawn Lin	select PCIE_DW_HOST
2316e0832faSShawn Lin	select PCIE_ARTPEC6
2326e0832faSShawn Lin	help
2336e0832faSShawn Lin	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
2346e0832faSShawn Lin	  host mode. This uses the DesignWare core.
2356e0832faSShawn Lin
2366e0832faSShawn Linconfig PCIE_ARTPEC6_EP
237*80c170d7SBjorn Helgaas	bool "Axis ARTPEC-6 PCIe controller (endpoint mode)"
2386e0832faSShawn Lin	depends on MACH_ARTPEC6 || COMPILE_TEST
2396e0832faSShawn Lin	depends on PCI_ENDPOINT
2406e0832faSShawn Lin	select PCIE_DW_EP
2416e0832faSShawn Lin	select PCIE_ARTPEC6
2426e0832faSShawn Lin	help
2436e0832faSShawn Lin	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
2446e0832faSShawn Lin	  endpoint mode. This uses the DesignWare core.
2456e0832faSShawn Lin
246ba6ed462SSerge Seminconfig PCIE_BT1
247ba6ed462SSerge Semin	tristate "Baikal-T1 PCIe controller"
248ba6ed462SSerge Semin	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
249760d560fSLukas Bulwahn	depends on PCI_MSI
250ba6ed462SSerge Semin	select PCIE_DW_HOST
251ba6ed462SSerge Semin	help
252ba6ed462SSerge Semin	  Enables support for the PCIe controller in the Baikal-T1 SoC to work
253ba6ed462SSerge Semin	  in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core.
254ba6ed462SSerge Semin
2550e898eb8SSimon Xueconfig PCIE_ROCKCHIP_DW_HOST
2560e898eb8SSimon Xue	bool "Rockchip DesignWare PCIe controller"
2570e898eb8SSimon Xue	select PCIE_DW
2580e898eb8SSimon Xue	select PCIE_DW_HOST
259a474d3fbSThomas Gleixner	depends on PCI_MSI
2600e898eb8SSimon Xue	depends on ARCH_ROCKCHIP || COMPILE_TEST
2610e898eb8SSimon Xue	depends on OF
2620e898eb8SSimon Xue	help
2630e898eb8SSimon Xue	  Enables support for the DesignWare PCIe controller in the
2640e898eb8SSimon Xue	  Rockchip SoC except RK3399.
2650e898eb8SSimon Xue
266ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW
267*80c170d7SBjorn Helgaas	bool "Intel Gateway PCIe controller "
268ed22aaaeSDilip Kota	depends on OF && (X86 || COMPILE_TEST)
269a474d3fbSThomas Gleixner	depends on PCI_MSI
270ed22aaaeSDilip Kota	select PCIE_DW_HOST
271ed22aaaeSDilip Kota	help
272ed22aaaeSDilip Kota	  Say 'Y' here to enable PCIe Host controller support on Intel
273ed22aaaeSDilip Kota	  Gateway SoCs.
274ed22aaaeSDilip Kota	  The PCIe controller uses the DesignWare core plus Intel-specific
275ed22aaaeSDilip Kota	  hardware wrappers.
276ed22aaaeSDilip Kota
2770c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY
2780c87f90bSSrikanth Thokala	bool
2790c87f90bSSrikanth Thokala
2800c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST
281*80c170d7SBjorn Helgaas	bool "Intel Keem Bay PCIe controller (host mode)"
2820c87f90bSSrikanth Thokala	depends on ARCH_KEEMBAY || COMPILE_TEST
283a474d3fbSThomas Gleixner	depends on PCI_MSI
2840c87f90bSSrikanth Thokala	select PCIE_DW_HOST
2850c87f90bSSrikanth Thokala	select PCIE_KEEMBAY
2860c87f90bSSrikanth Thokala	help
2870c87f90bSSrikanth Thokala	  Say 'Y' here to enable support for the PCIe controller in Keem Bay
2880c87f90bSSrikanth Thokala	  to work in host mode.
2890c87f90bSSrikanth Thokala	  The PCIe controller is based on DesignWare Hardware and uses
2900c87f90bSSrikanth Thokala	  DesignWare core functions.
2910c87f90bSSrikanth Thokala
2920c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP
293*80c170d7SBjorn Helgaas	bool "Intel Keem Bay PCIe controller (endpoint mode)"
2940c87f90bSSrikanth Thokala	depends on ARCH_KEEMBAY || COMPILE_TEST
295a474d3fbSThomas Gleixner	depends on PCI_MSI
2960c87f90bSSrikanth Thokala	depends on PCI_ENDPOINT
2970c87f90bSSrikanth Thokala	select PCIE_DW_EP
2980c87f90bSSrikanth Thokala	select PCIE_KEEMBAY
2990c87f90bSSrikanth Thokala	help
3000c87f90bSSrikanth Thokala	  Say 'Y' here to enable support for the PCIe controller in Keem Bay
3010c87f90bSSrikanth Thokala	  to work in endpoint mode.
3020c87f90bSSrikanth Thokala	  The PCIe controller is based on DesignWare Hardware and uses
3030c87f90bSSrikanth Thokala	  DesignWare core functions.
3040c87f90bSSrikanth Thokala
3056e0832faSShawn Linconfig PCIE_KIRIN
3066e0832faSShawn Lin	depends on OF && (ARM64 || COMPILE_TEST)
307*80c170d7SBjorn Helgaas	tristate "HiSilicon Kirin PCIe controller"
308a474d3fbSThomas Gleixner	depends on PCI_MSI
3096e0832faSShawn Lin	select PCIE_DW_HOST
3103a2776e8SJosh Triplett	select REGMAP_MMIO
3116e0832faSShawn Lin	help
3126e0832faSShawn Lin	  Say Y here if you want PCIe controller support
3136e0832faSShawn Lin	  on HiSilicon Kirin series SoCs.
3146e0832faSShawn Lin
3156e0832faSShawn Linconfig PCIE_HISI_STB
316*80c170d7SBjorn Helgaas	bool "HiSilicon STB PCIe controller"
3176e0832faSShawn Lin	depends on ARCH_HISI || COMPILE_TEST
318a474d3fbSThomas Gleixner	depends on PCI_MSI
3196e0832faSShawn Lin	select PCIE_DW_HOST
3206e0832faSShawn Lin	help
3216e0832faSShawn Lin	  Say Y here if you want PCIe controller support on HiSilicon STB SoCs
3226e0832faSShawn Lin
3239c0ef6d3SYue Wangconfig PCI_MESON
3246ba4ce6bSBjorn Helgaas	tristate "Amlogic Meson PCIe controller"
325a98d2187SKevin Hilman	default m if ARCH_MESON
326a474d3fbSThomas Gleixner	depends on PCI_MSI
3279c0ef6d3SYue Wang	select PCIE_DW_HOST
3289c0ef6d3SYue Wang	help
3299c0ef6d3SYue Wang	  Say Y here if you want to enable PCI controller support on Amlogic
3309c0ef6d3SYue Wang	  SoCs. The PCI controller on Amlogic is based on DesignWare hardware
3319c0ef6d3SYue Wang	  and therefore the driver re-uses the DesignWare core functions to
3329c0ef6d3SYue Wang	  implement the driver.
3339c0ef6d3SYue Wang
33456e15a23SVidya Sagarconfig PCIE_TEGRA194
335c57247f9SVidya Sagar	tristate
336c57247f9SVidya Sagar
337c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST
338*80c170d7SBjorn Helgaas	tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)"
33956e15a23SVidya Sagar	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
340a474d3fbSThomas Gleixner	depends on PCI_MSI
34156e15a23SVidya Sagar	select PCIE_DW_HOST
34256e15a23SVidya Sagar	select PHY_TEGRA194_P2U
343c57247f9SVidya Sagar	select PCIE_TEGRA194
34456e15a23SVidya Sagar	help
345c57247f9SVidya Sagar	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
346c57247f9SVidya Sagar	  work in host mode. There are two instances of PCIe controllers in
347c57247f9SVidya Sagar	  Tegra194. This controller can work either as EP or RC. In order to
348c57247f9SVidya Sagar	  enable host-specific features PCIE_TEGRA194_HOST must be selected and
349c57247f9SVidya Sagar	  in order to enable device-specific features PCIE_TEGRA194_EP must be
350c57247f9SVidya Sagar	  selected. This uses the DesignWare core.
351c57247f9SVidya Sagar
352c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP
353*80c170d7SBjorn Helgaas	tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)"
354c57247f9SVidya Sagar	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
355c57247f9SVidya Sagar	depends on PCI_ENDPOINT
356c57247f9SVidya Sagar	select PCIE_DW_EP
357c57247f9SVidya Sagar	select PHY_TEGRA194_P2U
358c57247f9SVidya Sagar	select PCIE_TEGRA194
359c57247f9SVidya Sagar	help
360c57247f9SVidya Sagar	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
36110739e2aSWesley Sheng	  work in endpoint mode. There are two instances of PCIe controllers in
362c57247f9SVidya Sagar	  Tegra194. This controller can work either as EP or RC. In order to
363c57247f9SVidya Sagar	  enable host-specific features PCIE_TEGRA194_HOST must be selected and
364c57247f9SVidya Sagar	  in order to enable device-specific features PCIE_TEGRA194_EP must be
365c57247f9SVidya Sagar	  selected. This uses the DesignWare core.
36656e15a23SVidya Sagar
367da36024aSNobuhiro Iwamatsuconfig PCIE_VISCONTI_HOST
368*80c170d7SBjorn Helgaas	bool "Toshiba Visconti PCIe controller"
369da36024aSNobuhiro Iwamatsu	depends on ARCH_VISCONTI || COMPILE_TEST
370a474d3fbSThomas Gleixner	depends on PCI_MSI
371da36024aSNobuhiro Iwamatsu	select PCIE_DW_HOST
372da36024aSNobuhiro Iwamatsu	help
373da36024aSNobuhiro Iwamatsu	  Say Y here if you want PCIe controller support on Toshiba Visconti SoC.
374da36024aSNobuhiro Iwamatsu	  This driver supports TMPV7708 SoC.
375da36024aSNobuhiro Iwamatsu
3767e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER
377*80c170d7SBjorn Helgaas	bool "Socionext UniPhier PCIe controller (host mode)"
3787e6d5cd8SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
3797e6d5cd8SKunihiko Hayashi	depends on OF && HAS_IOMEM
380a474d3fbSThomas Gleixner	depends on PCI_MSI
3817e6d5cd8SKunihiko Hayashi	select PCIE_DW_HOST
3827e6d5cd8SKunihiko Hayashi	help
3838d7e33d6SKunihiko Hayashi	  Say Y here if you want PCIe host controller support on UniPhier SoCs.
3847e6d5cd8SKunihiko Hayashi	  This driver supports LD20 and PXs3 SoCs.
3857e6d5cd8SKunihiko Hayashi
3868d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP
387*80c170d7SBjorn Helgaas	bool "Socionext UniPhier PCIe controller (endpoint mode)"
3888d7e33d6SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
3898d7e33d6SKunihiko Hayashi	depends on OF && HAS_IOMEM
3908d7e33d6SKunihiko Hayashi	depends on PCI_ENDPOINT
3918d7e33d6SKunihiko Hayashi	select PCIE_DW_EP
3928d7e33d6SKunihiko Hayashi	help
3938d7e33d6SKunihiko Hayashi	  Say Y here if you want PCIe endpoint controller support on
3948d7e33d6SKunihiko Hayashi	  UniPhier SoCs. This driver supports Pro5 SoC.
3958d7e33d6SKunihiko Hayashi
396a8daea94SJonathan Chocronconfig PCIE_AL
397a8daea94SJonathan Chocron	bool "Amazon Annapurna Labs PCIe controller"
398a8daea94SJonathan Chocron	depends on OF && (ARM64 || COMPILE_TEST)
399a474d3fbSThomas Gleixner	depends on PCI_MSI
400a8daea94SJonathan Chocron	select PCIE_DW_HOST
40159521c3cSArnd Bergmann	select PCI_ECAM
402a8daea94SJonathan Chocron	help
403a8daea94SJonathan Chocron	  Say Y here to enable support of the Amazon's Annapurna Labs PCIe
404a8daea94SJonathan Chocron	  controller IP on Amazon SoCs. The PCIe controller uses the DesignWare
405a8daea94SJonathan Chocron	  core plus Annapurna Labs proprietary hardware wrappers. This is
406a8daea94SJonathan Chocron	  required only for DT-based platforms. ACPI platforms with the
407a8daea94SJonathan Chocron	  Annapurna Labs PCIe controller don't need to enable this.
408a8daea94SJonathan Chocron
409e7e21b3aSPaul Walmsleyconfig PCIE_FU740
410*80c170d7SBjorn Helgaas	bool "SiFive FU740 PCIe controller"
411a474d3fbSThomas Gleixner	depends on PCI_MSI
412e7e21b3aSPaul Walmsley	depends on SOC_SIFIVE || COMPILE_TEST
413e7e21b3aSPaul Walmsley	select PCIE_DW_HOST
414e7e21b3aSPaul Walmsley	help
415e7e21b3aSPaul Walmsley	  Say Y here if you want PCIe controller support for the SiFive
416e7e21b3aSPaul Walmsley	  FU740.
417e7e21b3aSPaul Walmsley
4186e0832faSShawn Linendmenu
419