Kconfig 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. menu "PCI host controller drivers"
  2. depends on PCI
  3. config PCI_DRA7XX
  4. bool "TI DRA7xx PCIe controller"
  5. select PCIE_DW
  6. depends on OF && HAS_IOMEM && TI_PIPE3
  7. help
  8. Enables support for the PCIe controller in the DRA7xx SoC. There
  9. are two instances of PCIe controller in DRA7xx. This controller can
  10. act both as EP and RC. This reuses the Designware core.
  11. config PCI_MVEBU
  12. bool "Marvell EBU PCIe controller"
  13. depends on ARCH_MVEBU || ARCH_DOVE
  14. depends on ARM
  15. depends on OF
  16. config PCIE_XILINX_NWL
  17. bool "NWL PCIe Core"
  18. depends on ARCH_ZYNQMP
  19. select PCI_MSI_IRQ_DOMAIN if PCI_MSI
  20. help
  21. Say 'Y' here if you want kernel support for Xilinx
  22. NWL PCIe controller. The controller can act as Root Port
  23. or End Point. The current option selection will only
  24. support root port enabling.
  25. config PCIE_DW_PLAT
  26. bool "Platform bus based DesignWare PCIe Controller"
  27. select PCIE_DW
  28. ---help---
  29. This selects the DesignWare PCIe controller support. Select this if
  30. you have a PCIe controller on Platform bus.
  31. If you have a controller with this interface, say Y or M here.
  32. If unsure, say N.
  33. config PCIE_DW
  34. bool
  35. config PCI_EXYNOS
  36. bool "Samsung Exynos PCIe controller"
  37. depends on SOC_EXYNOS5440
  38. select PCIEPORTBUS
  39. select PCIE_DW
  40. config PCI_IMX6
  41. bool "Freescale i.MX6 PCIe controller"
  42. depends on SOC_IMX6Q
  43. select PCIEPORTBUS
  44. select PCIE_DW
  45. config PCI_TEGRA
  46. bool "NVIDIA Tegra PCIe controller"
  47. depends on ARCH_TEGRA && !ARM64
  48. help
  49. Say Y here if you want support for the PCIe host controller found
  50. on NVIDIA Tegra SoCs.
  51. config PCI_RCAR_GEN2
  52. bool "Renesas R-Car Gen2 Internal PCI controller"
  53. depends on ARM
  54. depends on ARCH_RENESAS || COMPILE_TEST
  55. help
  56. Say Y here if you want internal PCI support on R-Car Gen2 SoC.
  57. There are 3 internal PCI controllers available with a single
  58. built-in EHCI/OHCI host controller present on each one.
  59. config PCIE_RCAR
  60. bool "Renesas R-Car PCIe controller"
  61. depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
  62. select PCI_MSI
  63. select PCI_MSI_IRQ_DOMAIN
  64. help
  65. Say Y here if you want PCIe controller support on R-Car SoCs.
  66. config PCI_HOST_COMMON
  67. bool
  68. select PCI_ECAM
  69. config PCI_HOST_GENERIC
  70. bool "Generic PCI host controller"
  71. depends on (ARM || ARM64) && OF
  72. select PCI_HOST_COMMON
  73. help
  74. Say Y here if you want to support a simple generic PCI host
  75. controller, such as the one emulated by kvmtool.
  76. config PCIE_SPEAR13XX
  77. bool "STMicroelectronics SPEAr PCIe controller"
  78. depends on ARCH_SPEAR13XX
  79. select PCIEPORTBUS
  80. select PCIE_DW
  81. help
  82. Say Y here if you want PCIe support on SPEAr13XX SoCs.
  83. config PCI_KEYSTONE
  84. bool "TI Keystone PCIe controller"
  85. depends on ARCH_KEYSTONE
  86. select PCIE_DW
  87. select PCIEPORTBUS
  88. help
  89. Say Y here if you want to enable PCI controller support on Keystone
  90. SoCs. The PCI controller on Keystone is based on Designware hardware
  91. and therefore the driver re-uses the Designware core functions to
  92. implement the driver.
  93. config PCIE_XILINX
  94. bool "Xilinx AXI PCIe host bridge support"
  95. depends on ARCH_ZYNQ || MICROBLAZE
  96. help
  97. Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
  98. Host Bridge driver.
  99. config PCI_XGENE
  100. bool "X-Gene PCIe controller"
  101. depends on ARCH_XGENE
  102. depends on OF
  103. select PCIEPORTBUS
  104. select PCI_MSI_IRQ_DOMAIN if PCI_MSI
  105. help
  106. Say Y here if you want internal PCI support on APM X-Gene SoC.
  107. There are 5 internal PCIe ports available. Each port is GEN3 capable
  108. and have varied lanes from x1 to x8.
  109. config PCI_XGENE_MSI
  110. bool "X-Gene v1 PCIe MSI feature"
  111. depends on PCI_XGENE && PCI_MSI
  112. default y
  113. help
  114. Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
  115. This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
  116. config PCI_LAYERSCAPE
  117. bool "Freescale Layerscape PCIe controller"
  118. depends on OF && (ARM || ARCH_LAYERSCAPE)
  119. select PCIE_DW
  120. select MFD_SYSCON
  121. help
  122. Say Y here if you want PCIe controller support on Layerscape SoCs.
  123. config PCI_VERSATILE
  124. bool "ARM Versatile PB PCI controller"
  125. depends on ARCH_VERSATILE
  126. config PCIE_IPROC
  127. tristate
  128. help
  129. This enables the iProc PCIe core controller support for Broadcom's
  130. iProc family of SoCs. An appropriate bus interface driver needs
  131. to be enabled to select this.
  132. config PCIE_IPROC_PLATFORM
  133. tristate "Broadcom iProc PCIe platform bus driver"
  134. depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
  135. depends on OF
  136. select PCIE_IPROC
  137. default ARCH_BCM_IPROC
  138. help
  139. Say Y here if you want to use the Broadcom iProc PCIe controller
  140. through the generic platform bus interface
  141. config PCIE_IPROC_BCMA
  142. tristate "Broadcom iProc PCIe BCMA bus driver"
  143. depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
  144. select PCIE_IPROC
  145. select BCMA
  146. select PCI_DOMAINS
  147. default ARCH_BCM_5301X
  148. help
  149. Say Y here if you want to use the Broadcom iProc PCIe controller
  150. through the BCMA bus interface
  151. config PCIE_IPROC_MSI
  152. bool "Broadcom iProc PCIe MSI support"
  153. depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA
  154. depends on PCI_MSI
  155. select PCI_MSI_IRQ_DOMAIN
  156. default ARCH_BCM_IPROC
  157. help
  158. Say Y here if you want to enable MSI support for Broadcom's iProc
  159. PCIe controller
  160. config PCIE_ALTERA
  161. bool "Altera PCIe controller"
  162. depends on ARM || NIOS2
  163. depends on OF_PCI
  164. select PCI_DOMAINS
  165. help
  166. Say Y here if you want to enable PCIe controller support on Altera
  167. FPGA.
  168. config PCIE_ALTERA_MSI
  169. bool "Altera PCIe MSI feature"
  170. depends on PCIE_ALTERA && PCI_MSI
  171. select PCI_MSI_IRQ_DOMAIN
  172. help
  173. Say Y here if you want PCIe MSI support for the Altera FPGA.
  174. This MSI driver supports Altera MSI to GIC controller IP.
  175. config PCI_HISI
  176. depends on OF && ARM64
  177. bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
  178. select PCIEPORTBUS
  179. select PCIE_DW
  180. help
  181. Say Y here if you want PCIe controller support on HiSilicon
  182. Hip05 and Hip06 SoCs
  183. config PCIE_QCOM
  184. bool "Qualcomm PCIe controller"
  185. depends on ARCH_QCOM && OF
  186. select PCIE_DW
  187. select PCIEPORTBUS
  188. help
  189. Say Y here to enable PCIe controller support on Qualcomm SoCs. The
  190. PCIe controller uses the Designware core plus Qualcomm-specific
  191. hardware wrappers.
  192. config PCI_HOST_THUNDER_PEM
  193. bool "Cavium Thunder PCIe controller to off-chip devices"
  194. depends on OF && ARM64
  195. select PCI_HOST_COMMON
  196. help
  197. Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.
  198. config PCI_HOST_THUNDER_ECAM
  199. bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
  200. depends on OF && ARM64
  201. select PCI_HOST_COMMON
  202. help
  203. Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
  204. config PCIE_ARMADA_8K
  205. bool "Marvell Armada-8K PCIe controller"
  206. depends on ARCH_MVEBU
  207. select PCIE_DW
  208. select PCIEPORTBUS
  209. help
  210. Say Y here if you want to enable PCIe controller support on
  211. Armada-8K SoCs. The PCIe controller on Armada-8K is based on
  212. Designware hardware and therefore the driver re-uses the
  213. Designware core functions to implement the driver.
  214. endmenu