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 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 17*c39819c0SBjorn Helgaasconfig PCIE_AL 18*c39819c0SBjorn Helgaas bool "Amazon Annapurna Labs PCIe controller" 19*c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 20a474d3fbSThomas Gleixner depends on PCI_MSI 216e0832faSShawn Lin select PCIE_DW_HOST 22*c39819c0SBjorn Helgaas select PCI_ECAM 236e0832faSShawn Lin help 24*c39819c0SBjorn Helgaas Say Y here to enable support of the Amazon's Annapurna Labs PCIe 25*c39819c0SBjorn Helgaas controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 26*c39819c0SBjorn Helgaas core plus Annapurna Labs proprietary hardware wrappers. This is 27*c39819c0SBjorn Helgaas required only for DT-based platforms. ACPI platforms with the 28*c39819c0SBjorn Helgaas Annapurna Labs PCIe controller don't need to enable this. 296e0832faSShawn Lin 30*c39819c0SBjorn Helgaasconfig PCI_MESON 31*c39819c0SBjorn Helgaas tristate "Amlogic Meson PCIe controller" 32*c39819c0SBjorn Helgaas default m if ARCH_MESON 33*c39819c0SBjorn Helgaas depends on PCI_MSI 34*c39819c0SBjorn Helgaas select PCIE_DW_HOST 356e0832faSShawn Lin help 36*c39819c0SBjorn Helgaas Say Y here if you want to enable PCI controller support on Amlogic 37*c39819c0SBjorn Helgaas SoCs. The PCI controller on Amlogic is based on DesignWare hardware 38*c39819c0SBjorn Helgaas and therefore the driver re-uses the DesignWare core functions to 39*c39819c0SBjorn Helgaas implement the driver. 406e0832faSShawn Lin 41*c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6 426e0832faSShawn Lin bool 436e0832faSShawn Lin 44*c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST 45*c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 46*c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 47a474d3fbSThomas Gleixner depends on PCI_MSI 486e0832faSShawn Lin select PCIE_DW_HOST 49*c39819c0SBjorn Helgaas select PCIE_ARTPEC6 506e0832faSShawn Lin help 51*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 52*c39819c0SBjorn Helgaas host mode. This uses the DesignWare core. 536e0832faSShawn Lin 54*c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP 55*c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 56*c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 576e0832faSShawn Lin depends on PCI_ENDPOINT 586e0832faSShawn Lin select PCIE_DW_EP 59*c39819c0SBjorn Helgaas select PCIE_ARTPEC6 606e0832faSShawn Lin help 61*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 62*c39819c0SBjorn Helgaas endpoint mode. This uses the DesignWare core. 636e0832faSShawn Lin 64*c39819c0SBjorn Helgaasconfig PCIE_BT1 65*c39819c0SBjorn Helgaas tristate "Baikal-T1 PCIe controller" 66*c39819c0SBjorn Helgaas depends on MIPS_BAIKAL_T1 || COMPILE_TEST 67a474d3fbSThomas Gleixner depends on PCI_MSI 686e0832faSShawn Lin select PCIE_DW_HOST 69778f7c19SJaehoon Chung help 70*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Baikal-T1 SoC to work 71*c39819c0SBjorn Helgaas in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 726e0832faSShawn Lin 736e0832faSShawn Linconfig PCI_IMX6 7475c2f26dSRichard Zhu bool 7575c2f26dSRichard Zhu 7675c2f26dSRichard Zhuconfig PCI_IMX6_HOST 7780c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 787e8ab1b2SLeonard Crestez depends on ARCH_MXC || COMPILE_TEST 79a474d3fbSThomas Gleixner depends on PCI_MSI 806e0832faSShawn Lin select PCIE_DW_HOST 8175c2f26dSRichard Zhu select PCI_IMX6 8275c2f26dSRichard Zhu help 8375c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 8475c2f26dSRichard Zhu work in Root Complex mode. The PCI controller on i.MX is based 8575c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 8675c2f26dSRichard Zhu DesignWare core functions to implement the driver. 8775c2f26dSRichard Zhu 8875c2f26dSRichard Zhuconfig PCI_IMX6_EP 8980c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 9075c2f26dSRichard Zhu depends on ARCH_MXC || COMPILE_TEST 9175c2f26dSRichard Zhu depends on PCI_ENDPOINT 9275c2f26dSRichard Zhu select PCIE_DW_EP 9375c2f26dSRichard Zhu select PCI_IMX6 9475c2f26dSRichard Zhu help 9575c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 9675c2f26dSRichard Zhu work in endpoint mode. The PCI controller on i.MX is based 9775c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 9875c2f26dSRichard Zhu DesignWare core functions to implement the driver. 996e0832faSShawn Lin 1006e0832faSShawn Linconfig PCI_LAYERSCAPE 10180c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (host mode)" 1026e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 103a474d3fbSThomas Gleixner depends on PCI_MSI 1046e0832faSShawn Lin select PCIE_DW_HOST 1052908a0d8SAndy Shevchenko select MFD_SYSCON 1066e0832faSShawn Lin help 107b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 108b5b24617SXiaowei Bao SoCs to work in Host mode. 109b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 110b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 111b5b24617SXiaowei Bao controller works in RC mode. 112b5b24617SXiaowei Bao 113b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP 11480c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (endpoint mode)" 115b5b24617SXiaowei Bao depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 116b5b24617SXiaowei Bao depends on PCI_ENDPOINT 117b5b24617SXiaowei Bao select PCIE_DW_EP 118b5b24617SXiaowei Bao help 119b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 120b5b24617SXiaowei Bao SoCs to work in Endpoint mode. 121b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 122b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 123b5b24617SXiaowei Bao controller works in RC mode. 1246e0832faSShawn Lin 1256e0832faSShawn Linconfig PCI_HISI 1266e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 12780c170d7SBjorn Helgaas bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 128a474d3fbSThomas Gleixner depends on PCI_MSI 1296e0832faSShawn Lin select PCIE_DW_HOST 1306e0832faSShawn Lin select PCI_HOST_COMMON 1316e0832faSShawn Lin help 1326e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon 1336e0832faSShawn Lin Hip05 and Hip06 SoCs 1346e0832faSShawn Lin 135*c39819c0SBjorn Helgaasconfig PCIE_KIRIN 136*c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 137*c39819c0SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 138a474d3fbSThomas Gleixner depends on PCI_MSI 1396e0832faSShawn Lin select PCIE_DW_HOST 140*c39819c0SBjorn Helgaas select REGMAP_MMIO 1416e0832faSShawn Lin help 142*c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support 143*c39819c0SBjorn Helgaas on HiSilicon Kirin series SoCs. 1446e0832faSShawn Lin 145*c39819c0SBjorn Helgaasconfig PCIE_HISI_STB 146*c39819c0SBjorn Helgaas bool "HiSilicon STB PCIe controller" 147*c39819c0SBjorn Helgaas depends on ARCH_HISI || COMPILE_TEST 148a474d3fbSThomas Gleixner depends on PCI_MSI 1496e0832faSShawn Lin select PCIE_DW_HOST 1506e0832faSShawn Lin help 151*c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on HiSilicon STB SoCs 1520e898eb8SSimon Xue 153ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW 15480c170d7SBjorn Helgaas bool "Intel Gateway PCIe controller " 155ed22aaaeSDilip Kota depends on OF && (X86 || COMPILE_TEST) 156a474d3fbSThomas Gleixner depends on PCI_MSI 157ed22aaaeSDilip Kota select PCIE_DW_HOST 158ed22aaaeSDilip Kota help 159ed22aaaeSDilip Kota Say 'Y' here to enable PCIe Host controller support on Intel 160ed22aaaeSDilip Kota Gateway SoCs. 161ed22aaaeSDilip Kota The PCIe controller uses the DesignWare core plus Intel-specific 162ed22aaaeSDilip Kota hardware wrappers. 163ed22aaaeSDilip Kota 1640c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY 1650c87f90bSSrikanth Thokala bool 1660c87f90bSSrikanth Thokala 1670c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST 16880c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (host mode)" 1690c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 170a474d3fbSThomas Gleixner depends on PCI_MSI 1710c87f90bSSrikanth Thokala select PCIE_DW_HOST 1720c87f90bSSrikanth Thokala select PCIE_KEEMBAY 1730c87f90bSSrikanth Thokala help 1740c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 1750c87f90bSSrikanth Thokala to work in host mode. 1760c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 1770c87f90bSSrikanth Thokala DesignWare core functions. 1780c87f90bSSrikanth Thokala 1790c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP 18080c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (endpoint mode)" 1810c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 182a474d3fbSThomas Gleixner depends on PCI_MSI 1830c87f90bSSrikanth Thokala depends on PCI_ENDPOINT 1840c87f90bSSrikanth Thokala select PCIE_DW_EP 1850c87f90bSSrikanth Thokala select PCIE_KEEMBAY 1860c87f90bSSrikanth Thokala help 1870c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 1880c87f90bSSrikanth Thokala to work in endpoint mode. 1890c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 1900c87f90bSSrikanth Thokala DesignWare core functions. 1910c87f90bSSrikanth Thokala 192*c39819c0SBjorn Helgaasconfig PCIE_ARMADA_8K 193*c39819c0SBjorn Helgaas bool "Marvell Armada-8K PCIe controller" 194*c39819c0SBjorn Helgaas depends on ARCH_MVEBU || COMPILE_TEST 195a474d3fbSThomas Gleixner depends on PCI_MSI 1966e0832faSShawn Lin select PCIE_DW_HOST 1976e0832faSShawn Lin help 198*c39819c0SBjorn Helgaas Say Y here if you want to enable PCIe controller support on 199*c39819c0SBjorn Helgaas Armada-8K SoCs. The PCIe controller on Armada-8K is based on 200*c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 201*c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 2029c0ef6d3SYue Wang 20356e15a23SVidya Sagarconfig PCIE_TEGRA194 204c57247f9SVidya Sagar tristate 205c57247f9SVidya Sagar 206c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST 20780c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 20856e15a23SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 209a474d3fbSThomas Gleixner depends on PCI_MSI 21056e15a23SVidya Sagar select PCIE_DW_HOST 21156e15a23SVidya Sagar select PHY_TEGRA194_P2U 212c57247f9SVidya Sagar select PCIE_TEGRA194 21356e15a23SVidya Sagar help 214c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 215c57247f9SVidya Sagar work in host mode. There are two instances of PCIe controllers in 216c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 217c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 218c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 219c57247f9SVidya Sagar selected. This uses the DesignWare core. 220c57247f9SVidya Sagar 221c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP 22280c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 223c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 224c57247f9SVidya Sagar depends on PCI_ENDPOINT 225c57247f9SVidya Sagar select PCIE_DW_EP 226c57247f9SVidya Sagar select PHY_TEGRA194_P2U 227c57247f9SVidya Sagar select PCIE_TEGRA194 228c57247f9SVidya Sagar help 229c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 23010739e2aSWesley Sheng work in endpoint mode. There are two instances of PCIe controllers in 231c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 232c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 233c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 234c57247f9SVidya Sagar selected. This uses the DesignWare core. 23556e15a23SVidya Sagar 236*c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT 237*c39819c0SBjorn Helgaas bool 238*c39819c0SBjorn Helgaas 239*c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST 240*c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 241*c39819c0SBjorn Helgaas depends on PCI_MSI 242*c39819c0SBjorn Helgaas select PCIE_DW_HOST 243*c39819c0SBjorn Helgaas select PCIE_DW_PLAT 244*c39819c0SBjorn Helgaas help 245*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 246*c39819c0SBjorn Helgaas work in host mode. There are two instances of PCIe controller in 247*c39819c0SBjorn Helgaas Designware IP. 248*c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 249*c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 250*c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 251*c39819c0SBjorn Helgaas selected. 252*c39819c0SBjorn Helgaas 253*c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP 254*c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 255*c39819c0SBjorn Helgaas depends on PCI && PCI_MSI 256*c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 257*c39819c0SBjorn Helgaas select PCIE_DW_EP 258*c39819c0SBjorn Helgaas select PCIE_DW_PLAT 259*c39819c0SBjorn Helgaas help 260*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 261*c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controller 262*c39819c0SBjorn Helgaas in Designware IP. 263*c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 264*c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 265*c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 266*c39819c0SBjorn Helgaas selected. 267*c39819c0SBjorn Helgaas 268*c39819c0SBjorn Helgaasconfig PCIE_QCOM 269*c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 270*c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 271*c39819c0SBjorn Helgaas depends on PCI_MSI 272*c39819c0SBjorn Helgaas select PCIE_DW_HOST 273*c39819c0SBjorn Helgaas select CRC8 274*c39819c0SBjorn Helgaas help 275*c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 276*c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 277*c39819c0SBjorn Helgaas hardware wrappers. 278*c39819c0SBjorn Helgaas 279*c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 280*c39819c0SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 281*c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 282*c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 283*c39819c0SBjorn Helgaas select PCIE_DW_EP 284*c39819c0SBjorn Helgaas help 285*c39819c0SBjorn Helgaas Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 286*c39819c0SBjorn Helgaas to work in endpoint mode. The PCIe controller uses the DesignWare core 287*c39819c0SBjorn Helgaas plus Qualcomm-specific hardware wrappers. 288*c39819c0SBjorn Helgaas 289*c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST 290*c39819c0SBjorn Helgaas bool "Rockchip DesignWare PCIe controller" 291*c39819c0SBjorn Helgaas select PCIE_DW 292*c39819c0SBjorn Helgaas select PCIE_DW_HOST 293*c39819c0SBjorn Helgaas depends on PCI_MSI 294*c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 295*c39819c0SBjorn Helgaas depends on OF 296*c39819c0SBjorn Helgaas help 297*c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 298*c39819c0SBjorn Helgaas Rockchip SoC except RK3399. 299*c39819c0SBjorn Helgaas 300*c39819c0SBjorn Helgaasconfig PCI_EXYNOS 301*c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 302*c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 303a474d3fbSThomas Gleixner depends on PCI_MSI 304da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 305da36024aSNobuhiro Iwamatsu help 306*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 307*c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 308*c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 309*c39819c0SBjorn Helgaas functions to implement the driver. 310*c39819c0SBjorn Helgaas 311*c39819c0SBjorn Helgaasconfig PCIE_FU740 312*c39819c0SBjorn Helgaas bool "SiFive FU740 PCIe controller" 313*c39819c0SBjorn Helgaas depends on PCI_MSI 314*c39819c0SBjorn Helgaas depends on SOC_SIFIVE || COMPILE_TEST 315*c39819c0SBjorn Helgaas select PCIE_DW_HOST 316*c39819c0SBjorn Helgaas help 317*c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support for the SiFive 318*c39819c0SBjorn Helgaas FU740. 319da36024aSNobuhiro Iwamatsu 3207e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 32180c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3227e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3237e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 324a474d3fbSThomas Gleixner depends on PCI_MSI 3257e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3267e6d5cd8SKunihiko Hayashi help 3278d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3287e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3297e6d5cd8SKunihiko Hayashi 3308d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 33180c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 3328d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3338d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 3348d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 3358d7e33d6SKunihiko Hayashi select PCIE_DW_EP 3368d7e33d6SKunihiko Hayashi help 3378d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 3388d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 3398d7e33d6SKunihiko Hayashi 340*c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 341*c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 342*c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 343a474d3fbSThomas Gleixner depends on PCI_MSI 344a8daea94SJonathan Chocron select PCIE_DW_HOST 345a8daea94SJonathan Chocron help 346*c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 347a8daea94SJonathan Chocron 348*c39819c0SBjorn Helgaasconfig PCI_DRA7XX 349*c39819c0SBjorn Helgaas tristate 350*c39819c0SBjorn Helgaas 351*c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 352*c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 353*c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 354*c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 355a474d3fbSThomas Gleixner depends on PCI_MSI 356*c39819c0SBjorn Helgaas select PCIE_DW_HOST 357*c39819c0SBjorn Helgaas select PCI_DRA7XX 358*c39819c0SBjorn Helgaas default y if SOC_DRA7XX 359*c39819c0SBjorn Helgaas help 360*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 361*c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 362*c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 363*c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 364*c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 365*c39819c0SBjorn Helgaas This uses the DesignWare core. 366*c39819c0SBjorn Helgaas 367*c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 368*c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 369*c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 370*c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 371*c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 372*c39819c0SBjorn Helgaas select PCIE_DW_EP 373*c39819c0SBjorn Helgaas select PCI_DRA7XX 374*c39819c0SBjorn Helgaas help 375*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 376*c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 377*c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 378*c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 379*c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 380*c39819c0SBjorn Helgaas This uses the DesignWare core. 381*c39819c0SBjorn Helgaas 382*c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 383*c39819c0SBjorn Helgaas bool 384*c39819c0SBjorn Helgaas 385*c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 386*c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 387*c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 388*c39819c0SBjorn Helgaas depends on PCI_MSI 389*c39819c0SBjorn Helgaas select PCIE_DW_HOST 390*c39819c0SBjorn Helgaas select PCI_KEYSTONE 391*c39819c0SBjorn Helgaas help 392*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 393*c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 394*c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 395*c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 396*c39819c0SBjorn Helgaas 397*c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 398*c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 399*c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 400*c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 401*c39819c0SBjorn Helgaas select PCIE_DW_EP 402*c39819c0SBjorn Helgaas select PCI_KEYSTONE 403*c39819c0SBjorn Helgaas help 404*c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 405*c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 406*c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 407*c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 408*c39819c0SBjorn Helgaas 409*c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST 410*c39819c0SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 411*c39819c0SBjorn Helgaas depends on ARCH_VISCONTI || COMPILE_TEST 412*c39819c0SBjorn Helgaas depends on PCI_MSI 413e7e21b3aSPaul Walmsley select PCIE_DW_HOST 414e7e21b3aSPaul Walmsley help 415*c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 416*c39819c0SBjorn Helgaas This driver supports TMPV7708 SoC. 417e7e21b3aSPaul Walmsley 4186e0832faSShawn Linendmenu 419