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 17c39819c0SBjorn Helgaasconfig PCIE_AL 18c39819c0SBjorn Helgaas bool "Amazon Annapurna Labs PCIe controller" 19c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 20a474d3fbSThomas Gleixner depends on PCI_MSI 216e0832faSShawn Lin select PCIE_DW_HOST 22c39819c0SBjorn Helgaas select PCI_ECAM 236e0832faSShawn Lin help 24c39819c0SBjorn Helgaas Say Y here to enable support of the Amazon's Annapurna Labs PCIe 25c39819c0SBjorn Helgaas controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 26c39819c0SBjorn Helgaas core plus Annapurna Labs proprietary hardware wrappers. This is 27c39819c0SBjorn Helgaas required only for DT-based platforms. ACPI platforms with the 28c39819c0SBjorn Helgaas Annapurna Labs PCIe controller don't need to enable this. 296e0832faSShawn Lin 30c39819c0SBjorn Helgaasconfig PCI_MESON 31c39819c0SBjorn Helgaas tristate "Amlogic Meson PCIe controller" 32c39819c0SBjorn Helgaas default m if ARCH_MESON 33c39819c0SBjorn Helgaas depends on PCI_MSI 34c39819c0SBjorn Helgaas select PCIE_DW_HOST 356e0832faSShawn Lin help 36c39819c0SBjorn Helgaas Say Y here if you want to enable PCI controller support on Amlogic 37c39819c0SBjorn Helgaas SoCs. The PCI controller on Amlogic is based on DesignWare hardware 38c39819c0SBjorn Helgaas and therefore the driver re-uses the DesignWare core functions to 39c39819c0SBjorn Helgaas implement the driver. 406e0832faSShawn Lin 41c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6 426e0832faSShawn Lin bool 436e0832faSShawn Lin 44c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST 45c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 46c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 47a474d3fbSThomas Gleixner depends on PCI_MSI 486e0832faSShawn Lin select PCIE_DW_HOST 49c39819c0SBjorn Helgaas select PCIE_ARTPEC6 506e0832faSShawn Lin help 51c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 52c39819c0SBjorn Helgaas host mode. This uses the DesignWare core. 536e0832faSShawn Lin 54c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP 55c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 56c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 576e0832faSShawn Lin depends on PCI_ENDPOINT 586e0832faSShawn Lin select PCIE_DW_EP 59c39819c0SBjorn Helgaas select PCIE_ARTPEC6 606e0832faSShawn Lin help 61c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 62c39819c0SBjorn Helgaas endpoint mode. This uses the DesignWare core. 636e0832faSShawn Lin 64c39819c0SBjorn Helgaasconfig PCIE_BT1 65c39819c0SBjorn Helgaas tristate "Baikal-T1 PCIe controller" 66c39819c0SBjorn Helgaas depends on MIPS_BAIKAL_T1 || COMPILE_TEST 67a474d3fbSThomas Gleixner depends on PCI_MSI 686e0832faSShawn Lin select PCIE_DW_HOST 69778f7c19SJaehoon Chung help 70c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Baikal-T1 SoC to work 71c39819c0SBjorn 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 135c39819c0SBjorn Helgaasconfig PCIE_KIRIN 136c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 137c39819c0SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 138a474d3fbSThomas Gleixner depends on PCI_MSI 1396e0832faSShawn Lin select PCIE_DW_HOST 140c39819c0SBjorn Helgaas select REGMAP_MMIO 1416e0832faSShawn Lin help 142c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support 143c39819c0SBjorn Helgaas on HiSilicon Kirin series SoCs. 1446e0832faSShawn Lin 145c39819c0SBjorn Helgaasconfig PCIE_HISI_STB 146c39819c0SBjorn Helgaas bool "HiSilicon STB PCIe controller" 147c39819c0SBjorn Helgaas depends on ARCH_HISI || COMPILE_TEST 148a474d3fbSThomas Gleixner depends on PCI_MSI 1496e0832faSShawn Lin select PCIE_DW_HOST 1506e0832faSShawn Lin help 151c39819c0SBjorn 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 192c39819c0SBjorn Helgaasconfig PCIE_ARMADA_8K 193c39819c0SBjorn Helgaas bool "Marvell Armada-8K PCIe controller" 194c39819c0SBjorn Helgaas depends on ARCH_MVEBU || COMPILE_TEST 195a474d3fbSThomas Gleixner depends on PCI_MSI 1966e0832faSShawn Lin select PCIE_DW_HOST 1976e0832faSShawn Lin help 198c39819c0SBjorn Helgaas Say Y here if you want to enable PCIe controller support on 199c39819c0SBjorn Helgaas Armada-8K SoCs. The PCIe controller on Armada-8K is based on 200c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 201c39819c0SBjorn 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 236c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT 237c39819c0SBjorn Helgaas bool 238c39819c0SBjorn Helgaas 239c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST 240c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 241c39819c0SBjorn Helgaas depends on PCI_MSI 242c39819c0SBjorn Helgaas select PCIE_DW_HOST 243c39819c0SBjorn Helgaas select PCIE_DW_PLAT 244c39819c0SBjorn Helgaas help 245c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 246c39819c0SBjorn Helgaas work in host mode. There are two instances of PCIe controller in 247c39819c0SBjorn Helgaas Designware IP. 248c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 249c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 250c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 251c39819c0SBjorn Helgaas selected. 252c39819c0SBjorn Helgaas 253c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP 254c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 255c39819c0SBjorn Helgaas depends on PCI && PCI_MSI 256c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 257c39819c0SBjorn Helgaas select PCIE_DW_EP 258c39819c0SBjorn Helgaas select PCIE_DW_PLAT 259c39819c0SBjorn Helgaas help 260c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 261c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controller 262c39819c0SBjorn Helgaas in Designware IP. 263c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 264c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 265c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 266c39819c0SBjorn Helgaas selected. 267c39819c0SBjorn Helgaas 268c39819c0SBjorn Helgaasconfig PCIE_QCOM 269c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 270c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 271c39819c0SBjorn Helgaas depends on PCI_MSI 272c39819c0SBjorn Helgaas select PCIE_DW_HOST 273c39819c0SBjorn Helgaas select CRC8 274c39819c0SBjorn Helgaas help 275c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 276c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 277c39819c0SBjorn Helgaas hardware wrappers. 278c39819c0SBjorn Helgaas 279c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 280c39819c0SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 281c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 282c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 283c39819c0SBjorn Helgaas select PCIE_DW_EP 284c39819c0SBjorn Helgaas help 285c39819c0SBjorn Helgaas Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 286c39819c0SBjorn Helgaas to work in endpoint mode. The PCIe controller uses the DesignWare core 287c39819c0SBjorn Helgaas plus Qualcomm-specific hardware wrappers. 288c39819c0SBjorn Helgaas 289*0d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4 290*0d0c5510SYoshihiro Shimoda tristate 291*0d0c5510SYoshihiro Shimoda 292*0d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST 293*0d0c5510SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (host mode)" 294*0d0c5510SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 295*0d0c5510SYoshihiro Shimoda depends on PCI_MSI 296*0d0c5510SYoshihiro Shimoda select PCIE_DW_HOST 297*0d0c5510SYoshihiro Shimoda select PCIE_RCAR_GEN4 298*0d0c5510SYoshihiro Shimoda help 299*0d0c5510SYoshihiro Shimoda Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs. 300*0d0c5510SYoshihiro Shimoda To compile this driver as a module, choose M here: the module will be 301*0d0c5510SYoshihiro Shimoda called pcie-rcar-gen4.ko. This uses the DesignWare core. 302*0d0c5510SYoshihiro Shimoda 303c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST 304c39819c0SBjorn Helgaas bool "Rockchip DesignWare PCIe controller" 305c39819c0SBjorn Helgaas select PCIE_DW 306c39819c0SBjorn Helgaas select PCIE_DW_HOST 307c39819c0SBjorn Helgaas depends on PCI_MSI 308c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 309c39819c0SBjorn Helgaas depends on OF 310c39819c0SBjorn Helgaas help 311c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 312c39819c0SBjorn Helgaas Rockchip SoC except RK3399. 313c39819c0SBjorn Helgaas 314c39819c0SBjorn Helgaasconfig PCI_EXYNOS 315c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 316c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 317a474d3fbSThomas Gleixner depends on PCI_MSI 318da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 319da36024aSNobuhiro Iwamatsu help 320c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 321c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 322c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 323c39819c0SBjorn Helgaas functions to implement the driver. 324c39819c0SBjorn Helgaas 325c39819c0SBjorn Helgaasconfig PCIE_FU740 326c39819c0SBjorn Helgaas bool "SiFive FU740 PCIe controller" 327c39819c0SBjorn Helgaas depends on PCI_MSI 328c39819c0SBjorn Helgaas depends on SOC_SIFIVE || COMPILE_TEST 329c39819c0SBjorn Helgaas select PCIE_DW_HOST 330c39819c0SBjorn Helgaas help 331c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support for the SiFive 332c39819c0SBjorn Helgaas FU740. 333da36024aSNobuhiro Iwamatsu 3347e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 33580c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3367e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3377e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 338a474d3fbSThomas Gleixner depends on PCI_MSI 3397e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3407e6d5cd8SKunihiko Hayashi help 3418d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3427e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3437e6d5cd8SKunihiko Hayashi 3448d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 34580c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 3468d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3478d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 3488d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 3498d7e33d6SKunihiko Hayashi select PCIE_DW_EP 3508d7e33d6SKunihiko Hayashi help 3518d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 3528d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 3538d7e33d6SKunihiko Hayashi 354c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 355c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 356c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 357a474d3fbSThomas Gleixner depends on PCI_MSI 358a8daea94SJonathan Chocron select PCIE_DW_HOST 359a8daea94SJonathan Chocron help 360c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 361a8daea94SJonathan Chocron 362c39819c0SBjorn Helgaasconfig PCI_DRA7XX 363c39819c0SBjorn Helgaas tristate 364c39819c0SBjorn Helgaas 365c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 366c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 367c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 368c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 369a474d3fbSThomas Gleixner depends on PCI_MSI 370c39819c0SBjorn Helgaas select PCIE_DW_HOST 371c39819c0SBjorn Helgaas select PCI_DRA7XX 372c39819c0SBjorn Helgaas default y if SOC_DRA7XX 373c39819c0SBjorn Helgaas help 374c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 375c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 376c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 377c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 378c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 379c39819c0SBjorn Helgaas This uses the DesignWare core. 380c39819c0SBjorn Helgaas 381c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 382c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 383c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 384c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 385c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 386c39819c0SBjorn Helgaas select PCIE_DW_EP 387c39819c0SBjorn Helgaas select PCI_DRA7XX 388c39819c0SBjorn Helgaas help 389c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 390c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 391c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 392c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 393c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 394c39819c0SBjorn Helgaas This uses the DesignWare core. 395c39819c0SBjorn Helgaas 396c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 397c39819c0SBjorn Helgaas bool 398c39819c0SBjorn Helgaas 399c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 400c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 401c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 402c39819c0SBjorn Helgaas depends on PCI_MSI 403c39819c0SBjorn Helgaas select PCIE_DW_HOST 404c39819c0SBjorn Helgaas select PCI_KEYSTONE 405c39819c0SBjorn Helgaas help 406c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 407c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 408c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 409c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 410c39819c0SBjorn Helgaas 411c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 412c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 413c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 414c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 415c39819c0SBjorn Helgaas select PCIE_DW_EP 416c39819c0SBjorn Helgaas select PCI_KEYSTONE 417c39819c0SBjorn Helgaas help 418c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 419c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 420c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 421c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 422c39819c0SBjorn Helgaas 423c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST 424c39819c0SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 425c39819c0SBjorn Helgaas depends on ARCH_VISCONTI || COMPILE_TEST 426c39819c0SBjorn Helgaas depends on PCI_MSI 427e7e21b3aSPaul Walmsley select PCIE_DW_HOST 428e7e21b3aSPaul Walmsley help 429c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 430c39819c0SBjorn Helgaas This driver supports TMPV7708 SoC. 431e7e21b3aSPaul Walmsley 4326e0832faSShawn Linendmenu 433