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 268*d45736b5SShashank Babu Chinta Venkataconfig PCIE_QCOM_COMMON 269*d45736b5SShashank Babu Chinta Venkata bool 270*d45736b5SShashank Babu Chinta Venkata 271c39819c0SBjorn Helgaasconfig PCIE_QCOM 272c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 273c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 274c39819c0SBjorn Helgaas depends on PCI_MSI 275c39819c0SBjorn Helgaas select PCIE_DW_HOST 276c39819c0SBjorn Helgaas select CRC8 277*d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 278c39819c0SBjorn Helgaas help 279c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 280c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 281c39819c0SBjorn Helgaas hardware wrappers. 282c39819c0SBjorn Helgaas 283c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 284c39819c0SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 285c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 286c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 287c39819c0SBjorn Helgaas select PCIE_DW_EP 288*d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 289c39819c0SBjorn Helgaas help 290c39819c0SBjorn Helgaas Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 291c39819c0SBjorn Helgaas to work in endpoint mode. The PCIe controller uses the DesignWare core 292c39819c0SBjorn Helgaas plus Qualcomm-specific hardware wrappers. 293c39819c0SBjorn Helgaas 2940d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4 2950d0c5510SYoshihiro Shimoda tristate 2960d0c5510SYoshihiro Shimoda 2970d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST 2980d0c5510SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (host mode)" 2990d0c5510SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 3000d0c5510SYoshihiro Shimoda depends on PCI_MSI 3010d0c5510SYoshihiro Shimoda select PCIE_DW_HOST 3020d0c5510SYoshihiro Shimoda select PCIE_RCAR_GEN4 3030d0c5510SYoshihiro Shimoda help 3040d0c5510SYoshihiro Shimoda Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs. 3050d0c5510SYoshihiro Shimoda To compile this driver as a module, choose M here: the module will be 3060d0c5510SYoshihiro Shimoda called pcie-rcar-gen4.ko. This uses the DesignWare core. 3070d0c5510SYoshihiro Shimoda 308e311b383SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_EP 309e311b383SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)" 310e311b383SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 311e311b383SYoshihiro Shimoda depends on PCI_ENDPOINT 312e311b383SYoshihiro Shimoda select PCIE_DW_EP 313e311b383SYoshihiro Shimoda select PCIE_RCAR_GEN4 314e311b383SYoshihiro Shimoda help 315e311b383SYoshihiro Shimoda Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4 316e311b383SYoshihiro Shimoda SoCs. To compile this driver as a module, choose M here: the module 317e311b383SYoshihiro Shimoda will be called pcie-rcar-gen4.ko. This uses the DesignWare core. 318e311b383SYoshihiro Shimoda 319e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW 320e242f26fSNiklas Cassel bool 321e242f26fSNiklas Cassel 322c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST 323e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (host mode)" 324c39819c0SBjorn Helgaas depends on PCI_MSI 325c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 326c39819c0SBjorn Helgaas depends on OF 327e242f26fSNiklas Cassel select PCIE_DW_HOST 328e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 329c39819c0SBjorn Helgaas help 330c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 331e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in host mode. 332e242f26fSNiklas Cassel 333e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW_EP 334e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (endpoint mode)" 335e242f26fSNiklas Cassel depends on ARCH_ROCKCHIP || COMPILE_TEST 336e242f26fSNiklas Cassel depends on OF 337e242f26fSNiklas Cassel depends on PCI_ENDPOINT 338e242f26fSNiklas Cassel select PCIE_DW_EP 339e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 340e242f26fSNiklas Cassel help 341e242f26fSNiklas Cassel Enables support for the DesignWare PCIe controller in the 342e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in endpoint mode. 343c39819c0SBjorn Helgaas 344c39819c0SBjorn Helgaasconfig PCI_EXYNOS 345c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 346c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 347a474d3fbSThomas Gleixner depends on PCI_MSI 348da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 349da36024aSNobuhiro Iwamatsu help 350c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 351c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 352c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 353c39819c0SBjorn Helgaas functions to implement the driver. 354c39819c0SBjorn Helgaas 355c39819c0SBjorn Helgaasconfig PCIE_FU740 356c39819c0SBjorn Helgaas bool "SiFive FU740 PCIe controller" 357c39819c0SBjorn Helgaas depends on PCI_MSI 358edd6ae10SConor Dooley depends on ARCH_SIFIVE || COMPILE_TEST 359c39819c0SBjorn Helgaas select PCIE_DW_HOST 360c39819c0SBjorn Helgaas help 361c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support for the SiFive 362c39819c0SBjorn Helgaas FU740. 363da36024aSNobuhiro Iwamatsu 3647e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 36580c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3667e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3677e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 368a474d3fbSThomas Gleixner depends on PCI_MSI 3697e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3707e6d5cd8SKunihiko Hayashi help 3718d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3727e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3737e6d5cd8SKunihiko Hayashi 3748d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 37580c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 3768d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3778d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 3788d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 3798d7e33d6SKunihiko Hayashi select PCIE_DW_EP 3808d7e33d6SKunihiko Hayashi help 3818d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 3828d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 3838d7e33d6SKunihiko Hayashi 384c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 385c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 386c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 387a474d3fbSThomas Gleixner depends on PCI_MSI 388a8daea94SJonathan Chocron select PCIE_DW_HOST 389a8daea94SJonathan Chocron help 390c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 391a8daea94SJonathan Chocron 392c39819c0SBjorn Helgaasconfig PCI_DRA7XX 393c39819c0SBjorn Helgaas tristate 394c39819c0SBjorn Helgaas 395c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 396c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 397c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 398c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 399a474d3fbSThomas Gleixner depends on PCI_MSI 400c39819c0SBjorn Helgaas select PCIE_DW_HOST 401c39819c0SBjorn Helgaas select PCI_DRA7XX 402c39819c0SBjorn Helgaas default y if SOC_DRA7XX 403c39819c0SBjorn Helgaas help 404c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 405c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 406c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 407c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 408c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 409c39819c0SBjorn Helgaas This uses the DesignWare core. 410c39819c0SBjorn Helgaas 411c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 412c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 413c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 414c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 415c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 416c39819c0SBjorn Helgaas select PCIE_DW_EP 417c39819c0SBjorn Helgaas select PCI_DRA7XX 418c39819c0SBjorn Helgaas help 419c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 420c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 421c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 422c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 423c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 424c39819c0SBjorn Helgaas This uses the DesignWare core. 425c39819c0SBjorn Helgaas 426c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 427c39819c0SBjorn Helgaas bool 428c39819c0SBjorn Helgaas 429c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 430c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 431c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 432c39819c0SBjorn Helgaas depends on PCI_MSI 433c39819c0SBjorn Helgaas select PCIE_DW_HOST 434c39819c0SBjorn Helgaas select PCI_KEYSTONE 435c39819c0SBjorn Helgaas help 436c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 437c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 438c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 439c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 440c39819c0SBjorn Helgaas 441c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 442c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 443c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 444c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 445c39819c0SBjorn Helgaas select PCIE_DW_EP 446c39819c0SBjorn Helgaas select PCI_KEYSTONE 447c39819c0SBjorn Helgaas help 448c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 449c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 450c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 451c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 452c39819c0SBjorn Helgaas 453c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST 454c39819c0SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 455c39819c0SBjorn Helgaas depends on ARCH_VISCONTI || COMPILE_TEST 456c39819c0SBjorn Helgaas depends on PCI_MSI 457e7e21b3aSPaul Walmsley select PCIE_DW_HOST 458e7e21b3aSPaul Walmsley help 459c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 460c39819c0SBjorn Helgaas This driver supports TMPV7708 SoC. 461e7e21b3aSPaul Walmsley 4626e0832faSShawn Linendmenu 463