1# SPDX-License-Identifier: GPL-2.0 2 3menu "DesignWare PCI Core Support" 4 depends on PCI 5 6config PCIE_DW 7 bool 8 9config PCIE_DW_HOST 10 bool 11 depends on PCI_MSI_IRQ_DOMAIN 12 select PCIE_DW 13 14config PCIE_DW_EP 15 bool 16 depends on PCI_ENDPOINT 17 select PCIE_DW 18 19config PCI_DRA7XX 20 bool 21 22config PCI_DRA7XX_HOST 23 bool "TI DRA7xx PCIe controller Host Mode" 24 depends on SOC_DRA7XX || COMPILE_TEST 25 depends on PCI_MSI_IRQ_DOMAIN 26 depends on OF && HAS_IOMEM && TI_PIPE3 27 select PCIE_DW_HOST 28 select PCI_DRA7XX 29 default y 30 help 31 Enables support for the PCIe controller in the DRA7xx SoC to work in 32 host mode. There are two instances of PCIe controller in DRA7xx. 33 This controller can work either as EP or RC. In order to enable 34 host-specific features PCI_DRA7XX_HOST must be selected and in order 35 to enable device-specific features PCI_DRA7XX_EP must be selected. 36 This uses the DesignWare core. 37 38config PCI_DRA7XX_EP 39 bool "TI DRA7xx PCIe controller Endpoint Mode" 40 depends on SOC_DRA7XX || COMPILE_TEST 41 depends on PCI_ENDPOINT 42 depends on OF && HAS_IOMEM && TI_PIPE3 43 select PCIE_DW_EP 44 select PCI_DRA7XX 45 help 46 Enables support for the PCIe controller in the DRA7xx SoC to work in 47 endpoint mode. There are two instances of PCIe controller in DRA7xx. 48 This controller can work either as EP or RC. In order to enable 49 host-specific features PCI_DRA7XX_HOST must be selected and in order 50 to enable device-specific features PCI_DRA7XX_EP must be selected. 51 This uses the DesignWare core. 52 53config PCIE_DW_PLAT 54 bool 55 56config PCIE_DW_PLAT_HOST 57 bool "Platform bus based DesignWare PCIe Controller - Host mode" 58 depends on PCI && PCI_MSI_IRQ_DOMAIN 59 select PCIE_DW_HOST 60 select PCIE_DW_PLAT 61 default y 62 help 63 Enables support for the PCIe controller in the Designware IP to 64 work in host mode. There are two instances of PCIe controller in 65 Designware IP. 66 This controller can work either as EP or RC. In order to enable 67 host-specific features PCIE_DW_PLAT_HOST must be selected and in 68 order to enable device-specific features PCI_DW_PLAT_EP must be 69 selected. 70 71config PCIE_DW_PLAT_EP 72 bool "Platform bus based DesignWare PCIe Controller - Endpoint mode" 73 depends on PCI && PCI_MSI_IRQ_DOMAIN 74 depends on PCI_ENDPOINT 75 select PCIE_DW_EP 76 select PCIE_DW_PLAT 77 help 78 Enables support for the PCIe controller in the Designware IP to 79 work in endpoint mode. There are two instances of PCIe controller 80 in Designware IP. 81 This controller can work either as EP or RC. In order to enable 82 host-specific features PCIE_DW_PLAT_HOST must be selected and in 83 order to enable device-specific features PCI_DW_PLAT_EP must be 84 selected. 85 86config PCI_EXYNOS 87 bool "Samsung Exynos PCIe controller" 88 depends on SOC_EXYNOS5440 || COMPILE_TEST 89 depends on PCI_MSI_IRQ_DOMAIN 90 select PCIE_DW_HOST 91 92config PCI_IMX6 93 bool "Freescale i.MX6 PCIe controller" 94 depends on SOC_IMX6Q || (ARM && COMPILE_TEST) 95 depends on PCI_MSI_IRQ_DOMAIN 96 select PCIE_DW_HOST 97 98config PCIE_SPEAR13XX 99 bool "STMicroelectronics SPEAr PCIe controller" 100 depends on ARCH_SPEAR13XX || COMPILE_TEST 101 depends on PCI_MSI_IRQ_DOMAIN 102 select PCIE_DW_HOST 103 help 104 Say Y here if you want PCIe support on SPEAr13XX SoCs. 105 106config PCI_KEYSTONE 107 bool "TI Keystone PCIe controller" 108 depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST) 109 depends on PCI_MSI_IRQ_DOMAIN 110 select PCIE_DW_HOST 111 help 112 Say Y here if you want to enable PCI controller support on Keystone 113 SoCs. The PCI controller on Keystone is based on DesignWare hardware 114 and therefore the driver re-uses the DesignWare core functions to 115 implement the driver. 116 117config PCI_LAYERSCAPE 118 bool "Freescale Layerscape PCIe controller" 119 depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 120 depends on PCI_MSI_IRQ_DOMAIN 121 select MFD_SYSCON 122 select PCIE_DW_HOST 123 help 124 Say Y here if you want PCIe controller support on Layerscape SoCs. 125 126config PCI_HISI 127 depends on OF && (ARM64 || COMPILE_TEST) 128 bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" 129 depends on PCI_MSI_IRQ_DOMAIN 130 select PCIE_DW_HOST 131 select PCI_HOST_COMMON 132 help 133 Say Y here if you want PCIe controller support on HiSilicon 134 Hip05 and Hip06 SoCs 135 136config PCIE_QCOM 137 bool "Qualcomm PCIe controller" 138 depends on OF && (ARCH_QCOM || COMPILE_TEST) 139 depends on PCI_MSI_IRQ_DOMAIN 140 select PCIE_DW_HOST 141 help 142 Say Y here to enable PCIe controller support on Qualcomm SoCs. The 143 PCIe controller uses the DesignWare core plus Qualcomm-specific 144 hardware wrappers. 145 146config PCIE_ARMADA_8K 147 bool "Marvell Armada-8K PCIe controller" 148 depends on ARCH_MVEBU || COMPILE_TEST 149 depends on PCI_MSI_IRQ_DOMAIN 150 select PCIE_DW_HOST 151 help 152 Say Y here if you want to enable PCIe controller support on 153 Armada-8K SoCs. The PCIe controller on Armada-8K is based on 154 DesignWare hardware and therefore the driver re-uses the 155 DesignWare core functions to implement the driver. 156 157config PCIE_ARTPEC6 158 bool 159 160config PCIE_ARTPEC6_HOST 161 bool "Axis ARTPEC-6 PCIe controller Host Mode" 162 depends on MACH_ARTPEC6 || COMPILE_TEST 163 depends on PCI_MSI_IRQ_DOMAIN 164 select PCIE_DW_HOST 165 select PCIE_ARTPEC6 166 help 167 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 168 host mode. This uses the DesignWare core. 169 170config PCIE_ARTPEC6_EP 171 bool "Axis ARTPEC-6 PCIe controller Endpoint Mode" 172 depends on MACH_ARTPEC6 || COMPILE_TEST 173 depends on PCI_ENDPOINT 174 select PCIE_DW_EP 175 select PCIE_ARTPEC6 176 help 177 Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 178 endpoint mode. This uses the DesignWare core. 179 180config PCIE_KIRIN 181 depends on OF && (ARM64 || COMPILE_TEST) 182 bool "HiSilicon Kirin series SoCs PCIe controllers" 183 depends on PCI_MSI_IRQ_DOMAIN 184 select PCIE_DW_HOST 185 help 186 Say Y here if you want PCIe controller support 187 on HiSilicon Kirin series SoCs. 188 189config PCIE_HISI_STB 190 bool "HiSilicon STB SoCs PCIe controllers" 191 depends on ARCH_HISI || COMPILE_TEST 192 depends on PCI_MSI_IRQ_DOMAIN 193 select PCIE_DW_HOST 194 help 195 Say Y here if you want PCIe controller support on HiSilicon STB SoCs 196 197endmenu 198