Kconfig 5.4 KB

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