1menu "PCI host controller drivers" 2 depends on PCI 3 4config PCI_MVEBU 5 bool "Marvell EBU PCIe controller" 6 depends on ARCH_MVEBU || ARCH_DOVE 7 depends on ARM 8 depends on OF 9 10config PCI_AARDVARK 11 bool "Aardvark PCIe controller" 12 depends on ARCH_MVEBU && ARM64 13 depends on OF 14 depends on PCI_MSI_IRQ_DOMAIN 15 help 16 Add support for Aardvark 64bit PCIe Host Controller. This 17 controller is part of the South Bridge of the Marvel Armada 18 3700 SoC. 19 20config PCIE_XILINX_NWL 21 bool "NWL PCIe Core" 22 depends on ARCH_ZYNQMP 23 depends on PCI_MSI_IRQ_DOMAIN 24 help 25 Say 'Y' here if you want kernel support for Xilinx 26 NWL PCIe controller. The controller can act as Root Port 27 or End Point. The current option selection will only 28 support root port enabling. 29 30config PCI_FTPCI100 31 bool "Faraday Technology FTPCI100 PCI controller" 32 depends on OF 33 depends on ARM 34 default ARCH_GEMINI 35 36config PCI_TEGRA 37 bool "NVIDIA Tegra PCIe controller" 38 depends on ARCH_TEGRA 39 help 40 Say Y here if you want support for the PCIe host controller found 41 on NVIDIA Tegra SoCs. 42 43config PCI_RCAR_GEN2 44 bool "Renesas R-Car Gen2 Internal PCI controller" 45 depends on ARM 46 depends on ARCH_RENESAS || COMPILE_TEST 47 help 48 Say Y here if you want internal PCI support on R-Car Gen2 SoC. 49 There are 3 internal PCI controllers available with a single 50 built-in EHCI/OHCI host controller present on each one. 51 52config PCIE_RCAR 53 bool "Renesas R-Car PCIe controller" 54 depends on ARCH_RENESAS || (ARM && COMPILE_TEST) 55 depends on PCI_MSI_IRQ_DOMAIN 56 help 57 Say Y here if you want PCIe controller support on R-Car SoCs. 58 59config PCI_HOST_COMMON 60 bool 61 select PCI_ECAM 62 63config PCI_HOST_GENERIC 64 bool "Generic PCI host controller" 65 depends on (ARM || ARM64) && OF 66 select PCI_HOST_COMMON 67 select IRQ_DOMAIN 68 help 69 Say Y here if you want to support a simple generic PCI host 70 controller, such as the one emulated by kvmtool. 71 72config PCIE_XILINX 73 bool "Xilinx AXI PCIe host bridge support" 74 depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) 75 help 76 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe 77 Host Bridge driver. 78 79config PCI_XGENE 80 bool "X-Gene PCIe controller" 81 depends on ARM64 82 depends on OF || (ACPI && PCI_QUIRKS) 83 select PCIEPORTBUS 84 help 85 Say Y here if you want internal PCI support on APM X-Gene SoC. 86 There are 5 internal PCIe ports available. Each port is GEN3 capable 87 and have varied lanes from x1 to x8. 88 89config PCI_XGENE_MSI 90 bool "X-Gene v1 PCIe MSI feature" 91 depends on PCI_XGENE 92 depends on PCI_MSI_IRQ_DOMAIN 93 default y 94 help 95 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. 96 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. 97 98config PCI_VERSATILE 99 bool "ARM Versatile PB PCI controller" 100 depends on ARCH_VERSATILE 101 102config PCIE_IPROC 103 tristate 104 select PCI_DOMAINS 105 help 106 This enables the iProc PCIe core controller support for Broadcom's 107 iProc family of SoCs. An appropriate bus interface driver needs 108 to be enabled to select this. 109 110config PCIE_IPROC_PLATFORM 111 tristate "Broadcom iProc PCIe platform bus driver" 112 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) 113 depends on OF 114 select PCIE_IPROC 115 default ARCH_BCM_IPROC 116 help 117 Say Y here if you want to use the Broadcom iProc PCIe controller 118 through the generic platform bus interface 119 120config PCIE_IPROC_BCMA 121 tristate "Broadcom iProc PCIe BCMA bus driver" 122 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) 123 select PCIE_IPROC 124 select BCMA 125 default ARCH_BCM_5301X 126 help 127 Say Y here if you want to use the Broadcom iProc PCIe controller 128 through the BCMA bus interface 129 130config PCIE_IPROC_MSI 131 bool "Broadcom iProc PCIe MSI support" 132 depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA 133 depends on PCI_MSI_IRQ_DOMAIN 134 default ARCH_BCM_IPROC 135 help 136 Say Y here if you want to enable MSI support for Broadcom's iProc 137 PCIe controller 138 139config PCIE_ALTERA 140 bool "Altera PCIe controller" 141 depends on ARM || NIOS2 142 depends on OF_PCI 143 select PCI_DOMAINS 144 help 145 Say Y here if you want to enable PCIe controller support on Altera 146 FPGA. 147 148config PCIE_ALTERA_MSI 149 bool "Altera PCIe MSI feature" 150 depends on PCIE_ALTERA 151 depends on PCI_MSI_IRQ_DOMAIN 152 help 153 Say Y here if you want PCIe MSI support for the Altera FPGA. 154 This MSI driver supports Altera MSI to GIC controller IP. 155 156config PCI_HOST_THUNDER_PEM 157 bool "Cavium Thunder PCIe controller to off-chip devices" 158 depends on ARM64 159 depends on OF || (ACPI && PCI_QUIRKS) 160 select PCI_HOST_COMMON 161 help 162 Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. 163 164config PCI_HOST_THUNDER_ECAM 165 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" 166 depends on ARM64 167 depends on OF || (ACPI && PCI_QUIRKS) 168 select PCI_HOST_COMMON 169 help 170 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. 171 172config PCIE_ROCKCHIP 173 tristate "Rockchip PCIe controller" 174 depends on ARCH_ROCKCHIP || COMPILE_TEST 175 depends on OF 176 depends on PCI_MSI_IRQ_DOMAIN 177 select MFD_SYSCON 178 help 179 Say Y here if you want internal PCI support on Rockchip SoC. 180 There is 1 internal PCIe port available to support GEN2 with 181 4 slots. 182 183config PCIE_MEDIATEK 184 bool "MediaTek PCIe controller" 185 depends on (ARM || ARM64) && (ARCH_MEDIATEK || COMPILE_TEST) 186 depends on OF 187 depends on PCI 188 select PCIEPORTBUS 189 help 190 Say Y here if you want to enable PCIe controller support on 191 MediaTek SoCs. 192 193config PCIE_TANGO_SMP8759 194 bool "Tango SMP8759 PCIe controller (DANGEROUS)" 195 depends on ARCH_TANGO && PCI_MSI && OF 196 depends on BROKEN 197 select PCI_HOST_COMMON 198 help 199 Say Y here to enable PCIe controller support for Sigma Designs 200 Tango SMP8759-based systems. 201 202 Note: The SMP8759 controller multiplexes PCI config and MMIO 203 accesses, and Linux doesn't provide a way to serialize them. 204 This can lead to data corruption if drivers perform concurrent 205 config and MMIO accesses. 206 207config VMD 208 depends on PCI_MSI && X86_64 && SRCU 209 tristate "Intel Volume Management Device Driver" 210 default N 211 ---help--- 212 Adds support for the Intel Volume Management Device (VMD). VMD is a 213 secondary PCI host bridge that allows PCI Express root ports, 214 and devices attached to them, to be removed from the default 215 PCI domain and placed within the VMD domain. This provides 216 more bus resources than are otherwise possible with a 217 single domain. If you know your system provides one of these and 218 has devices attached to it, say Y; if you are not sure, say N. 219 220 To compile this driver as a module, choose M here: the 221 module will be called vmd. 222 223endmenu 224