16e0832faSShawn Lin# SPDX-License-Identifier: GPL-2.0 26e0832faSShawn Lin 36e0832faSShawn Linmenu "DesignWare PCI Core Support" 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 depends on PCI_MSI_IRQ_DOMAIN 126e0832faSShawn Lin select PCIE_DW 136e0832faSShawn Lin 146e0832faSShawn Linconfig PCIE_DW_EP 156e0832faSShawn Lin bool 166e0832faSShawn Lin depends on PCI_ENDPOINT 176e0832faSShawn Lin select PCIE_DW 186e0832faSShawn Lin 196e0832faSShawn Linconfig PCI_DRA7XX 206e0832faSShawn Lin bool 216e0832faSShawn Lin 226e0832faSShawn Linconfig PCI_DRA7XX_HOST 236e0832faSShawn Lin bool "TI DRA7xx PCIe controller Host Mode" 246e0832faSShawn Lin depends on SOC_DRA7XX || COMPILE_TEST 256e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 266e0832faSShawn Lin depends on OF && HAS_IOMEM && TI_PIPE3 276e0832faSShawn Lin select PCIE_DW_HOST 286e0832faSShawn Lin select PCI_DRA7XX 296e0832faSShawn Lin default y 306e0832faSShawn Lin help 316e0832faSShawn Lin Enables support for the PCIe controller in the DRA7xx SoC to work in 326e0832faSShawn Lin host mode. There are two instances of PCIe controller in DRA7xx. 336e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 346e0832faSShawn Lin host-specific features PCI_DRA7XX_HOST must be selected and in order 356e0832faSShawn Lin to enable device-specific features PCI_DRA7XX_EP must be selected. 366e0832faSShawn Lin This uses the DesignWare core. 376e0832faSShawn Lin 386e0832faSShawn Linconfig PCI_DRA7XX_EP 396e0832faSShawn Lin bool "TI DRA7xx PCIe controller Endpoint Mode" 406e0832faSShawn Lin depends on SOC_DRA7XX || COMPILE_TEST 416e0832faSShawn Lin depends on PCI_ENDPOINT 426e0832faSShawn Lin depends on OF && HAS_IOMEM && TI_PIPE3 436e0832faSShawn Lin select PCIE_DW_EP 446e0832faSShawn Lin select PCI_DRA7XX 456e0832faSShawn Lin help 466e0832faSShawn Lin Enables support for the PCIe controller in the DRA7xx SoC to work in 476e0832faSShawn Lin endpoint mode. There are two instances of PCIe controller in DRA7xx. 486e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 496e0832faSShawn Lin host-specific features PCI_DRA7XX_HOST must be selected and in order 506e0832faSShawn Lin to enable device-specific features PCI_DRA7XX_EP must be selected. 516e0832faSShawn Lin This uses the DesignWare core. 526e0832faSShawn Lin 536e0832faSShawn Linconfig PCIE_DW_PLAT 546e0832faSShawn Lin bool 556e0832faSShawn Lin 566e0832faSShawn Linconfig PCIE_DW_PLAT_HOST 576e0832faSShawn Lin bool "Platform bus based DesignWare PCIe Controller - Host mode" 586e0832faSShawn Lin depends on PCI && PCI_MSI_IRQ_DOMAIN 596e0832faSShawn Lin select PCIE_DW_HOST 606e0832faSShawn Lin select PCIE_DW_PLAT 616e0832faSShawn Lin help 626e0832faSShawn Lin Enables support for the PCIe controller in the Designware IP to 636e0832faSShawn Lin work in host mode. There are two instances of PCIe controller in 646e0832faSShawn Lin Designware IP. 656e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 666e0832faSShawn Lin host-specific features PCIE_DW_PLAT_HOST must be selected and in 676e0832faSShawn Lin order to enable device-specific features PCI_DW_PLAT_EP must be 686e0832faSShawn Lin selected. 696e0832faSShawn Lin 706e0832faSShawn Linconfig PCIE_DW_PLAT_EP 716e0832faSShawn Lin bool "Platform bus based DesignWare PCIe Controller - Endpoint mode" 726e0832faSShawn Lin depends on PCI && PCI_MSI_IRQ_DOMAIN 736e0832faSShawn Lin depends on PCI_ENDPOINT 746e0832faSShawn Lin select PCIE_DW_EP 756e0832faSShawn Lin select PCIE_DW_PLAT 766e0832faSShawn Lin help 776e0832faSShawn Lin Enables support for the PCIe controller in the Designware IP to 786e0832faSShawn Lin work in endpoint mode. There are two instances of PCIe controller 796e0832faSShawn Lin in Designware IP. 806e0832faSShawn Lin This controller can work either as EP or RC. In order to enable 816e0832faSShawn Lin host-specific features PCIE_DW_PLAT_HOST must be selected and in 826e0832faSShawn Lin order to enable device-specific features PCI_DW_PLAT_EP must be 836e0832faSShawn Lin selected. 846e0832faSShawn Lin 856e0832faSShawn Linconfig PCI_EXYNOS 866e0832faSShawn Lin bool "Samsung Exynos PCIe controller" 876e0832faSShawn Lin depends on SOC_EXYNOS5440 || COMPILE_TEST 886e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 896e0832faSShawn Lin select PCIE_DW_HOST 906e0832faSShawn Lin 916e0832faSShawn Linconfig PCI_IMX6 922d8ed461SAndrey Smirnov bool "Freescale i.MX6/7/8 PCIe controller" 937e8ab1b2SLeonard Crestez depends on ARCH_MXC || COMPILE_TEST 946e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 956e0832faSShawn Lin select PCIE_DW_HOST 966e0832faSShawn Lin 976e0832faSShawn Linconfig PCIE_SPEAR13XX 986e0832faSShawn Lin bool "STMicroelectronics SPEAr PCIe controller" 996e0832faSShawn Lin depends on ARCH_SPEAR13XX || COMPILE_TEST 1006e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1016e0832faSShawn Lin select PCIE_DW_HOST 1026e0832faSShawn Lin help 1036e0832faSShawn Lin Say Y here if you want PCIe support on SPEAr13XX SoCs. 1046e0832faSShawn Lin 1056e0832faSShawn Linconfig PCI_KEYSTONE 10623284ad6SKishon Vijay Abraham I bool 10723284ad6SKishon Vijay Abraham I 10823284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_HOST 10923284ad6SKishon Vijay Abraham I bool "PCI Keystone Host Mode" 11018b0415bSKishon Vijay Abraham I depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST) 1116e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1126e0832faSShawn Lin select PCIE_DW_HOST 11323284ad6SKishon Vijay Abraham I select PCI_KEYSTONE 11423284ad6SKishon Vijay Abraham I default y 1156e0832faSShawn Lin help 11623284ad6SKishon Vijay Abraham I Enables support for the PCIe controller in the Keystone SoC to 11723284ad6SKishon Vijay Abraham I work in host mode. The PCI controller on Keystone is based on 11823284ad6SKishon Vijay Abraham I DesignWare hardware and therefore the driver re-uses the 11923284ad6SKishon Vijay Abraham I DesignWare core functions to implement the driver. 12023284ad6SKishon Vijay Abraham I 12123284ad6SKishon Vijay Abraham Iconfig PCI_KEYSTONE_EP 12223284ad6SKishon Vijay Abraham I bool "PCI Keystone Endpoint Mode" 12323284ad6SKishon Vijay Abraham I depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST) 12423284ad6SKishon Vijay Abraham I depends on PCI_ENDPOINT 12523284ad6SKishon Vijay Abraham I select PCIE_DW_EP 12623284ad6SKishon Vijay Abraham I select PCI_KEYSTONE 12723284ad6SKishon Vijay Abraham I help 12823284ad6SKishon Vijay Abraham I Enables support for the PCIe controller in the Keystone SoC to 12923284ad6SKishon Vijay Abraham I work in endpoint mode. The PCI controller on Keystone is based 13023284ad6SKishon Vijay Abraham I on DesignWare hardware and therefore the driver re-uses the 13123284ad6SKishon Vijay Abraham I DesignWare core functions to implement the driver. 1326e0832faSShawn Lin 1336e0832faSShawn Linconfig PCI_LAYERSCAPE 1346e0832faSShawn Lin bool "Freescale Layerscape PCIe controller" 1356e0832faSShawn Lin depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 1366e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1376e0832faSShawn Lin select MFD_SYSCON 1386e0832faSShawn Lin select PCIE_DW_HOST 1396e0832faSShawn Lin help 1406e0832faSShawn Lin Say Y here if you want PCIe controller support on Layerscape SoCs. 1416e0832faSShawn Lin 1426e0832faSShawn Linconfig PCI_HISI 1436e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 1446e0832faSShawn Lin bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" 1456e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1466e0832faSShawn Lin select PCIE_DW_HOST 1476e0832faSShawn Lin select PCI_HOST_COMMON 1486e0832faSShawn Lin help 1496e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon 1506e0832faSShawn Lin Hip05 and Hip06 SoCs 1516e0832faSShawn Lin 1526e0832faSShawn Linconfig PCIE_QCOM 1536e0832faSShawn Lin bool "Qualcomm PCIe controller" 1546e0832faSShawn Lin depends on OF && (ARCH_QCOM || COMPILE_TEST) 1556e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1566e0832faSShawn Lin select PCIE_DW_HOST 1576e0832faSShawn Lin help 1586e0832faSShawn Lin Say Y here to enable PCIe controller support on Qualcomm SoCs. The 1596e0832faSShawn Lin PCIe controller uses the DesignWare core plus Qualcomm-specific 1606e0832faSShawn Lin hardware wrappers. 1616e0832faSShawn Lin 1626e0832faSShawn Linconfig PCIE_ARMADA_8K 1636e0832faSShawn Lin bool "Marvell Armada-8K PCIe controller" 1646e0832faSShawn Lin depends on ARCH_MVEBU || COMPILE_TEST 1656e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1666e0832faSShawn Lin select PCIE_DW_HOST 1676e0832faSShawn Lin help 1686e0832faSShawn Lin Say Y here if you want to enable PCIe controller support on 1696e0832faSShawn Lin Armada-8K SoCs. The PCIe controller on Armada-8K is based on 1706e0832faSShawn Lin DesignWare hardware and therefore the driver re-uses the 1716e0832faSShawn Lin DesignWare core functions to implement the driver. 1726e0832faSShawn Lin 1736e0832faSShawn Linconfig PCIE_ARTPEC6 1746e0832faSShawn Lin bool 1756e0832faSShawn Lin 1766e0832faSShawn Linconfig PCIE_ARTPEC6_HOST 1776e0832faSShawn Lin bool "Axis ARTPEC-6 PCIe controller Host Mode" 1786e0832faSShawn Lin depends on MACH_ARTPEC6 || COMPILE_TEST 1796e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 1806e0832faSShawn Lin select PCIE_DW_HOST 1816e0832faSShawn Lin select PCIE_ARTPEC6 1826e0832faSShawn Lin help 1836e0832faSShawn Lin Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 1846e0832faSShawn Lin host mode. This uses the DesignWare core. 1856e0832faSShawn Lin 1866e0832faSShawn Linconfig PCIE_ARTPEC6_EP 1876e0832faSShawn Lin bool "Axis ARTPEC-6 PCIe controller Endpoint Mode" 1886e0832faSShawn Lin depends on MACH_ARTPEC6 || COMPILE_TEST 1896e0832faSShawn Lin depends on PCI_ENDPOINT 1906e0832faSShawn Lin select PCIE_DW_EP 1916e0832faSShawn Lin select PCIE_ARTPEC6 1926e0832faSShawn Lin help 1936e0832faSShawn Lin Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 1946e0832faSShawn Lin endpoint mode. This uses the DesignWare core. 1956e0832faSShawn Lin 1966e0832faSShawn Linconfig PCIE_KIRIN 1976e0832faSShawn Lin depends on OF && (ARM64 || COMPILE_TEST) 1986e0832faSShawn Lin bool "HiSilicon Kirin series SoCs PCIe controllers" 1996e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 2006e0832faSShawn Lin select PCIE_DW_HOST 2016e0832faSShawn Lin help 2026e0832faSShawn Lin Say Y here if you want PCIe controller support 2036e0832faSShawn Lin on HiSilicon Kirin series SoCs. 2046e0832faSShawn Lin 2056e0832faSShawn Linconfig PCIE_HISI_STB 2066e0832faSShawn Lin bool "HiSilicon STB SoCs PCIe controllers" 2076e0832faSShawn Lin depends on ARCH_HISI || COMPILE_TEST 2086e0832faSShawn Lin depends on PCI_MSI_IRQ_DOMAIN 2096e0832faSShawn Lin select PCIE_DW_HOST 2106e0832faSShawn Lin help 2116e0832faSShawn Lin Say Y here if you want PCIe controller support on HiSilicon STB SoCs 2126e0832faSShawn Lin 2139c0ef6d3SYue Wangconfig PCI_MESON 2149c0ef6d3SYue Wang bool "MESON PCIe controller" 2159c0ef6d3SYue Wang depends on PCI_MSI_IRQ_DOMAIN 2169c0ef6d3SYue Wang select PCIE_DW_HOST 2179c0ef6d3SYue Wang help 2189c0ef6d3SYue Wang Say Y here if you want to enable PCI controller support on Amlogic 2199c0ef6d3SYue Wang SoCs. The PCI controller on Amlogic is based on DesignWare hardware 2209c0ef6d3SYue Wang and therefore the driver re-uses the DesignWare core functions to 2219c0ef6d3SYue Wang implement the driver. 2229c0ef6d3SYue Wang 2237e6d5cd8SKunihiko Hayashiconfig PCIE_UNIPHIER 2247e6d5cd8SKunihiko Hayashi bool "Socionext UniPhier PCIe controllers" 2257e6d5cd8SKunihiko Hayashi depends on ARCH_UNIPHIER || COMPILE_TEST 2267e6d5cd8SKunihiko Hayashi depends on OF && HAS_IOMEM 2277e6d5cd8SKunihiko Hayashi depends on PCI_MSI_IRQ_DOMAIN 2287e6d5cd8SKunihiko Hayashi select PCIE_DW_HOST 2297e6d5cd8SKunihiko Hayashi help 2307e6d5cd8SKunihiko Hayashi Say Y here if you want PCIe controller support on UniPhier SoCs. 2317e6d5cd8SKunihiko Hayashi This driver supports LD20 and PXs3 SoCs. 2327e6d5cd8SKunihiko Hayashi 233*a8daea94SJonathan Chocronconfig PCIE_AL 234*a8daea94SJonathan Chocron bool "Amazon Annapurna Labs PCIe controller" 235*a8daea94SJonathan Chocron depends on OF && (ARM64 || COMPILE_TEST) 236*a8daea94SJonathan Chocron depends on PCI_MSI_IRQ_DOMAIN 237*a8daea94SJonathan Chocron select PCIE_DW_HOST 238*a8daea94SJonathan Chocron help 239*a8daea94SJonathan Chocron Say Y here to enable support of the Amazon's Annapurna Labs PCIe 240*a8daea94SJonathan Chocron controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 241*a8daea94SJonathan Chocron core plus Annapurna Labs proprietary hardware wrappers. This is 242*a8daea94SJonathan Chocron required only for DT-based platforms. ACPI platforms with the 243*a8daea94SJonathan Chocron Annapurna Labs PCIe controller don't need to enable this. 244*a8daea94SJonathan Chocron 2456e0832faSShawn Linendmenu 246