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