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 22*8e717112SNam Cao select IRQ_MSI_LIB 236e0832faSShawn Lin 246e0832faSShawn Linconfig PCIE_DW_EP 256e0832faSShawn Lin bool 266e0832faSShawn Lin select PCIE_DW 276e0832faSShawn Lin 28c39819c0SBjorn Helgaasconfig PCIE_AL 29c39819c0SBjorn Helgaas bool "Amazon Annapurna Labs PCIe controller" 30c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 31a474d3fbSThomas Gleixner depends on PCI_MSI 326e0832faSShawn Lin select PCIE_DW_HOST 33c39819c0SBjorn Helgaas select PCI_ECAM 346e0832faSShawn Lin help 35c39819c0SBjorn Helgaas Say Y here to enable support of the Amazon's Annapurna Labs PCIe 36c39819c0SBjorn Helgaas controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 37c39819c0SBjorn Helgaas core plus Annapurna Labs proprietary hardware wrappers. This is 38c39819c0SBjorn Helgaas required only for DT-based platforms. ACPI platforms with the 39c39819c0SBjorn Helgaas Annapurna Labs PCIe controller don't need to enable this. 406e0832faSShawn Lin 415f3de23dSThippeswamy Havaligeconfig PCIE_AMD_MDB 425f3de23dSThippeswamy Havalige bool "AMD MDB Versal2 PCIe controller" 435f3de23dSThippeswamy Havalige depends on OF && (ARM64 || COMPILE_TEST) 445f3de23dSThippeswamy Havalige depends on PCI_MSI 455f3de23dSThippeswamy Havalige select PCIE_DW_HOST 465f3de23dSThippeswamy Havalige help 475f3de23dSThippeswamy Havalige Say Y here if you want to enable PCIe controller support on AMD 485f3de23dSThippeswamy Havalige Versal2 SoCs. The AMD MDB Versal2 PCIe controller is based on 495f3de23dSThippeswamy Havalige DesignWare IP and therefore the driver re-uses the DesignWare 505f3de23dSThippeswamy Havalige core functions to implement the driver. 515f3de23dSThippeswamy Havalige 52c39819c0SBjorn Helgaasconfig PCI_MESON 53c39819c0SBjorn Helgaas tristate "Amlogic Meson PCIe controller" 54c39819c0SBjorn Helgaas default m if ARCH_MESON 55c39819c0SBjorn Helgaas depends on PCI_MSI 56c39819c0SBjorn Helgaas select PCIE_DW_HOST 576e0832faSShawn Lin help 58c39819c0SBjorn Helgaas Say Y here if you want to enable PCI controller support on Amlogic 59c39819c0SBjorn Helgaas SoCs. The PCI controller on Amlogic is based on DesignWare hardware 60c39819c0SBjorn Helgaas and therefore the driver re-uses the DesignWare core functions to 61c39819c0SBjorn Helgaas implement the driver. 626e0832faSShawn Lin 63c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6 646e0832faSShawn Lin bool 656e0832faSShawn Lin 66c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST 67c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 68c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 69a474d3fbSThomas Gleixner depends on PCI_MSI 706e0832faSShawn Lin select PCIE_DW_HOST 71c39819c0SBjorn Helgaas select PCIE_ARTPEC6 726e0832faSShawn Lin help 73c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 74c39819c0SBjorn Helgaas host mode. This uses the DesignWare core. 756e0832faSShawn Lin 76c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP 77c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 78c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 796e0832faSShawn Lin depends on PCI_ENDPOINT 806e0832faSShawn Lin select PCIE_DW_EP 81c39819c0SBjorn Helgaas select PCIE_ARTPEC6 826e0832faSShawn Lin help 83c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 84c39819c0SBjorn Helgaas endpoint mode. This uses the DesignWare core. 856e0832faSShawn Lin 86c39819c0SBjorn Helgaasconfig PCIE_BT1 87c39819c0SBjorn Helgaas tristate "Baikal-T1 PCIe controller" 88c39819c0SBjorn Helgaas depends on MIPS_BAIKAL_T1 || COMPILE_TEST 89a474d3fbSThomas Gleixner depends on PCI_MSI 906e0832faSShawn Lin select PCIE_DW_HOST 91778f7c19SJaehoon Chung help 92c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Baikal-T1 SoC to work 93c39819c0SBjorn Helgaas in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 946e0832faSShawn Lin 956e0832faSShawn Linconfig PCI_IMX6 9675c2f26dSRichard Zhu bool 9775c2f26dSRichard Zhu 9875c2f26dSRichard Zhuconfig PCI_IMX6_HOST 9980c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 1007e8ab1b2SLeonard Crestez depends on ARCH_MXC || COMPILE_TEST 101a474d3fbSThomas Gleixner depends on PCI_MSI 1026e0832faSShawn Lin select PCIE_DW_HOST 10375c2f26dSRichard Zhu select PCI_IMX6 10475c2f26dSRichard Zhu help 10575c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 10675c2f26dSRichard Zhu work in Root Complex mode. The PCI controller on i.MX is based 10775c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 10875c2f26dSRichard Zhu DesignWare core functions to implement the driver. 10975c2f26dSRichard Zhu 11075c2f26dSRichard Zhuconfig PCI_IMX6_EP 11180c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 11275c2f26dSRichard Zhu depends on ARCH_MXC || COMPILE_TEST 11375c2f26dSRichard Zhu depends on PCI_ENDPOINT 11475c2f26dSRichard Zhu select PCIE_DW_EP 11575c2f26dSRichard Zhu select PCI_IMX6 11675c2f26dSRichard Zhu help 11775c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 11875c2f26dSRichard Zhu work in endpoint mode. The PCI controller on i.MX is based 11975c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 12075c2f26dSRichard Zhu DesignWare core functions to implement the driver. 1216e0832faSShawn Lin 1226e0832faSShawn Linconfig PCI_LAYERSCAPE 12380c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (host mode)" 1246e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 125a474d3fbSThomas Gleixner depends on PCI_MSI 1266e0832faSShawn Lin select PCIE_DW_HOST 1272908a0d8SAndy Shevchenko select MFD_SYSCON 1286e0832faSShawn Lin help 129b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 130b5b24617SXiaowei Bao SoCs to work in Host mode. 131b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 132b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 133b5b24617SXiaowei Bao controller works in RC mode. 134b5b24617SXiaowei Bao 135b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP 13680c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (endpoint mode)" 137b5b24617SXiaowei Bao depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 138b5b24617SXiaowei Bao depends on PCI_ENDPOINT 139b5b24617SXiaowei Bao select PCIE_DW_EP 140b5b24617SXiaowei Bao help 141b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 142b5b24617SXiaowei Bao SoCs to work in Endpoint mode. 143b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 144b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 145b5b24617SXiaowei Bao controller works in RC mode. 1466e0832faSShawn Lin 1476e0832faSShawn Linconfig PCI_HISI 1486e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 14980c170d7SBjorn Helgaas bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 150a474d3fbSThomas Gleixner depends on PCI_MSI 1516e0832faSShawn Lin select PCIE_DW_HOST 1526e0832faSShawn Lin select PCI_HOST_COMMON 1536e0832faSShawn Lin help 1546e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon 1556e0832faSShawn Lin Hip05 and Hip06 SoCs 1566e0832faSShawn Lin 157c39819c0SBjorn Helgaasconfig PCIE_KIRIN 158c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 159c39819c0SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 160a474d3fbSThomas Gleixner depends on PCI_MSI 1616e0832faSShawn Lin select PCIE_DW_HOST 162c39819c0SBjorn Helgaas select REGMAP_MMIO 1636e0832faSShawn Lin help 164c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support 165c39819c0SBjorn Helgaas on HiSilicon Kirin series SoCs. 1666e0832faSShawn Lin 167c39819c0SBjorn Helgaasconfig PCIE_HISI_STB 168c39819c0SBjorn Helgaas bool "HiSilicon STB PCIe controller" 169c39819c0SBjorn Helgaas depends on ARCH_HISI || COMPILE_TEST 170a474d3fbSThomas Gleixner depends on PCI_MSI 1716e0832faSShawn Lin select PCIE_DW_HOST 1726e0832faSShawn Lin help 173c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on HiSilicon STB SoCs 1740e898eb8SSimon Xue 175ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW 17680c170d7SBjorn Helgaas bool "Intel Gateway PCIe controller " 177ed22aaaeSDilip Kota depends on OF && (X86 || COMPILE_TEST) 178a474d3fbSThomas Gleixner depends on PCI_MSI 179ed22aaaeSDilip Kota select PCIE_DW_HOST 180ed22aaaeSDilip Kota help 181ed22aaaeSDilip Kota Say 'Y' here to enable PCIe Host controller support on Intel 182ed22aaaeSDilip Kota Gateway SoCs. 183ed22aaaeSDilip Kota The PCIe controller uses the DesignWare core plus Intel-specific 184ed22aaaeSDilip Kota hardware wrappers. 185ed22aaaeSDilip Kota 1860c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY 1870c87f90bSSrikanth Thokala bool 1880c87f90bSSrikanth Thokala 1890c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST 19080c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (host mode)" 1910c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 192a474d3fbSThomas Gleixner depends on PCI_MSI 1930c87f90bSSrikanth Thokala select PCIE_DW_HOST 1940c87f90bSSrikanth Thokala select PCIE_KEEMBAY 1950c87f90bSSrikanth Thokala help 1960c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 1970c87f90bSSrikanth Thokala to work in host mode. 1980c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 1990c87f90bSSrikanth Thokala DesignWare core functions. 2000c87f90bSSrikanth Thokala 2010c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP 20280c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (endpoint mode)" 2030c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 204a474d3fbSThomas Gleixner depends on PCI_MSI 2050c87f90bSSrikanth Thokala depends on PCI_ENDPOINT 2060c87f90bSSrikanth Thokala select PCIE_DW_EP 2070c87f90bSSrikanth Thokala select PCIE_KEEMBAY 2080c87f90bSSrikanth Thokala help 2090c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 2100c87f90bSSrikanth Thokala to work in endpoint mode. 2110c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 2120c87f90bSSrikanth Thokala DesignWare core functions. 2130c87f90bSSrikanth Thokala 214c39819c0SBjorn Helgaasconfig PCIE_ARMADA_8K 215c39819c0SBjorn Helgaas bool "Marvell Armada-8K PCIe controller" 216c39819c0SBjorn Helgaas depends on ARCH_MVEBU || COMPILE_TEST 217a474d3fbSThomas Gleixner depends on PCI_MSI 2186e0832faSShawn Lin select PCIE_DW_HOST 2196e0832faSShawn Lin help 220c39819c0SBjorn Helgaas Say Y here if you want to enable PCIe controller support on 221c39819c0SBjorn Helgaas Armada-8K SoCs. The PCIe controller on Armada-8K is based on 222c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 223c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 2249c0ef6d3SYue Wang 22556e15a23SVidya Sagarconfig PCIE_TEGRA194 226c57247f9SVidya Sagar tristate 227c57247f9SVidya Sagar 228c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST 22980c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 23056e15a23SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 231a474d3fbSThomas Gleixner depends on PCI_MSI 23256e15a23SVidya Sagar select PCIE_DW_HOST 23356e15a23SVidya Sagar select PHY_TEGRA194_P2U 234c57247f9SVidya Sagar select PCIE_TEGRA194 23556e15a23SVidya Sagar help 236c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 237c57247f9SVidya Sagar work in host mode. There are two instances of PCIe controllers in 238c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 239c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 240c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 241c57247f9SVidya Sagar selected. This uses the DesignWare core. 242c57247f9SVidya Sagar 243c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP 24480c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 245c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 246c57247f9SVidya Sagar depends on PCI_ENDPOINT 247c57247f9SVidya Sagar select PCIE_DW_EP 248c57247f9SVidya Sagar select PHY_TEGRA194_P2U 249c57247f9SVidya Sagar select PCIE_TEGRA194 250c57247f9SVidya Sagar help 251c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 25210739e2aSWesley Sheng work in endpoint mode. There are two instances of PCIe controllers in 253c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 254c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 255c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 256c57247f9SVidya Sagar selected. This uses the DesignWare core. 25756e15a23SVidya Sagar 258c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT 259c39819c0SBjorn Helgaas bool 260c39819c0SBjorn Helgaas 261c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST 262c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 263c39819c0SBjorn Helgaas depends on PCI_MSI 264c39819c0SBjorn Helgaas select PCIE_DW_HOST 265c39819c0SBjorn Helgaas select PCIE_DW_PLAT 266c39819c0SBjorn Helgaas help 267c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 268c39819c0SBjorn Helgaas work in host mode. There are two instances of PCIe controller in 269c39819c0SBjorn Helgaas Designware IP. 270c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 271c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 272c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 273c39819c0SBjorn Helgaas selected. 274c39819c0SBjorn Helgaas 275c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP 276c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 277c39819c0SBjorn Helgaas depends on PCI && PCI_MSI 278c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 279c39819c0SBjorn Helgaas select PCIE_DW_EP 280c39819c0SBjorn Helgaas select PCIE_DW_PLAT 281c39819c0SBjorn Helgaas help 282c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 283c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controller 284c39819c0SBjorn Helgaas in Designware IP. 285c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 286c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 287c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 288c39819c0SBjorn Helgaas selected. 289c39819c0SBjorn Helgaas 290d45736b5SShashank Babu Chinta Venkataconfig PCIE_QCOM_COMMON 291d45736b5SShashank Babu Chinta Venkata bool 292d45736b5SShashank Babu Chinta Venkata 293c39819c0SBjorn Helgaasconfig PCIE_QCOM 294c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 295c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 296c39819c0SBjorn Helgaas depends on PCI_MSI 297c39819c0SBjorn Helgaas select PCIE_DW_HOST 298c39819c0SBjorn Helgaas select CRC8 299d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 300c39819c0SBjorn Helgaas help 301c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 302c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 303c39819c0SBjorn Helgaas hardware wrappers. 304c39819c0SBjorn Helgaas 305c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 306c39819c0SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 307c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 308c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 309c39819c0SBjorn Helgaas select PCIE_DW_EP 310d45736b5SShashank Babu Chinta Venkata select PCIE_QCOM_COMMON 311c39819c0SBjorn Helgaas help 312c39819c0SBjorn Helgaas Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 313c39819c0SBjorn Helgaas to work in endpoint mode. The PCIe controller uses the DesignWare core 314c39819c0SBjorn Helgaas plus Qualcomm-specific hardware wrappers. 315c39819c0SBjorn Helgaas 3160d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4 3170d0c5510SYoshihiro Shimoda tristate 3180d0c5510SYoshihiro Shimoda 3190d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST 3200d0c5510SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (host mode)" 3210d0c5510SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 3220d0c5510SYoshihiro Shimoda depends on PCI_MSI 3230d0c5510SYoshihiro Shimoda select PCIE_DW_HOST 3240d0c5510SYoshihiro Shimoda select PCIE_RCAR_GEN4 3250d0c5510SYoshihiro Shimoda help 3260d0c5510SYoshihiro Shimoda Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs. 3270d0c5510SYoshihiro Shimoda To compile this driver as a module, choose M here: the module will be 3280d0c5510SYoshihiro Shimoda called pcie-rcar-gen4.ko. This uses the DesignWare core. 3290d0c5510SYoshihiro Shimoda 330e311b383SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_EP 331e311b383SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)" 332e311b383SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 333e311b383SYoshihiro Shimoda depends on PCI_ENDPOINT 334e311b383SYoshihiro Shimoda select PCIE_DW_EP 335e311b383SYoshihiro Shimoda select PCIE_RCAR_GEN4 336e311b383SYoshihiro Shimoda help 337e311b383SYoshihiro Shimoda Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4 338e311b383SYoshihiro Shimoda SoCs. To compile this driver as a module, choose M here: the module 339e311b383SYoshihiro Shimoda will be called pcie-rcar-gen4.ko. This uses the DesignWare core. 340e311b383SYoshihiro Shimoda 341e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW 342e242f26fSNiklas Cassel bool 343e242f26fSNiklas Cassel 344c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_HOST 345e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (host mode)" 346c39819c0SBjorn Helgaas depends on PCI_MSI 347c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 348c39819c0SBjorn Helgaas depends on OF 349e242f26fSNiklas Cassel select PCIE_DW_HOST 350e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 351c39819c0SBjorn Helgaas help 352c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 353e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in host mode. 354e242f26fSNiklas Cassel 355e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW_EP 356e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (endpoint mode)" 357e242f26fSNiklas Cassel depends on ARCH_ROCKCHIP || COMPILE_TEST 358e242f26fSNiklas Cassel depends on OF 359e242f26fSNiklas Cassel depends on PCI_ENDPOINT 360e242f26fSNiklas Cassel select PCIE_DW_EP 361e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 362e242f26fSNiklas Cassel help 363e242f26fSNiklas Cassel Enables support for the DesignWare PCIe controller in the 364e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in endpoint mode. 365c39819c0SBjorn Helgaas 366c39819c0SBjorn Helgaasconfig PCI_EXYNOS 367c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 368c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 369a474d3fbSThomas Gleixner depends on PCI_MSI 370da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 371da36024aSNobuhiro Iwamatsu help 372c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 373c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 374c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 375c39819c0SBjorn Helgaas functions to implement the driver. 376c39819c0SBjorn Helgaas 377c39819c0SBjorn Helgaasconfig PCIE_FU740 378c39819c0SBjorn Helgaas bool "SiFive FU740 PCIe controller" 379c39819c0SBjorn Helgaas depends on PCI_MSI 380edd6ae10SConor Dooley depends on ARCH_SIFIVE || COMPILE_TEST 381c39819c0SBjorn Helgaas select PCIE_DW_HOST 382c39819c0SBjorn Helgaas help 383c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support for the SiFive 384c39819c0SBjorn Helgaas FU740. 385da36024aSNobuhiro Iwamatsu 3867e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 38780c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3887e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3897e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 390a474d3fbSThomas Gleixner depends on PCI_MSI 3917e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3927e6d5cd8SKunihiko Hayashi help 3938d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3947e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3957e6d5cd8SKunihiko Hayashi 3968d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 39780c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 3988d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3998d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 4008d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 4018d7e33d6SKunihiko Hayashi select PCIE_DW_EP 4028d7e33d6SKunihiko Hayashi help 4038d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 4048d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 4058d7e33d6SKunihiko Hayashi 406c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 407c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 408c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 409a474d3fbSThomas Gleixner depends on PCI_MSI 410a8daea94SJonathan Chocron select PCIE_DW_HOST 411a8daea94SJonathan Chocron help 412c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 413a8daea94SJonathan Chocron 414c39819c0SBjorn Helgaasconfig PCI_DRA7XX 415c39819c0SBjorn Helgaas tristate 416c39819c0SBjorn Helgaas 417c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 418c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 419c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 420c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 421a474d3fbSThomas Gleixner depends on PCI_MSI 422c39819c0SBjorn Helgaas select PCIE_DW_HOST 423c39819c0SBjorn Helgaas select PCI_DRA7XX 424c39819c0SBjorn Helgaas default y if SOC_DRA7XX 425c39819c0SBjorn Helgaas help 426c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 427c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 428c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 429c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 430c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 431c39819c0SBjorn Helgaas This uses the DesignWare core. 432c39819c0SBjorn Helgaas 433c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 434c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 435c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 436c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 437c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 438c39819c0SBjorn Helgaas select PCIE_DW_EP 439c39819c0SBjorn Helgaas select PCI_DRA7XX 440c39819c0SBjorn Helgaas help 441c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 442c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 443c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 444c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 445c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 446c39819c0SBjorn Helgaas This uses the DesignWare core. 447c39819c0SBjorn Helgaas 448c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 449c39819c0SBjorn Helgaas bool 450c39819c0SBjorn Helgaas 451c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 452c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 453c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 454c39819c0SBjorn Helgaas depends on PCI_MSI 455c39819c0SBjorn Helgaas select PCIE_DW_HOST 456c39819c0SBjorn Helgaas select PCI_KEYSTONE 457c39819c0SBjorn Helgaas help 458c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 459c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 460c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 461c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 462c39819c0SBjorn Helgaas 463c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 464c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 465c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 466c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 467c39819c0SBjorn Helgaas select PCIE_DW_EP 468c39819c0SBjorn Helgaas select PCI_KEYSTONE 469c39819c0SBjorn Helgaas help 470c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 471c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 472c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 473c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 474c39819c0SBjorn Helgaas 475c39819c0SBjorn Helgaasconfig PCIE_VISCONTI_HOST 476c39819c0SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 477c39819c0SBjorn Helgaas depends on ARCH_VISCONTI || COMPILE_TEST 478c39819c0SBjorn Helgaas depends on PCI_MSI 479e7e21b3aSPaul Walmsley select PCIE_DW_HOST 480e7e21b3aSPaul Walmsley help 481c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 482c39819c0SBjorn Helgaas This driver supports TMPV7708 SoC. 483e7e21b3aSPaul Walmsley 4846e0832faSShawn Linendmenu 485