16e0832faSShawn Lin# SPDX-License-Identifier: GPL-2.0 26e0832faSShawn Lin 3*80c170d7SBjorn 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 176e0832faSShawn Linconfig PCI_DRA7XX 183b868d15SLuca Ceresoli tristate 196e0832faSShawn Lin 206e0832faSShawn Linconfig PCI_DRA7XX_HOST 21*80c170d7SBjorn Helgaas tristate "TI DRA7xx PCIe controller (host mode)" 226e0832faSShawn Lin depends on SOC_DRA7XX || COMPILE_TEST 236e0832faSShawn Lin depends on OF && HAS_IOMEM && TI_PIPE3 24a474d3fbSThomas Gleixner depends on PCI_MSI 256e0832faSShawn Lin select PCIE_DW_HOST 266e0832faSShawn Lin select PCI_DRA7XX 2794b84ac1SBjorn Helgaas default y if SOC_DRA7XX 286e0832faSShawn Lin help 296e0832faSShawn Lin Enables support for the PCIe controller in the DRA7xx SoC to work in 306e0832faSShawn Lin host mode. There are two instances of PCIe controller in DRA7xx. 316e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 326e0832faSShawn Lin host-specific features PCI_DRA7XX_HOST must be selected and in order 336e0832faSShawn Lin to enable device-specific features PCI_DRA7XX_EP must be selected. 346e0832faSShawn Lin This uses the DesignWare core. 356e0832faSShawn Lin 366e0832faSShawn Linconfig PCI_DRA7XX_EP 37*80c170d7SBjorn Helgaas tristate "TI DRA7xx PCIe controller (endpoint mode)" 386e0832faSShawn Lin depends on SOC_DRA7XX || COMPILE_TEST 396e0832faSShawn Lin depends on OF && HAS_IOMEM && TI_PIPE3 408faa1d2dSAndy Shevchenko depends on PCI_ENDPOINT 416e0832faSShawn Lin select PCIE_DW_EP 426e0832faSShawn Lin select PCI_DRA7XX 436e0832faSShawn Lin help 446e0832faSShawn Lin Enables support for the PCIe controller in the DRA7xx SoC to work in 456e0832faSShawn Lin endpoint mode. There are two instances of PCIe controller in DRA7xx. 466e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 476e0832faSShawn Lin host-specific features PCI_DRA7XX_HOST must be selected and in order 486e0832faSShawn Lin to enable device-specific features PCI_DRA7XX_EP must be selected. 496e0832faSShawn Lin This uses the DesignWare core. 506e0832faSShawn Lin 516e0832faSShawn Linconfig PCIE_DW_PLAT 526e0832faSShawn Lin bool 536e0832faSShawn Lin 546e0832faSShawn Linconfig PCIE_DW_PLAT_HOST 55*80c170d7SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (host mode)" 56a474d3fbSThomas Gleixner depends on PCI_MSI 576e0832faSShawn Lin select PCIE_DW_HOST 586e0832faSShawn Lin select PCIE_DW_PLAT 596e0832faSShawn Lin help 606e0832faSShawn Lin Enables support for the PCIe controller in the Designware IP to 616e0832faSShawn Lin work in host mode. There are two instances of PCIe controller in 626e0832faSShawn Lin Designware IP. 636e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 646e0832faSShawn Lin host-specific features PCIE_DW_PLAT_HOST must be selected and in 656e0832faSShawn Lin order to enable device-specific features PCI_DW_PLAT_EP must be 666e0832faSShawn Lin selected. 676e0832faSShawn Lin 686e0832faSShawn Linconfig PCIE_DW_PLAT_EP 69*80c170d7SBjorn Helgaas bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 70a474d3fbSThomas Gleixner depends on PCI && PCI_MSI 716e0832faSShawn Lin depends on PCI_ENDPOINT 726e0832faSShawn Lin select PCIE_DW_EP 736e0832faSShawn Lin select PCIE_DW_PLAT 746e0832faSShawn Lin help 756e0832faSShawn Lin Enables support for the PCIe controller in the Designware IP to 766e0832faSShawn Lin work in endpoint mode. There are two instances of PCIe controller 776e0832faSShawn Lin in Designware IP. 786e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 796e0832faSShawn Lin host-specific features PCIE_DW_PLAT_HOST must be selected and in 806e0832faSShawn Lin order to enable device-specific features PCI_DW_PLAT_EP must be 816e0832faSShawn Lin selected. 826e0832faSShawn Lin 836e0832faSShawn Linconfig PCI_EXYNOS 84778f7c19SJaehoon Chung tristate "Samsung Exynos PCIe controller" 85778f7c19SJaehoon Chung depends on ARCH_EXYNOS || COMPILE_TEST 86a474d3fbSThomas Gleixner depends on PCI_MSI 876e0832faSShawn Lin select PCIE_DW_HOST 88778f7c19SJaehoon Chung help 89778f7c19SJaehoon Chung Enables support for the PCIe controller in the Samsung Exynos SoCs 90778f7c19SJaehoon Chung to work in host mode. The PCI controller is based on the DesignWare 91778f7c19SJaehoon Chung hardware and therefore the driver re-uses the DesignWare core 92778f7c19SJaehoon Chung functions to implement the driver. 936e0832faSShawn Lin 946e0832faSShawn Linconfig PCI_IMX6 9575c2f26dSRichard Zhu bool 9675c2f26dSRichard Zhu 9775c2f26dSRichard Zhuconfig PCI_IMX6_HOST 98*80c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 997e8ab1b2SLeonard Crestez depends on ARCH_MXC || COMPILE_TEST 100a474d3fbSThomas Gleixner depends on PCI_MSI 1016e0832faSShawn Lin 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 110*80c170d7SBjorn Helgaas bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 11175c2f26dSRichard Zhu depends on ARCH_MXC || COMPILE_TEST 11275c2f26dSRichard Zhu depends on PCI_ENDPOINT 11375c2f26dSRichard Zhu select PCIE_DW_EP 11475c2f26dSRichard Zhu select PCI_IMX6 11575c2f26dSRichard Zhu help 11675c2f26dSRichard Zhu Enables support for the PCIe controller in the i.MX SoCs to 11775c2f26dSRichard Zhu work in endpoint mode. The PCI controller on i.MX is based 11875c2f26dSRichard Zhu on DesignWare hardware and therefore the driver re-uses the 11975c2f26dSRichard Zhu DesignWare core functions to implement the driver. 1206e0832faSShawn Lin 1216e0832faSShawn Linconfig PCIE_SPEAR13XX 1226e0832faSShawn Lin bool "STMicroelectronics SPEAr PCIe controller" 1236e0832faSShawn Lin depends on ARCH_SPEAR13XX || COMPILE_TEST 124a474d3fbSThomas Gleixner depends on PCI_MSI 1256e0832faSShawn Lin select PCIE_DW_HOST 1266e0832faSShawn Lin help 1276e0832faSShawn Lin Say Y here if you want PCIe support on SPEAr13XX SoCs. 1286e0832faSShawn Lin 1296e0832faSShawn Linconfig PCI_KEYSTONE 13023284ad6SKishon Vijay Abraham I bool 13123284ad6SKishon Vijay Abraham I 13223284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_HOST 133*80c170d7SBjorn Helgaas bool "TI Keystone PCIe controller (host mode)" 134476b70b4SAlex Dewar depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 135a474d3fbSThomas Gleixner depends on PCI_MSI 1366e0832faSShawn Lin select PCIE_DW_HOST 13723284ad6SKishon Vijay Abraham I select PCI_KEYSTONE 1386e0832faSShawn Lin help 13923284ad6SKishon Vijay Abraham I Enables support for the PCIe controller in the Keystone SoC to 14023284ad6SKishon Vijay Abraham I work in host mode. The PCI controller on Keystone is based on 14123284ad6SKishon Vijay Abraham I DesignWare hardware and therefore the driver re-uses the 14223284ad6SKishon Vijay Abraham I DesignWare core functions to implement the driver. 14323284ad6SKishon Vijay Abraham I 14423284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_EP 145*80c170d7SBjorn Helgaas bool "TI Keystone PCIe controller (endpoint mode)" 146476b70b4SAlex Dewar depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 14723284ad6SKishon Vijay Abraham I depends on PCI_ENDPOINT 14823284ad6SKishon Vijay Abraham I select PCIE_DW_EP 14923284ad6SKishon Vijay Abraham I select PCI_KEYSTONE 15023284ad6SKishon Vijay Abraham I help 15123284ad6SKishon Vijay Abraham I Enables support for the PCIe controller in the Keystone SoC to 15223284ad6SKishon Vijay Abraham I work in endpoint mode. The PCI controller on Keystone is based 15323284ad6SKishon Vijay Abraham I on DesignWare hardware and therefore the driver re-uses the 15423284ad6SKishon Vijay Abraham I DesignWare core functions to implement the driver. 1556e0832faSShawn Lin 1566e0832faSShawn Linconfig PCI_LAYERSCAPE 157*80c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (host mode)" 1586e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 159a474d3fbSThomas Gleixner depends on PCI_MSI 1606e0832faSShawn Lin select PCIE_DW_HOST 1612908a0d8SAndy Shevchenko select MFD_SYSCON 1626e0832faSShawn Lin help 163b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 164b5b24617SXiaowei Bao SoCs to work in Host mode. 165b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 166b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 167b5b24617SXiaowei Bao controller works in RC mode. 168b5b24617SXiaowei Bao 169b5b24617SXiaowei Baoconfig PCI_LAYERSCAPE_EP 170*80c170d7SBjorn Helgaas bool "Freescale Layerscape PCIe controller (endpoint mode)" 171b5b24617SXiaowei Bao depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 172b5b24617SXiaowei Bao depends on PCI_ENDPOINT 173b5b24617SXiaowei Bao select PCIE_DW_EP 174b5b24617SXiaowei Bao help 175b5b24617SXiaowei Bao Say Y here if you want to enable PCIe controller support on Layerscape 176b5b24617SXiaowei Bao SoCs to work in Endpoint mode. 177b5b24617SXiaowei Bao This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 178b5b24617SXiaowei Bao determines which PCIe controller works in EP mode and which PCIe 179b5b24617SXiaowei Bao controller works in RC mode. 1806e0832faSShawn Lin 1816e0832faSShawn Linconfig PCI_HISI 1826e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 183*80c170d7SBjorn Helgaas bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 184a474d3fbSThomas Gleixner depends on PCI_MSI 1856e0832faSShawn Lin select PCIE_DW_HOST 1866e0832faSShawn Lin select PCI_HOST_COMMON 1876e0832faSShawn Lin help 1886e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon 1896e0832faSShawn Lin Hip05 and Hip06 SoCs 1906e0832faSShawn Lin 1916e0832faSShawn Linconfig PCIE_QCOM 192*80c170d7SBjorn Helgaas bool "Qualcomm PCIe controller (host mode)" 1936e0832faSShawn Lin depends on OF && (ARCH_QCOM || COMPILE_TEST) 194a474d3fbSThomas Gleixner depends on PCI_MSI 1956e0832faSShawn Lin select PCIE_DW_HOST 1964c939882SManivannan Sadhasivam select CRC8 1976e0832faSShawn Lin help 1986e0832faSShawn Lin Say Y here to enable PCIe controller support on Qualcomm SoCs. The 1996e0832faSShawn Lin PCIe controller uses the DesignWare core plus Qualcomm-specific 2006e0832faSShawn Lin hardware wrappers. 2016e0832faSShawn Lin 202f55fee56SManivannan Sadhasivamconfig PCIE_QCOM_EP 203*80c170d7SBjorn Helgaas tristate "Qualcomm PCIe controller (endpoint mode)" 204f55fee56SManivannan Sadhasivam depends on OF && (ARCH_QCOM || COMPILE_TEST) 205f55fee56SManivannan Sadhasivam depends on PCI_ENDPOINT 206f55fee56SManivannan Sadhasivam select PCIE_DW_EP 207f55fee56SManivannan Sadhasivam help 208f55fee56SManivannan Sadhasivam Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 209f55fee56SManivannan Sadhasivam to work in endpoint mode. The PCIe controller uses the DesignWare core 210f55fee56SManivannan Sadhasivam plus Qualcomm-specific hardware wrappers. 211f55fee56SManivannan Sadhasivam 2126e0832faSShawn Linconfig PCIE_ARMADA_8K 2136e0832faSShawn Lin bool "Marvell Armada-8K PCIe controller" 2146e0832faSShawn Lin depends on ARCH_MVEBU || COMPILE_TEST 215a474d3fbSThomas Gleixner depends on PCI_MSI 2166e0832faSShawn Lin select PCIE_DW_HOST 2176e0832faSShawn Lin help 2186e0832faSShawn Lin Say Y here if you want to enable PCIe controller support on 2196e0832faSShawn Lin Armada-8K SoCs. The PCIe controller on Armada-8K is based on 2206e0832faSShawn Lin DesignWare hardware and therefore the driver re-uses the 2216e0832faSShawn Lin DesignWare core functions to implement the driver. 2226e0832faSShawn Lin 2236e0832faSShawn Linconfig PCIE_ARTPEC6 2246e0832faSShawn Lin bool 2256e0832faSShawn Lin 2266e0832faSShawn Linconfig PCIE_ARTPEC6_HOST 227*80c170d7SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (host mode)" 2286e0832faSShawn Lin depends on MACH_ARTPEC6 || COMPILE_TEST 229a474d3fbSThomas Gleixner depends on PCI_MSI 2306e0832faSShawn Lin select PCIE_DW_HOST 2316e0832faSShawn Lin select PCIE_ARTPEC6 2326e0832faSShawn Lin help 2336e0832faSShawn Lin Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 2346e0832faSShawn Lin host mode. This uses the DesignWare core. 2356e0832faSShawn Lin 2366e0832faSShawn Linconfig PCIE_ARTPEC6_EP 237*80c170d7SBjorn Helgaas bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 2386e0832faSShawn Lin depends on MACH_ARTPEC6 || COMPILE_TEST 2396e0832faSShawn Lin depends on PCI_ENDPOINT 2406e0832faSShawn Lin select PCIE_DW_EP 2416e0832faSShawn Lin select PCIE_ARTPEC6 2426e0832faSShawn Lin help 2436e0832faSShawn Lin Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 2446e0832faSShawn Lin endpoint mode. This uses the DesignWare core. 2456e0832faSShawn Lin 246ba6ed462SSerge Seminconfig PCIE_BT1 247ba6ed462SSerge Semin tristate "Baikal-T1 PCIe controller" 248ba6ed462SSerge Semin depends on MIPS_BAIKAL_T1 || COMPILE_TEST 249760d560fSLukas Bulwahn depends on PCI_MSI 250ba6ed462SSerge Semin select PCIE_DW_HOST 251ba6ed462SSerge Semin help 252ba6ed462SSerge Semin Enables support for the PCIe controller in the Baikal-T1 SoC to work 253ba6ed462SSerge Semin in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 254ba6ed462SSerge Semin 2550e898eb8SSimon Xueconfig PCIE_ROCKCHIP_DW_HOST 2560e898eb8SSimon Xue bool "Rockchip DesignWare PCIe controller" 2570e898eb8SSimon Xue select PCIE_DW 2580e898eb8SSimon Xue select PCIE_DW_HOST 259a474d3fbSThomas Gleixner depends on PCI_MSI 2600e898eb8SSimon Xue depends on ARCH_ROCKCHIP || COMPILE_TEST 2610e898eb8SSimon Xue depends on OF 2620e898eb8SSimon Xue help 2630e898eb8SSimon Xue Enables support for the DesignWare PCIe controller in the 2640e898eb8SSimon Xue Rockchip SoC except RK3399. 2650e898eb8SSimon Xue 266ed22aaaeSDilip Kotaconfig PCIE_INTEL_GW 267*80c170d7SBjorn Helgaas bool "Intel Gateway PCIe controller " 268ed22aaaeSDilip Kota depends on OF && (X86 || COMPILE_TEST) 269a474d3fbSThomas Gleixner depends on PCI_MSI 270ed22aaaeSDilip Kota select PCIE_DW_HOST 271ed22aaaeSDilip Kota help 272ed22aaaeSDilip Kota Say 'Y' here to enable PCIe Host controller support on Intel 273ed22aaaeSDilip Kota Gateway SoCs. 274ed22aaaeSDilip Kota The PCIe controller uses the DesignWare core plus Intel-specific 275ed22aaaeSDilip Kota hardware wrappers. 276ed22aaaeSDilip Kota 2770c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY 2780c87f90bSSrikanth Thokala bool 2790c87f90bSSrikanth Thokala 2800c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_HOST 281*80c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (host mode)" 2820c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 283a474d3fbSThomas Gleixner depends on PCI_MSI 2840c87f90bSSrikanth Thokala select PCIE_DW_HOST 2850c87f90bSSrikanth Thokala select PCIE_KEEMBAY 2860c87f90bSSrikanth Thokala help 2870c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 2880c87f90bSSrikanth Thokala to work in host mode. 2890c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 2900c87f90bSSrikanth Thokala DesignWare core functions. 2910c87f90bSSrikanth Thokala 2920c87f90bSSrikanth Thokalaconfig PCIE_KEEMBAY_EP 293*80c170d7SBjorn Helgaas bool "Intel Keem Bay PCIe controller (endpoint mode)" 2940c87f90bSSrikanth Thokala depends on ARCH_KEEMBAY || COMPILE_TEST 295a474d3fbSThomas Gleixner depends on PCI_MSI 2960c87f90bSSrikanth Thokala depends on PCI_ENDPOINT 2970c87f90bSSrikanth Thokala select PCIE_DW_EP 2980c87f90bSSrikanth Thokala select PCIE_KEEMBAY 2990c87f90bSSrikanth Thokala help 3000c87f90bSSrikanth Thokala Say 'Y' here to enable support for the PCIe controller in Keem Bay 3010c87f90bSSrikanth Thokala to work in endpoint mode. 3020c87f90bSSrikanth Thokala The PCIe controller is based on DesignWare Hardware and uses 3030c87f90bSSrikanth Thokala DesignWare core functions. 3040c87f90bSSrikanth Thokala 3056e0832faSShawn Linconfig PCIE_KIRIN 3066e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 307*80c170d7SBjorn Helgaas tristate "HiSilicon Kirin PCIe controller" 308a474d3fbSThomas Gleixner depends on PCI_MSI 3096e0832faSShawn Lin select PCIE_DW_HOST 3103a2776e8SJosh Triplett select REGMAP_MMIO 3116e0832faSShawn Lin help 3126e0832faSShawn Lin Say Y here if you want PCIe controller support 3136e0832faSShawn Lin on HiSilicon Kirin series SoCs. 3146e0832faSShawn Lin 3156e0832faSShawn Linconfig PCIE_HISI_STB 316*80c170d7SBjorn Helgaas bool "HiSilicon STB PCIe controller" 3176e0832faSShawn Lin depends on ARCH_HISI || COMPILE_TEST 318a474d3fbSThomas Gleixner depends on PCI_MSI 3196e0832faSShawn Lin select PCIE_DW_HOST 3206e0832faSShawn Lin help 3216e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon STB SoCs 3226e0832faSShawn Lin 3239c0ef6d3SYue Wangconfig PCI_MESON 3246ba4ce6bSBjorn Helgaas tristate "Amlogic Meson PCIe controller" 325a98d2187SKevin Hilman default m if ARCH_MESON 326a474d3fbSThomas Gleixner depends on PCI_MSI 3279c0ef6d3SYue Wang select PCIE_DW_HOST 3289c0ef6d3SYue Wang help 3299c0ef6d3SYue Wang Say Y here if you want to enable PCI controller support on Amlogic 3309c0ef6d3SYue Wang SoCs. The PCI controller on Amlogic is based on DesignWare hardware 3319c0ef6d3SYue Wang and therefore the driver re-uses the DesignWare core functions to 3329c0ef6d3SYue Wang implement the driver. 3339c0ef6d3SYue Wang 33456e15a23SVidya Sagarconfig PCIE_TEGRA194 335c57247f9SVidya Sagar tristate 336c57247f9SVidya Sagar 337c57247f9SVidya Sagarconfig PCIE_TEGRA194_HOST 338*80c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 33956e15a23SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 340a474d3fbSThomas Gleixner depends on PCI_MSI 34156e15a23SVidya Sagar select PCIE_DW_HOST 34256e15a23SVidya Sagar select PHY_TEGRA194_P2U 343c57247f9SVidya Sagar select PCIE_TEGRA194 34456e15a23SVidya Sagar help 345c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 346c57247f9SVidya Sagar work in host mode. There are two instances of PCIe controllers in 347c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 348c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 349c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 350c57247f9SVidya Sagar selected. This uses the DesignWare core. 351c57247f9SVidya Sagar 352c57247f9SVidya Sagarconfig PCIE_TEGRA194_EP 353*80c170d7SBjorn Helgaas tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 354c57247f9SVidya Sagar depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 355c57247f9SVidya Sagar depends on PCI_ENDPOINT 356c57247f9SVidya Sagar select PCIE_DW_EP 357c57247f9SVidya Sagar select PHY_TEGRA194_P2U 358c57247f9SVidya Sagar select PCIE_TEGRA194 359c57247f9SVidya Sagar help 360c57247f9SVidya Sagar Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 36110739e2aSWesley Sheng work in endpoint mode. There are two instances of PCIe controllers in 362c57247f9SVidya Sagar Tegra194. This controller can work either as EP or RC. In order to 363c57247f9SVidya Sagar enable host-specific features PCIE_TEGRA194_HOST must be selected and 364c57247f9SVidya Sagar in order to enable device-specific features PCIE_TEGRA194_EP must be 365c57247f9SVidya Sagar selected. This uses the DesignWare core. 36656e15a23SVidya Sagar 367da36024aSNobuhiro Iwamatsuconfig PCIE_VISCONTI_HOST 368*80c170d7SBjorn Helgaas bool "Toshiba Visconti PCIe controller" 369da36024aSNobuhiro Iwamatsu depends on ARCH_VISCONTI || COMPILE_TEST 370a474d3fbSThomas Gleixner depends on PCI_MSI 371da36024aSNobuhiro Iwamatsu select PCIE_DW_HOST 372da36024aSNobuhiro Iwamatsu help 373da36024aSNobuhiro Iwamatsu Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 374da36024aSNobuhiro Iwamatsu This driver supports TMPV7708 SoC. 375da36024aSNobuhiro Iwamatsu 3767e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 377*80c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (host mode)" 3787e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3797e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 380a474d3fbSThomas Gleixner depends on PCI_MSI 3817e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 3827e6d5cd8SKunihiko Hayashi help 3838d7e33d6SKunihiko Hayashi Say Y here if you want PCIe host controller support on UniPhier SoCs. 3847e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 3857e6d5cd8SKunihiko Hayashi 3868d7e33d6SKunihiko Hayashiconfig PCIE_UNIPHIER_EP 387*80c170d7SBjorn Helgaas bool "Socionext UniPhier PCIe controller (endpoint mode)" 3888d7e33d6SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 3898d7e33d6SKunihiko Hayashi depends on OF && HAS_IOMEM 3908d7e33d6SKunihiko Hayashi depends on PCI_ENDPOINT 3918d7e33d6SKunihiko Hayashi select PCIE_DW_EP 3928d7e33d6SKunihiko Hayashi help 3938d7e33d6SKunihiko Hayashi Say Y here if you want PCIe endpoint controller support on 3948d7e33d6SKunihiko Hayashi UniPhier SoCs. This driver supports Pro5 SoC. 3958d7e33d6SKunihiko Hayashi 396a8daea94SJonathan Chocronconfig PCIE_AL 397a8daea94SJonathan Chocron bool "Amazon Annapurna Labs PCIe controller" 398a8daea94SJonathan Chocron depends on OF && (ARM64 || COMPILE_TEST) 399a474d3fbSThomas Gleixner depends on PCI_MSI 400a8daea94SJonathan Chocron select PCIE_DW_HOST 40159521c3cSArnd Bergmann select PCI_ECAM 402a8daea94SJonathan Chocron help 403a8daea94SJonathan Chocron Say Y here to enable support of the Amazon's Annapurna Labs PCIe 404a8daea94SJonathan Chocron controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 405a8daea94SJonathan Chocron core plus Annapurna Labs proprietary hardware wrappers. This is 406a8daea94SJonathan Chocron required only for DT-based platforms. ACPI platforms with the 407a8daea94SJonathan Chocron Annapurna Labs PCIe controller don't need to enable this. 408a8daea94SJonathan Chocron 409e7e21b3aSPaul Walmsleyconfig PCIE_FU740 410*80c170d7SBjorn Helgaas bool "SiFive FU740 PCIe controller" 411a474d3fbSThomas Gleixner depends on PCI_MSI 412e7e21b3aSPaul Walmsley depends on SOC_SIFIVE || COMPILE_TEST 413e7e21b3aSPaul Walmsley select PCIE_DW_HOST 414e7e21b3aSPaul Walmsley help 415e7e21b3aSPaul Walmsley Say Y here if you want PCIe controller support for the SiFive 416e7e21b3aSPaul Walmsley FU740. 417e7e21b3aSPaul Walmsley 4186e0832faSShawn Linendmenu 419