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_DEBUGFS 106e0832faSShawn Lin bool "DesignWare PCIe debugfs entries" 116e0832faSShawn Lin depends on DEBUG_FS 126e0832faSShawn Lin depends on PCIE_DW_HOST || PCIE_DW_EP 136e0832faSShawn Lin help 146e0832faSShawn Lin Say Y here to enable debugfs entries for the PCIe controller. These 156e0832faSShawn Lin entries provide various debug features related to the controller and 166e0832faSShawn Lin expose the RAS DES capabilities such as Silicon Debug, Error Injection 17c39819c0SBjorn Helgaas and Statistical Counters. 18c39819c0SBjorn Helgaas 19c39819c0SBjorn Helgaasconfig PCIE_DW_HOST 20a474d3fbSThomas Gleixner bool 216e0832faSShawn Lin select PCIE_DW 22c39819c0SBjorn Helgaas 236e0832faSShawn Linconfig PCIE_DW_EP 24c39819c0SBjorn Helgaas bool 25c39819c0SBjorn Helgaas select PCIE_DW 26c39819c0SBjorn Helgaas 27c39819c0SBjorn Helgaasconfig PCIE_AL 28c39819c0SBjorn Helgaas bool "Amazon Annapurna Labs PCIe controller" 296e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 30*5f3de23dSThippeswamy Havalige depends on PCI_MSI 31*5f3de23dSThippeswamy Havalige select PCIE_DW_HOST 32*5f3de23dSThippeswamy Havalige select PCI_ECAM 33*5f3de23dSThippeswamy Havalige help 34*5f3de23dSThippeswamy Havalige Say Y here to enable support of the Amazon's Annapurna Labs PCIe 35*5f3de23dSThippeswamy Havalige controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 36*5f3de23dSThippeswamy Havalige core plus Annapurna Labs proprietary hardware wrappers. This is 37*5f3de23dSThippeswamy Havalige required only for DT-based platforms. ACPI platforms with the 38*5f3de23dSThippeswamy Havalige Annapurna Labs PCIe controller don't need to enable this. 39*5f3de23dSThippeswamy Havalige 40*5f3de23dSThippeswamy Havaligeconfig PCIE_AMD_MDB 41c39819c0SBjorn Helgaas bool "AMD MDB Versal2 PCIe controller" 42c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 43c39819c0SBjorn Helgaas depends on PCI_MSI 44c39819c0SBjorn Helgaas select PCIE_DW_HOST 45c39819c0SBjorn Helgaas help 466e0832faSShawn Lin Say Y here if you want to enable PCIe controller support on AMD 47c39819c0SBjorn Helgaas Versal2 SoCs. The AMD MDB Versal2 PCIe controller is based on 48c39819c0SBjorn Helgaas DesignWare IP and therefore the driver re-uses the DesignWare 49c39819c0SBjorn Helgaas core functions to implement the driver. 50c39819c0SBjorn Helgaas 516e0832faSShawn Linconfig PCI_MESON 52c39819c0SBjorn Helgaas tristate "Amlogic Meson PCIe controller" 536e0832faSShawn Lin default m if ARCH_MESON 546e0832faSShawn Lin depends on PCI_MSI 55c39819c0SBjorn Helgaas select PCIE_DW_HOST 56c39819c0SBjorn Helgaas help 57c39819c0SBjorn Helgaas Say Y here if you want to enable PCI controller support on Amlogic 58a474d3fbSThomas Gleixner SoCs. The PCI controller on Amlogic is based on DesignWare hardware 596e0832faSShawn Lin and therefore the driver re-uses the DesignWare core functions to 60c39819c0SBjorn Helgaas implement the driver. 616e0832faSShawn Lin 62c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6 63c39819c0SBjorn Helgaas bool 646e0832faSShawn Lin 65c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_HOST 66c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 67c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 686e0832faSShawn Lin depends on PCI_MSI 696e0832faSShawn Lin select PCIE_DW_HOST 70c39819c0SBjorn Helgaas select PCIE_ARTPEC6 716e0832faSShawn Lin help 72c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 73c39819c0SBjorn Helgaas host mode. This uses the DesignWare core. 746e0832faSShawn Lin 75c39819c0SBjorn Helgaasconfig PCIE_ARTPEC6_EP 76c39819c0SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 77c39819c0SBjorn Helgaas depends on MACH_ARTPEC6 || COMPILE_TEST 78a474d3fbSThomas Gleixner depends on PCI_ENDPOINT 796e0832faSShawn Lin select PCIE_DW_EP 80778f7c19SJaehoon Chung select PCIE_ARTPEC6 81c39819c0SBjorn Helgaas help 82c39819c0SBjorn Helgaas Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 836e0832faSShawn Lin endpoint mode. This uses the DesignWare core. 846e0832faSShawn Lin 8575c2f26dSRichard Zhuconfig PCIE_BT1 8675c2f26dSRichard Zhu tristate "Baikal-T1 PCIe controller" 8775c2f26dSRichard Zhu depends on MIPS_BAIKAL_T1 || COMPILE_TEST 8880c170d7SBjorn Helgaas depends on PCI_MSI 897e8ab1b2SLeonard Crestez select PCIE_DW_HOST 90a474d3fbSThomas Gleixner help 916e0832faSShawn Lin Enables support for the PCIe controller in the Baikal-T1 SoC to work 9275c2f26dSRichard Zhu in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 9375c2f26dSRichard Zhu 9475c2f26dSRichard Zhuconfig PCI_IMX6 9575c2f26dSRichard Zhu bool 9675c2f26dSRichard Zhu 9775c2f26dSRichard Zhuconfig PCI_IMX6_HOST 9875c2f26dSRichard Zhu bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 9975c2f26dSRichard Zhu depends on ARCH_MXC || COMPILE_TEST 10080c170d7SBjorn Helgaas depends on PCI_MSI 10175c2f26dSRichard Zhu select PCIE_DW_HOST 10275c2f26dSRichard Zhu select PCI_IMX6 10375c2f26dSRichard Zhu help 10475c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 10575c2f26dSRichard Zhu work in Root Complex mode. The PCI controller on i.MX is based 10675c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 10775c2f26dSRichard Zhu DesignWare core functions to implement the driver. 10875c2f26dSRichard Zhu 10975c2f26dSRichard Zhuconfig PCI_IMX6_EP 1106e0832faSShawn Lin bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 1116e0832faSShawn Lin depends on ARCH_MXC || COMPILE_TEST 11280c170d7SBjorn Helgaas depends on PCI_ENDPOINT 1136e0832faSShawn Lin select PCIE_DW_EP 114a474d3fbSThomas Gleixner select PCI_IMX6 1156e0832faSShawn Lin help 1162908a0d8SAndy Shevchenko Enables support for the PCIe controller in the i.MX SoCs to 1176e0832faSShawn Lin work in endpoint mode. The PCI controller on i.MX is based 118b5b24617SXiaowei Bao on DesignWare hardware and therefore the driver re-uses the 119b5b24617SXiaowei Bao DesignWare core functions to implement the driver. 120b5b24617SXiaowei Bao 121b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE 122b5b24617SXiaowei Bao bool "Freescale Layerscape PCIe controller (host mode)" 123b5b24617SXiaowei Bao depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 124b5b24617SXiaowei Bao depends on PCI_MSI 12580c170d7SBjorn Helgaas select PCIE_DW_HOST 126b5b24617SXiaowei Bao select MFD_SYSCON 127b5b24617SXiaowei Bao help 128b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 129b5b24617SXiaowei Bao SoCs to work in Host mode. 130b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 131b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 132b5b24617SXiaowei Bao controller works in RC mode. 133b5b24617SXiaowei Bao 134b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP 1356e0832faSShawn Lin bool "Freescale Layerscape PCIe controller (endpoint mode)" 1366e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 1376e0832faSShawn Lin depends on PCI_ENDPOINT 13880c170d7SBjorn Helgaas select PCIE_DW_EP 139a474d3fbSThomas Gleixner help 1406e0832faSShawn Lin Say Y here if you want to enable PCIe controller support on Layerscape 1416e0832faSShawn Lin SoCs to work in Endpoint mode. 1426e0832faSShawn Lin This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 1436e0832faSShawn Lin determines which PCIe controller works in EP mode and which PCIe 1446e0832faSShawn Lin controller works in RC mode. 1456e0832faSShawn Lin 146c39819c0SBjorn Helgaasconfig PCI_HISI 147c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 148c39819c0SBjorn Helgaas bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 149a474d3fbSThomas Gleixner depends on PCI_MSI 1506e0832faSShawn Lin select PCIE_DW_HOST 151c39819c0SBjorn Helgaas select PCI_HOST_COMMON 1526e0832faSShawn Lin help 153c39819c0SBjorn Helgaas Say Y here if you want PCIe controller support on HiSilicon 154c39819c0SBjorn Helgaas Hip05 and Hip06 SoCs 1556e0832faSShawn Lin 156c39819c0SBjorn Helgaasconfig PCIE_KIRIN 157c39819c0SBjorn Helgaas depends on OF && (ARM64 || COMPILE_TEST) 158c39819c0SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 159a474d3fbSThomas Gleixner depends on PCI_MSI 1606e0832faSShawn Lin select PCIE_DW_HOST 1616e0832faSShawn Lin select REGMAP_MMIO 162c39819c0SBjorn Helgaas help 1630e898eb8SSimon Xue Say Y here if you want PCIe controller support 164ed22aaaeSDilip Kota on HiSilicon Kirin series SoCs. 16580c170d7SBjorn Helgaas 166ed22aaaeSDilip Kotaconfig PCIE_HISI_STB 167a474d3fbSThomas Gleixner bool "HiSilicon STB PCIe controller" 168ed22aaaeSDilip Kota depends on ARCH_HISI || COMPILE_TEST 169ed22aaaeSDilip Kota depends on PCI_MSI 170ed22aaaeSDilip Kota select PCIE_DW_HOST 171ed22aaaeSDilip Kota help 172ed22aaaeSDilip Kota Say Y here if you want PCIe controller support on HiSilicon STB SoCs 173ed22aaaeSDilip Kota 174ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW 1750c87f90bSSrikanth Thokala bool "Intel Gateway PCIe controller " 1760c87f90bSSrikanth Thokala depends on OF && (X86 || COMPILE_TEST) 1770c87f90bSSrikanth Thokala depends on PCI_MSI 1780c87f90bSSrikanth Thokala select PCIE_DW_HOST 17980c170d7SBjorn Helgaas help 1800c87f90bSSrikanth Thokala Say 'Y' here to enable PCIe Host controller support on Intel 181a474d3fbSThomas Gleixner Gateway SoCs. 1820c87f90bSSrikanth Thokala The PCIe controller uses the DesignWare core plus Intel-specific 1830c87f90bSSrikanth Thokala hardware wrappers. 1840c87f90bSSrikanth Thokala 1850c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY 1860c87f90bSSrikanth Thokala bool 1870c87f90bSSrikanth Thokala 1880c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST 1890c87f90bSSrikanth Thokala bool "Intel Keem Bay PCIe controller (host mode)" 1900c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 19180c170d7SBjorn Helgaas depends on PCI_MSI 1920c87f90bSSrikanth Thokala select PCIE_DW_HOST 193a474d3fbSThomas Gleixner select PCIE_KEEMBAY 1940c87f90bSSrikanth Thokala help 1950c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 1960c87f90bSSrikanth Thokala to work in host mode. 1970c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 1980c87f90bSSrikanth Thokala DesignWare core functions. 1990c87f90bSSrikanth Thokala 2000c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP 2010c87f90bSSrikanth Thokala bool "Intel Keem Bay PCIe controller (endpoint mode)" 2020c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 203c39819c0SBjorn Helgaas depends on PCI_MSI 204c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 205c39819c0SBjorn Helgaas select PCIE_DW_EP 206a474d3fbSThomas Gleixner select PCIE_KEEMBAY 2076e0832faSShawn Lin help 2086e0832faSShawn Lin Say 'Y' here to enable support for the PCIe controller in Keem Bay 209c39819c0SBjorn Helgaas to work in endpoint mode. 210c39819c0SBjorn Helgaas The PCIe controller is based on DesignWare Hardware and uses 211c39819c0SBjorn Helgaas DesignWare core functions. 212c39819c0SBjorn Helgaas 2139c0ef6d3SYue Wangconfig PCIE_ARMADA_8K 21456e15a23SVidya Sagar bool "Marvell Armada-8K PCIe controller" 215c57247f9SVidya Sagar depends on ARCH_MVEBU || COMPILE_TEST 216c57247f9SVidya Sagar depends on PCI_MSI 217c57247f9SVidya Sagar select PCIE_DW_HOST 21880c170d7SBjorn Helgaas help 21956e15a23SVidya Sagar Say Y here if you want to enable PCIe controller support on 220a474d3fbSThomas Gleixner Armada-8K SoCs. The PCIe controller on Armada-8K is based on 22156e15a23SVidya Sagar DesignWare hardware and therefore the driver re-uses the 22256e15a23SVidya Sagar DesignWare core functions to implement the driver. 223c57247f9SVidya Sagar 22456e15a23SVidya Sagarconfig PCIE_TEGRA194 225c57247f9SVidya Sagar tristate 226c57247f9SVidya Sagar 227c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST 228c57247f9SVidya Sagar tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 229c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 230c57247f9SVidya Sagar depends on PCI_MSI 231c57247f9SVidya Sagar select PCIE_DW_HOST 232c57247f9SVidya Sagar select PHY_TEGRA194_P2U 23380c170d7SBjorn Helgaas select PCIE_TEGRA194 234c57247f9SVidya Sagar help 235c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 236c57247f9SVidya Sagar work in host mode. There are two instances of PCIe controllers in 237c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 238c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 239c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 240c57247f9SVidya Sagar selected. This uses the DesignWare core. 24110739e2aSWesley Sheng 242c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP 243c57247f9SVidya Sagar tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 244c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 245c57247f9SVidya Sagar depends on PCI_ENDPOINT 24656e15a23SVidya Sagar select PCIE_DW_EP 247c39819c0SBjorn Helgaas select PHY_TEGRA194_P2U 248c39819c0SBjorn Helgaas select PCIE_TEGRA194 249c39819c0SBjorn Helgaas help 250c39819c0SBjorn Helgaas Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 251c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controllers in 252c39819c0SBjorn Helgaas Tegra194. This controller can work either as EP or RC. In order to 253c39819c0SBjorn Helgaas enable host-specific features PCIE_TEGRA194_HOST must be selected and 254c39819c0SBjorn Helgaas in order to enable device-specific features PCIE_TEGRA194_EP must be 255c39819c0SBjorn Helgaas selected. This uses the DesignWare core. 256c39819c0SBjorn Helgaas 257c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT 258c39819c0SBjorn Helgaas bool 259c39819c0SBjorn Helgaas 260c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_HOST 261c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 262c39819c0SBjorn Helgaas depends on PCI_MSI 263c39819c0SBjorn Helgaas select PCIE_DW_HOST 264c39819c0SBjorn Helgaas select PCIE_DW_PLAT 265c39819c0SBjorn Helgaas help 266c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Designware IP to 267c39819c0SBjorn Helgaas work in host mode. There are two instances of PCIe controller in 268c39819c0SBjorn Helgaas Designware IP. 269c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 270c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 271c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 272c39819c0SBjorn Helgaas selected. 273c39819c0SBjorn Helgaas 274c39819c0SBjorn Helgaasconfig PCIE_DW_PLAT_EP 275c39819c0SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 276c39819c0SBjorn Helgaas depends on PCI && PCI_MSI 277c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 278c39819c0SBjorn Helgaas select PCIE_DW_EP 279d45736b5SShashank Babu Chinta Venkata select PCIE_DW_PLAT 280d45736b5SShashank Babu Chinta Venkata help 281d45736b5SShashank Babu Chinta Venkata Enables support for the PCIe controller in the Designware IP to 282c39819c0SBjorn Helgaas work in endpoint mode. There are two instances of PCIe controller 283c39819c0SBjorn Helgaas in Designware IP. 284c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 285c39819c0SBjorn Helgaas host-specific features PCIE_DW_PLAT_HOST must be selected and in 286c39819c0SBjorn Helgaas order to enable device-specific features PCI_DW_PLAT_EP must be 287c39819c0SBjorn Helgaas selected. 288d45736b5SShashank Babu Chinta Venkata 289c39819c0SBjorn Helgaasconfig PCIE_QCOM_COMMON 290c39819c0SBjorn Helgaas bool 291c39819c0SBjorn Helgaas 292c39819c0SBjorn Helgaasconfig PCIE_QCOM 293c39819c0SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 294c39819c0SBjorn Helgaas depends on OF && (ARCH_QCOM || COMPILE_TEST) 295c39819c0SBjorn Helgaas depends on PCI_MSI 296c39819c0SBjorn Helgaas select PCIE_DW_HOST 297c39819c0SBjorn Helgaas select CRC8 298c39819c0SBjorn Helgaas select PCIE_QCOM_COMMON 299d45736b5SShashank Babu Chinta Venkata help 300c39819c0SBjorn Helgaas Say Y here to enable PCIe controller support on Qualcomm SoCs. The 301c39819c0SBjorn Helgaas PCIe controller uses the DesignWare core plus Qualcomm-specific 302c39819c0SBjorn Helgaas hardware wrappers. 303c39819c0SBjorn Helgaas 304c39819c0SBjorn Helgaasconfig PCIE_QCOM_EP 3050d0c5510SYoshihiro Shimoda tristate "Qualcomm PCIe controller (endpoint mode)" 3060d0c5510SYoshihiro Shimoda depends on OF && (ARCH_QCOM || COMPILE_TEST) 3070d0c5510SYoshihiro Shimoda depends on PCI_ENDPOINT 3080d0c5510SYoshihiro Shimoda select PCIE_DW_EP 3090d0c5510SYoshihiro Shimoda select PCIE_QCOM_COMMON 3100d0c5510SYoshihiro Shimoda help 3110d0c5510SYoshihiro Shimoda Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 3120d0c5510SYoshihiro Shimoda to work in endpoint mode. The PCIe controller uses the DesignWare core 3130d0c5510SYoshihiro Shimoda plus Qualcomm-specific hardware wrappers. 3140d0c5510SYoshihiro Shimoda 3150d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4 3160d0c5510SYoshihiro Shimoda tristate 3170d0c5510SYoshihiro Shimoda 3180d0c5510SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_HOST 319e311b383SYoshihiro Shimoda tristate "Renesas R-Car Gen4 PCIe controller (host mode)" 320e311b383SYoshihiro Shimoda depends on ARCH_RENESAS || COMPILE_TEST 321e311b383SYoshihiro Shimoda depends on PCI_MSI 322e311b383SYoshihiro Shimoda select PCIE_DW_HOST 323e311b383SYoshihiro Shimoda select PCIE_RCAR_GEN4 324e311b383SYoshihiro Shimoda help 325e311b383SYoshihiro Shimoda Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs. 326e311b383SYoshihiro Shimoda To compile this driver as a module, choose M here: the module will be 327e311b383SYoshihiro Shimoda called pcie-rcar-gen4.ko. This uses the DesignWare core. 328e311b383SYoshihiro Shimoda 329e311b383SYoshihiro Shimodaconfig PCIE_RCAR_GEN4_EP 330e242f26fSNiklas Cassel tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)" 331e242f26fSNiklas Cassel depends on ARCH_RENESAS || COMPILE_TEST 332e242f26fSNiklas Cassel depends on PCI_ENDPOINT 333c39819c0SBjorn Helgaas select PCIE_DW_EP 334e242f26fSNiklas Cassel select PCIE_RCAR_GEN4 335c39819c0SBjorn Helgaas help 336c39819c0SBjorn Helgaas Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4 337c39819c0SBjorn Helgaas SoCs. To compile this driver as a module, choose M here: the module 338e242f26fSNiklas Cassel will be called pcie-rcar-gen4.ko. This uses the DesignWare core. 339e242f26fSNiklas Cassel 340c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW 341c39819c0SBjorn Helgaas bool 342e242f26fSNiklas Cassel 343e242f26fSNiklas Casselconfig PCIE_ROCKCHIP_DW_HOST 344e242f26fSNiklas Cassel bool "Rockchip DesignWare PCIe controller (host mode)" 345e242f26fSNiklas Cassel depends on PCI_MSI 346e242f26fSNiklas Cassel depends on ARCH_ROCKCHIP || COMPILE_TEST 347e242f26fSNiklas Cassel depends on OF 348e242f26fSNiklas Cassel select PCIE_DW_HOST 349e242f26fSNiklas Cassel select PCIE_ROCKCHIP_DW 350e242f26fSNiklas Cassel help 351e242f26fSNiklas Cassel Enables support for the DesignWare PCIe controller in the 352e242f26fSNiklas Cassel Rockchip SoC (except RK3399) to work in host mode. 353e242f26fSNiklas Cassel 354c39819c0SBjorn Helgaasconfig PCIE_ROCKCHIP_DW_EP 355c39819c0SBjorn Helgaas bool "Rockchip DesignWare PCIe controller (endpoint mode)" 356c39819c0SBjorn Helgaas depends on ARCH_ROCKCHIP || COMPILE_TEST 357c39819c0SBjorn Helgaas depends on OF 358a474d3fbSThomas Gleixner depends on PCI_ENDPOINT 359da36024aSNobuhiro Iwamatsu select PCIE_DW_EP 360da36024aSNobuhiro Iwamatsu select PCIE_ROCKCHIP_DW 361c39819c0SBjorn Helgaas help 362c39819c0SBjorn Helgaas Enables support for the DesignWare PCIe controller in the 363c39819c0SBjorn Helgaas Rockchip SoC (except RK3399) to work in endpoint mode. 364c39819c0SBjorn Helgaas 365c39819c0SBjorn Helgaasconfig PCI_EXYNOS 366c39819c0SBjorn Helgaas tristate "Samsung Exynos PCIe controller" 367c39819c0SBjorn Helgaas depends on ARCH_EXYNOS || COMPILE_TEST 368c39819c0SBjorn Helgaas depends on PCI_MSI 369edd6ae10SConor Dooley select PCIE_DW_HOST 370c39819c0SBjorn Helgaas help 371c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Samsung Exynos SoCs 372c39819c0SBjorn Helgaas to work in host mode. The PCI controller is based on the DesignWare 373c39819c0SBjorn Helgaas hardware and therefore the driver re-uses the DesignWare core 374da36024aSNobuhiro Iwamatsu functions to implement the driver. 3757e6d5cd8SKunihiko Hayashi 37680c170d7SBjorn Helgaasconfig PCIE_FU740 3777e6d5cd8SKunihiko Hayashi bool "SiFive FU740 PCIe controller" 3787e6d5cd8SKunihiko Hayashi depends on PCI_MSI 379a474d3fbSThomas Gleixner depends on ARCH_SIFIVE || COMPILE_TEST 3807e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3817e6d5cd8SKunihiko Hayashi help 3828d7e33d6SKunihiko Hayashi Say Y here if you want PCIe controller support for the SiFive 3837e6d5cd8SKunihiko Hayashi FU740. 3847e6d5cd8SKunihiko Hayashi 3858d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER 38680c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3878d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3888d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 3898d7e33d6SKunihiko Hayashi depends on PCI_MSI 3908d7e33d6SKunihiko Hayashi select PCIE_DW_HOST 3918d7e33d6SKunihiko Hayashi help 3928d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3938d7e33d6SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3948d7e33d6SKunihiko Hayashi 395c39819c0SBjorn Helgaasconfig PCIE_UNIPHIER_EP 396c39819c0SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 397c39819c0SBjorn Helgaas depends on ARCH_UNIPHIER || COMPILE_TEST 398a474d3fbSThomas Gleixner depends on OF && HAS_IOMEM 399a8daea94SJonathan Chocron depends on PCI_ENDPOINT 400a8daea94SJonathan Chocron select PCIE_DW_EP 401c39819c0SBjorn Helgaas help 402a8daea94SJonathan Chocron Say Y here if you want PCIe endpoint controller support on 403c39819c0SBjorn Helgaas UniPhier SoCs. This driver supports Pro5 SoC. 404c39819c0SBjorn Helgaas 405c39819c0SBjorn Helgaasconfig PCIE_SPEAR13XX 406c39819c0SBjorn Helgaas bool "STMicroelectronics SPEAr PCIe controller" 407c39819c0SBjorn Helgaas depends on ARCH_SPEAR13XX || COMPILE_TEST 408c39819c0SBjorn Helgaas depends on PCI_MSI 409c39819c0SBjorn Helgaas select PCIE_DW_HOST 410a474d3fbSThomas Gleixner help 411c39819c0SBjorn Helgaas Say Y here if you want PCIe support on SPEAr13XX SoCs. 412c39819c0SBjorn Helgaas 413c39819c0SBjorn Helgaasconfig PCI_DRA7XX 414c39819c0SBjorn Helgaas tristate 415c39819c0SBjorn Helgaas 416c39819c0SBjorn Helgaasconfig PCI_DRA7XX_HOST 417c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 418c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 419c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 420c39819c0SBjorn Helgaas depends on PCI_MSI 421c39819c0SBjorn Helgaas select PCIE_DW_HOST 422c39819c0SBjorn Helgaas select PCI_DRA7XX 423c39819c0SBjorn Helgaas default y if SOC_DRA7XX 424c39819c0SBjorn Helgaas help 425c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 426c39819c0SBjorn Helgaas host mode. There are two instances of PCIe controller in DRA7xx. 427c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 428c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 429c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 430c39819c0SBjorn Helgaas This uses the DesignWare core. 431c39819c0SBjorn Helgaas 432c39819c0SBjorn Helgaasconfig PCI_DRA7XX_EP 433c39819c0SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 434c39819c0SBjorn Helgaas depends on SOC_DRA7XX || COMPILE_TEST 435c39819c0SBjorn Helgaas depends on OF && HAS_IOMEM && TI_PIPE3 436c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 437c39819c0SBjorn Helgaas select PCIE_DW_EP 438c39819c0SBjorn Helgaas select PCI_DRA7XX 439c39819c0SBjorn Helgaas help 440c39819c0SBjorn Helgaas Enables support for the PCIe controller in the DRA7xx SoC to work in 441c39819c0SBjorn Helgaas endpoint mode. There are two instances of PCIe controller in DRA7xx. 442c39819c0SBjorn Helgaas This controller can work either as EP or RC. In order to enable 443c39819c0SBjorn Helgaas host-specific features PCI_DRA7XX_HOST must be selected and in order 444c39819c0SBjorn Helgaas to enable device-specific features PCI_DRA7XX_EP must be selected. 445c39819c0SBjorn Helgaas This uses the DesignWare core. 446c39819c0SBjorn Helgaas 447c39819c0SBjorn Helgaasconfig PCI_KEYSTONE 448c39819c0SBjorn Helgaas bool 449c39819c0SBjorn Helgaas 450c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_HOST 451c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 452c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 453c39819c0SBjorn Helgaas depends on PCI_MSI 454c39819c0SBjorn Helgaas select PCIE_DW_HOST 455c39819c0SBjorn Helgaas select PCI_KEYSTONE 456c39819c0SBjorn Helgaas help 457c39819c0SBjorn Helgaas Enables support for the PCIe controller in the Keystone SoC to 458c39819c0SBjorn Helgaas work in host mode. The PCI controller on Keystone is based on 459c39819c0SBjorn Helgaas DesignWare hardware and therefore the driver re-uses the 460c39819c0SBjorn Helgaas DesignWare core functions to implement the driver. 461c39819c0SBjorn Helgaas 462c39819c0SBjorn Helgaasconfig PCI_KEYSTONE_EP 463c39819c0SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 464c39819c0SBjorn Helgaas depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 465c39819c0SBjorn Helgaas depends on PCI_ENDPOINT 466c39819c0SBjorn Helgaas select PCIE_DW_EP 467c39819c0SBjorn Helgaas select PCI_KEYSTONE 468e7e21b3aSPaul Walmsley help 469e7e21b3aSPaul Walmsley Enables support for the PCIe controller in the Keystone SoC to 470c39819c0SBjorn Helgaas work in endpoint mode. The PCI controller on Keystone is based 471c39819c0SBjorn Helgaas on DesignWare hardware and therefore the driver re-uses the 472e7e21b3aSPaul Walmsley DesignWare core functions to implement the driver. 4736e0832faSShawn Lin 474config PCIE_VISCONTI_HOST 475 bool "Toshiba Visconti PCIe controller" 476 depends on ARCH_VISCONTI || COMPILE_TEST 477 depends on PCI_MSI 478 select PCIE_DW_HOST 479 help 480 Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 481 This driver supports TMPV7708 SoC. 482 483endmenu 484