16e0832faSShawn Lin# SPDX-License-Identifier: GPL-2.0 26e0832faSShawn Lin 380c170d7SBjorn Helgaasmenu "DesignWare-based PCIe controllers" 46e0832faSShawn Lin depends on PCI 56e0832faSShawn Lin 66e0832faSShawn Linconfig PCIE_DW 76e0832faSShawn Lin bool 86e0832faSShawn Lin 94fbfa17fSShradha Todiconfig PCIE_DW_DEBUGFS 104fbfa17fSShradha Todi bool "DesignWare PCIe debugfs entries" 114fbfa17fSShradha Todi depends on DEBUG_FS 124fbfa17fSShradha Todi depends on PCIE_DW_HOST || PCIE_DW_EP 134fbfa17fSShradha Todi help 144fbfa17fSShradha Todi Say Y here to enable debugfs entries for the PCIe controller. These 154fbfa17fSShradha Todi entries provide various debug features related to the controller and 164fbfa17fSShradha Todi expose the RAS DES capabilities such as Silicon Debug, Error Injection 174fbfa17fSShradha Todi and Statistical Counters. 184fbfa17fSShradha Todi 196e0832faSShawn Linconfig PCIE_DW_HOST 206e0832faSShawn Lin bool 216e0832faSShawn Lin select PCIE_DW 228e717112SNam Cao select IRQ_MSI_LIB 23f6fd357fSKrishna Chaitanya Chundru select PCI_HOST_COMMON 246e0832faSShawn Lin 256e0832faSShawn Linconfig PCIE_DW_EP 266e0832faSShawn Lin bool 276e0832faSShawn Lin select PCIE_DW 286e0832faSShawn Lin 29c39819c0SBjorn Helgaasconfig PCIE_AL 30c39819c0SBjorn Helgaas bool "Amazon Annapurna Labs PCIe controller" 31c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 32a474d3fbSThomas Gleixner depends on PCI_MSI 336e0832faSShawn Lin select PCIE_DW_HOST 34c39819c0SBjorn Helgaas select PCI_ECAM 356e0832faSShawn Lin help 36c39819c0SBjorn Helgaas Say Y here to enable support of the Amazon's Annapurna Labs PCIe 37c39819c0SBjorn Helgaas controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 38c39819c0SBjorn Helgaas core plus Annapurna Labs proprietary hardware wrappers. This is 39c39819c0SBjorn Helgaas required only for DT-based platforms. ACPI platforms with the 40c39819c0SBjorn Helgaas Annapurna Labs PCIe controller don't need to enable this. 416e0832faSShawn Lin 425f3de23dSThippeswamy Havaligeconfig PCIE_AMD_MDB 435f3de23dSThippeswamy Havalige bool "AMD MDB Versal2 PCIe controller" 445f3de23dSThippeswamy Havalige depends on OF && (ARM64 || COMPILE_TEST) 455f3de23dSThippeswamy Havalige depends on PCI_MSI 465f3de23dSThippeswamy Havalige select PCIE_DW_HOST 475f3de23dSThippeswamy Havalige help 485f3de23dSThippeswamy Havalige Say Y here if you want to enable PCIe controller support on AMD 495f3de23dSThippeswamy Havalige Versal2 SoCs. The AMD MDB Versal2 PCIe controller is based on 505f3de23dSThippeswamy Havalige DesignWare IP and therefore the driver re-uses the DesignWare 515f3de23dSThippeswamy Havalige core functions to implement the driver. 525f3de23dSThippeswamy Havalige 53c39819c0SBjorn Helgaasconfig PCI_MESON 54c39819c0SBjorn Helgaas tristate "Amlogic Meson PCIe controller" 55c39819c0SBjorn Helgaas default m if ARCH_MESON 56c39819c0SBjorn Helgaas depends on PCI_MSI 57c39819c0SBjorn Helgaas select PCIE_DW_HOST 586e0832faSShawn Lin help 59c39819c0SBjorn Helgaas Say Y here if you want to enable PCI controller support on Amlogic 60c39819c0SBjorn Helgaas SoCs. The PCI controller on Amlogic is based on DesignWare hardware 61c39819c0SBjorn Helgaas and therefore the driver re-uses the DesignWare core functions to 62c39819c0SBjorn Helgaas implement the driver. 636e0832faSShawn Lin 64c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6 656e0832faSShawn Lin bool 666e0832faSShawn Lin 67c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST 68c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 69c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 70a474d3fbSThomas Gleixner depends on PCI_MSI 716e0832faSShawn Lin select PCIE_DW_HOST 72c39819c0SBjorn Helgaas select PCIE_ARTPEC6 736e0832faSShawn Lin help 74c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 75c39819c0SBjorn Helgaas host mode. This uses the DesignWare core. 766e0832faSShawn Lin 77c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP 78c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 79c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 806e0832faSShawn Lin depends on PCI_ENDPOINT 816e0832faSShawn Lin select PCIE_DW_EP 82c39819c0SBjorn Helgaas select PCIE_ARTPEC6 836e0832faSShawn Lin help 84c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 85c39819c0SBjorn Helgaas endpoint mode. This uses the DesignWare core. 866e0832faSShawn Lin 87c39819c0SBjorn Helgaasconfig PCIE_BT1 88c39819c0SBjorn Helgaas tristate "Baikal-T1 PCIe controller" 89c39819c0SBjorn Helgaas depends on MIPS_BAIKAL_T1 || COMPILE_TEST 90a474d3fbSThomas Gleixner depends on PCI_MSI 916e0832faSShawn Lin select PCIE_DW_HOST 92778f7c19SJaehoon Chung help 93c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Baikal-T1 SoC to work 94c39819c0SBjorn Helgaas in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 956e0832faSShawn Lin 966e0832faSShawn Linconfig PCI_IMX6 9775c2f26dSRichard Zhu bool 9875c2f26dSRichard Zhu 9975c2f26dSRichard Zhuconfig PCI_IMX6_HOST 10080c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 1017e8ab1b2SLeonard Crestez depends on ARCH_MXC || COMPILE_TEST 102a474d3fbSThomas Gleixner depends on PCI_MSI 1036e0832faSShawn Lin select PCIE_DW_HOST 10475c2f26dSRichard Zhu select PCI_IMX6 10575c2f26dSRichard Zhu help 10675c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 10775c2f26dSRichard Zhu work in Root Complex mode. The PCI controller on i.MX is based 10875c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 10975c2f26dSRichard Zhu DesignWare core functions to implement the driver. 11075c2f26dSRichard Zhu 11175c2f26dSRichard Zhuconfig PCI_IMX6_EP 11280c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 11375c2f26dSRichard Zhu depends on ARCH_MXC || COMPILE_TEST 11475c2f26dSRichard Zhu depends on PCI_ENDPOINT 11575c2f26dSRichard Zhu select PCIE_DW_EP 11675c2f26dSRichard Zhu select PCI_IMX6 11775c2f26dSRichard Zhu help 11875c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 11975c2f26dSRichard Zhu work in endpoint mode. The PCI controller on i.MX is based 12075c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 12175c2f26dSRichard Zhu DesignWare core functions to implement the driver. 1226e0832faSShawn Lin 1236e0832faSShawn Linconfig PCI_LAYERSCAPE 12480c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (host mode)" 1256e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 126a474d3fbSThomas Gleixner depends on PCI_MSI 1276e0832faSShawn Lin select PCIE_DW_HOST 1282908a0d8SAndy Shevchenko select MFD_SYSCON 1296e0832faSShawn Lin help 130b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 131b5b24617SXiaowei Bao SoCs to work in Host mode. 132b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 133b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 134b5b24617SXiaowei Bao controller works in RC mode. 135b5b24617SXiaowei Bao 136b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP 13780c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (endpoint mode)" 138b5b24617SXiaowei Bao depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 139b5b24617SXiaowei Bao depends on PCI_ENDPOINT 140b5b24617SXiaowei Bao select PCIE_DW_EP 141b5b24617SXiaowei Bao help 142b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 143b5b24617SXiaowei Bao SoCs to work in Endpoint mode. 144b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 145b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 146b5b24617SXiaowei Bao controller works in RC mode. 1476e0832faSShawn Lin 1486e0832faSShawn Linconfig PCI_HISI 1496e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 15080c170d7SBjorn Helgaas bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 151a474d3fbSThomas Gleixner depends on PCI_MSI 1526e0832faSShawn Lin select PCIE_DW_HOST 1536e0832faSShawn Lin select PCI_HOST_COMMON 1546e0832faSShawn Lin help 1556e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon 1566e0832faSShawn Lin Hip05 and Hip06 SoCs 1576e0832faSShawn Lin 158c39819c0SBjorn Helgaasconfig PCIE_KIRIN 159c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 160c39819c0SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 161a474d3fbSThomas Gleixner depends on PCI_MSI 1626e0832faSShawn Lin select PCIE_DW_HOST 163c39819c0SBjorn Helgaas select REGMAP_MMIO 1646e0832faSShawn Lin help 165c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support 166c39819c0SBjorn Helgaas on HiSilicon Kirin series SoCs. 1676e0832faSShawn Lin 168c39819c0SBjorn Helgaasconfig PCIE_HISI_STB 169c39819c0SBjorn Helgaas bool "HiSilicon STB PCIe controller" 170c39819c0SBjorn Helgaas depends on ARCH_HISI || COMPILE_TEST 171a474d3fbSThomas Gleixner depends on PCI_MSI 1726e0832faSShawn Lin select PCIE_DW_HOST 1736e0832faSShawn Lin help 174c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on HiSilicon STB SoCs 1750e898eb8SSimon Xue 176ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW 17780c170d7SBjorn Helgaas bool "Intel Gateway PCIe controller " 178ed22aaaeSDilip Kota depends on OF && (X86 || COMPILE_TEST) 179a474d3fbSThomas Gleixner depends on PCI_MSI 180ed22aaaeSDilip Kota select PCIE_DW_HOST 181ed22aaaeSDilip Kota help 182ed22aaaeSDilip Kota Say 'Y' here to enable PCIe Host controller support on Intel 183ed22aaaeSDilip Kota Gateway SoCs. 184ed22aaaeSDilip Kota The PCIe controller uses the DesignWare core plus Intel-specific 185ed22aaaeSDilip Kota hardware wrappers. 186ed22aaaeSDilip Kota 1870c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY 1880c87f90bSSrikanth Thokala bool 1890c87f90bSSrikanth Thokala 1900c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST 19180c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (host mode)" 1920c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 193a474d3fbSThomas Gleixner depends on PCI_MSI 1940c87f90bSSrikanth Thokala select PCIE_DW_HOST 1950c87f90bSSrikanth Thokala select PCIE_KEEMBAY 1960c87f90bSSrikanth Thokala help 1970c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 1980c87f90bSSrikanth Thokala to work in host mode. 1990c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 2000c87f90bSSrikanth Thokala DesignWare core functions. 2010c87f90bSSrikanth Thokala 2020c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP 20380c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (endpoint mode)" 2040c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 205a474d3fbSThomas Gleixner depends on PCI_MSI 2060c87f90bSSrikanth Thokala depends on PCI_ENDPOINT 2070c87f90bSSrikanth Thokala select PCIE_DW_EP 2080c87f90bSSrikanth Thokala select PCIE_KEEMBAY 2090c87f90bSSrikanth Thokala help 2100c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 2110c87f90bSSrikanth Thokala to work in endpoint mode. 2120c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 2130c87f90bSSrikanth Thokala DesignWare core functions. 2140c87f90bSSrikanth Thokala 215c39819c0SBjorn Helgaasconfig PCIE_ARMADA_8K 216c39819c0SBjorn Helgaas bool "Marvell Armada-8K PCIe controller" 217c39819c0SBjorn Helgaas depends on ARCH_MVEBU || COMPILE_TEST 218a474d3fbSThomas Gleixner depends on PCI_MSI 2196e0832faSShawn Lin select PCIE_DW_HOST 2206e0832faSShawn Lin help 221c39819c0SBjorn Helgaas Say Y here if you want to enable PCIe controller support on 222c39819c0SBjorn Helgaas Armada-8K SoCs. The PCIe controller on Armada-8K is based on 223c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 224c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 2259c0ef6d3SYue Wang 22656e15a23SVidya Sagarconfig PCIE_TEGRA194 227c57247f9SVidya Sagar tristate 228c57247f9SVidya Sagar 229c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST 23080c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 23156e15a23SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 232a474d3fbSThomas Gleixner depends on PCI_MSI 23356e15a23SVidya Sagar select PCIE_DW_HOST 23456e15a23SVidya Sagar select PHY_TEGRA194_P2U 235c57247f9SVidya Sagar select PCIE_TEGRA194 23656e15a23SVidya Sagar help 237c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 238c57247f9SVidya Sagar work in host mode. There are two instances of PCIe controllers in 239c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 240c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 241c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 242c57247f9SVidya Sagar selected. This uses the DesignWare core. 243c57247f9SVidya Sagar 244c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP 24580c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 246c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 247c57247f9SVidya Sagar depends on PCI_ENDPOINT 248c57247f9SVidya Sagar select PCIE_DW_EP 249c57247f9SVidya Sagar select PHY_TEGRA194_P2U 250c57247f9SVidya Sagar select PCIE_TEGRA194 251c57247f9SVidya Sagar help 252c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 25310739e2aSWesley Sheng work in endpoint mode. There are two instances of PCIe controllers in 254c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 255c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 256c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 257c57247f9SVidya Sagar selected. This uses the DesignWare core. 25856e15a23SVidya Sagar 259c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT 260c39819c0SBjorn Helgaas bool 261c39819c0SBjorn Helgaas 262c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST 263c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 264c39819c0SBjorn Helgaas depends on PCI_MSI 265c39819c0SBjorn Helgaas select PCIE_DW_HOST 266c39819c0SBjorn Helgaas select PCIE_DW_PLAT 267c39819c0SBjorn Helgaas help 268c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 269c39819c0SBjorn Helgaas work in host mode. There are two instances of PCIe controller in 270c39819c0SBjorn Helgaas Designware IP. 271c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 272c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 273c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 274c39819c0SBjorn Helgaas selected. 275c39819c0SBjorn Helgaas 276c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP 277c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 278c39819c0SBjorn Helgaas depends on PCI && PCI_MSI 279c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 280c39819c0SBjorn Helgaas select PCIE_DW_EP 281c39819c0SBjorn Helgaas select PCIE_DW_PLAT 282c39819c0SBjorn Helgaas help 283c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 284c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controller 285c39819c0SBjorn Helgaas in Designware IP. 286c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 287c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 288c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 289c39819c0SBjorn Helgaas selected. 290c39819c0SBjorn Helgaas 291d45736b5SShashank Babu Chinta Venkataconfig PCIE_QCOM_COMMON 292d45736b5SShashank Babu Chinta Venkata bool 293d45736b5SShashank Babu Chinta Venkata 294c39819c0SBjorn Helgaasconfig PCIE_QCOM 295c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 296c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 297c39819c0SBjorn Helgaas depends on PCI_MSI 298c39819c0SBjorn Helgaas select PCIE_DW_HOST 299c39819c0SBjorn Helgaas select CRC8 300d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 3017d944c0fSMayank Rana select PCI_HOST_COMMON 302add7b05aSQiang Yu select PCI_PWRCTRL_SLOT 303c39819c0SBjorn Helgaas help 304c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 305c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 306c39819c0SBjorn Helgaas hardware wrappers. 307c39819c0SBjorn Helgaas 308c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 309c39819c0SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 310c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 311c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 312c39819c0SBjorn Helgaas select PCIE_DW_EP 313d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 314c39819c0SBjorn Helgaas help 315c39819c0SBjorn Helgaas Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 316c39819c0SBjorn Helgaas to work in endpoint mode. The PCIe controller uses the DesignWare core 317c39819c0SBjorn Helgaas plus Qualcomm-specific hardware wrappers. 318c39819c0SBjorn Helgaas 3190d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4 3200d0c5510SYoshihiro Shimoda tristate 3210d0c5510SYoshihiro Shimoda 3220d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST 3230d0c5510SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (host mode)" 3240d0c5510SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 3250d0c5510SYoshihiro Shimoda depends on PCI_MSI 3260d0c5510SYoshihiro Shimoda select PCIE_DW_HOST 3270d0c5510SYoshihiro Shimoda select PCIE_RCAR_GEN4 3280d0c5510SYoshihiro Shimoda help 3290d0c5510SYoshihiro Shimoda Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs. 3300d0c5510SYoshihiro Shimoda To compile this driver as a module, choose M here: the module will be 3310d0c5510SYoshihiro Shimoda called pcie-rcar-gen4.ko. This uses the DesignWare core. 3320d0c5510SYoshihiro Shimoda 333e311b383SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_EP 334e311b383SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)" 335e311b383SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 336e311b383SYoshihiro Shimoda depends on PCI_ENDPOINT 337e311b383SYoshihiro Shimoda select PCIE_DW_EP 338e311b383SYoshihiro Shimoda select PCIE_RCAR_GEN4 339e311b383SYoshihiro Shimoda help 340e311b383SYoshihiro Shimoda Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4 341e311b383SYoshihiro Shimoda SoCs. To compile this driver as a module, choose M here: the module 342e311b383SYoshihiro Shimoda will be called pcie-rcar-gen4.ko. This uses the DesignWare core. 343e311b383SYoshihiro Shimoda 344e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW 345e242f26fSNiklas Cassel bool 346e242f26fSNiklas Cassel 347c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST 348e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (host mode)" 349c39819c0SBjorn Helgaas depends on PCI_MSI 350c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 351c39819c0SBjorn Helgaas depends on OF 352e242f26fSNiklas Cassel select PCIE_DW_HOST 353e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 354c39819c0SBjorn Helgaas help 355c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 356e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in host mode. 357e242f26fSNiklas Cassel 358e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW_EP 359e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (endpoint mode)" 360e242f26fSNiklas Cassel depends on ARCH_ROCKCHIP || COMPILE_TEST 361e242f26fSNiklas Cassel depends on OF 362e242f26fSNiklas Cassel depends on PCI_ENDPOINT 363e242f26fSNiklas Cassel select PCIE_DW_EP 364e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 365e242f26fSNiklas Cassel help 366e242f26fSNiklas Cassel Enables support for the DesignWare PCIe controller in the 367e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in endpoint mode. 368c39819c0SBjorn Helgaas 369c39819c0SBjorn Helgaasconfig PCI_EXYNOS 370c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 371c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 372a474d3fbSThomas Gleixner depends on PCI_MSI 373da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 374da36024aSNobuhiro Iwamatsu help 375c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 376c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 377c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 378c39819c0SBjorn Helgaas functions to implement the driver. 379c39819c0SBjorn Helgaas 380c39819c0SBjorn Helgaasconfig PCIE_FU740 381c39819c0SBjorn Helgaas bool "SiFive FU740 PCIe controller" 382c39819c0SBjorn Helgaas depends on PCI_MSI 383edd6ae10SConor Dooley depends on ARCH_SIFIVE || COMPILE_TEST 384c39819c0SBjorn Helgaas select PCIE_DW_HOST 385c39819c0SBjorn Helgaas help 386c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support for the SiFive 387c39819c0SBjorn Helgaas FU740. 388da36024aSNobuhiro Iwamatsu 3897e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 39080c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3917e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3927e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 393a474d3fbSThomas Gleixner depends on PCI_MSI 3947e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3957e6d5cd8SKunihiko Hayashi help 3968d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3977e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3987e6d5cd8SKunihiko Hayashi 3998d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 40080c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 4018d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 4028d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 4038d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 4048d7e33d6SKunihiko Hayashi select PCIE_DW_EP 4058d7e33d6SKunihiko Hayashi help 4068d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 4078d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 4088d7e33d6SKunihiko Hayashi 409467d9c03SInochi Amaotoconfig PCIE_SOPHGO_DW 410467d9c03SInochi Amaoto bool "Sophgo DesignWare PCIe controller (host mode)" 411467d9c03SInochi Amaoto depends on ARCH_SOPHGO || COMPILE_TEST 412467d9c03SInochi Amaoto depends on PCI_MSI 413467d9c03SInochi Amaoto depends on OF 414467d9c03SInochi Amaoto select PCIE_DW_HOST 415467d9c03SInochi Amaoto help 416467d9c03SInochi Amaoto Say Y here if you want PCIe host controller support on 417467d9c03SInochi Amaoto Sophgo SoCs. 418467d9c03SInochi Amaoto 419c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 420c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 421c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 422a474d3fbSThomas Gleixner depends on PCI_MSI 423a8daea94SJonathan Chocron select PCIE_DW_HOST 424a8daea94SJonathan Chocron help 425c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 426a8daea94SJonathan Chocron 42763a562b3SChristian Bruelconfig PCIE_STM32_HOST 42863a562b3SChristian Bruel tristate "STMicroelectronics STM32MP25 PCIe Controller (host mode)" 42963a562b3SChristian Bruel depends on ARCH_STM32 || COMPILE_TEST 43063a562b3SChristian Bruel depends on PCI_MSI 43163a562b3SChristian Bruel select PCIE_DW_HOST 43263a562b3SChristian Bruel help 43363a562b3SChristian Bruel Enables Root Complex (RC) support for the DesignWare core based PCIe 43463a562b3SChristian Bruel controller found in STM32MP25 SoC. 43563a562b3SChristian Bruel 43663a562b3SChristian Bruel This driver can also be built as a module. If so, the module 43763a562b3SChristian Bruel will be called pcie-stm32. 43863a562b3SChristian Bruel 439*151f3d29SChristian Bruelconfig PCIE_STM32_EP 440*151f3d29SChristian Bruel tristate "STMicroelectronics STM32MP25 PCIe Controller (endpoint mode)" 441*151f3d29SChristian Bruel depends on ARCH_STM32 || COMPILE_TEST 442*151f3d29SChristian Bruel depends on PCI_ENDPOINT 443*151f3d29SChristian Bruel select PCIE_DW_EP 444*151f3d29SChristian Bruel help 445*151f3d29SChristian Bruel Enables Endpoint (EP) support for the DesignWare core based PCIe 446*151f3d29SChristian Bruel controller found in STM32MP25 SoC. 447*151f3d29SChristian Bruel 448*151f3d29SChristian Bruel This driver can also be built as a module. If so, the module 449*151f3d29SChristian Bruel will be called pcie-stm32-ep. 450*151f3d29SChristian Bruel 451c39819c0SBjorn Helgaasconfig PCI_DRA7XX 452c39819c0SBjorn Helgaas tristate 453c39819c0SBjorn Helgaas 454c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 455c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 456c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 457c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 458a474d3fbSThomas Gleixner depends on PCI_MSI 459c39819c0SBjorn Helgaas select PCIE_DW_HOST 460c39819c0SBjorn Helgaas select PCI_DRA7XX 461c39819c0SBjorn Helgaas default y if SOC_DRA7XX 462c39819c0SBjorn Helgaas help 463c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 464c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 465c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 466c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 467c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 468c39819c0SBjorn Helgaas This uses the DesignWare core. 469c39819c0SBjorn Helgaas 470c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 471c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 472c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 473c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 474c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 475c39819c0SBjorn Helgaas select PCIE_DW_EP 476c39819c0SBjorn Helgaas select PCI_DRA7XX 477c39819c0SBjorn Helgaas help 478c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 479c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 480c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 481c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 482c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 483c39819c0SBjorn Helgaas This uses the DesignWare core. 484c39819c0SBjorn Helgaas 485c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 486c39819c0SBjorn Helgaas bool 487c39819c0SBjorn Helgaas 488c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 489c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 490c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 491c39819c0SBjorn Helgaas depends on PCI_MSI 492c39819c0SBjorn Helgaas select PCIE_DW_HOST 493c39819c0SBjorn Helgaas select PCI_KEYSTONE 494c39819c0SBjorn Helgaas help 495c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 496c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 497c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 498c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 499c39819c0SBjorn Helgaas 500c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 501c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 502c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 503c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 504c39819c0SBjorn Helgaas select PCIE_DW_EP 505c39819c0SBjorn Helgaas select PCI_KEYSTONE 506c39819c0SBjorn Helgaas help 507c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 508c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 509c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 510c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 511c39819c0SBjorn Helgaas 512c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST 513c39819c0SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 514c39819c0SBjorn Helgaas depends on ARCH_VISCONTI || COMPILE_TEST 515c39819c0SBjorn Helgaas depends on PCI_MSI 516e7e21b3aSPaul Walmsley select PCIE_DW_HOST 517e7e21b3aSPaul Walmsley help 518c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 519c39819c0SBjorn Helgaas This driver supports TMPV7708 SoC. 520e7e21b3aSPaul Walmsley 5216e0832faSShawn Linendmenu 522