blob: c0ad9aaa16a75a815cb4fc605a270dbcadb07198 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001menu "PCI host controller drivers"
2 depends on PCI
3
4config PCI_DRA7XX
5 bool "TI DRA7xx PCIe controller"
6 select PCIE_DW
7 depends on OF && HAS_IOMEM && TI_PIPE3
8 depends on BROKEN
9 help
10 Enables support for the PCIe controller in the DRA7xx SoC. There
11 are two instances of PCIe controller in DRA7xx. This controller can
12 act both as EP and RC. This reuses the Designware core.
13
14config PCI_MVEBU
15 bool "Marvell EBU PCIe controller"
16 depends on ARCH_MVEBU || ARCH_DOVE
17 depends on OF
18
19config PCIE_DW
20 bool
21
22config PCI_EXYNOS
23 bool "Samsung Exynos PCIe controller"
24 depends on SOC_EXYNOS5440
25 select PCIEPORTBUS
26 select PCIE_DW
27
28config PCI_IMX6
29 bool "Freescale i.MX6 PCIe controller"
30 depends on SOC_IMX6Q
31 select PCIEPORTBUS
32 select PCIE_DW
33
34config PCI_TEGRA
35 bool "NVIDIA Tegra PCIe controller"
36 depends on ARCH_TEGRA && !ARM64
37 help
38 Say Y here if you want support for the PCIe host controller found
39 on NVIDIA Tegra SoCs.
40
41config PCI_RCAR_GEN2
42 bool "Renesas R-Car Gen2 Internal PCI controller"
43 depends on ARM
44 depends on ARCH_SHMOBILE || COMPILE_TEST
45 help
46 Say Y here if you want internal PCI support on R-Car Gen2 SoC.
47 There are 3 internal PCI controllers available with a single
48 built-in EHCI/OHCI host controller present on each one.
49
50config PCI_RCAR_GEN2_PCIE
51 bool "Renesas R-Car PCIe controller"
52 depends on ARM
53 depends on ARCH_SHMOBILE || COMPILE_TEST
54 help
55 Say Y here if you want PCIe controller support on R-Car Gen2 SoCs.
56
57config PCI_HOST_GENERIC
58 bool "Generic PCI host controller"
59 depends on (ARM || ARM64) && OF
60 help
61 Say Y here if you want to support a simple generic PCI host
62 controller, such as the one emulated by kvmtool.
63
64config PCIE_SPEAR13XX
65 bool "STMicroelectronics SPEAr PCIe controller"
66 depends on ARCH_SPEAR13XX
67 select PCIEPORTBUS
68 select PCIE_DW
69 help
70 Say Y here if you want PCIe support on SPEAr13XX SoCs.
71
72config PCI_KEYSTONE
73 bool "TI Keystone PCIe controller"
74 depends on ARCH_KEYSTONE
75 select PCIE_DW
76 select PCIEPORTBUS
77 help
78 Say Y here if you want to enable PCI controller support on Keystone
79 SoCs. The PCI controller on Keystone is based on Designware hardware
80 and therefore the driver re-uses the Designware core functions to
81 implement the driver.
82
83config PCIE_XILINX
84 bool "Xilinx AXI PCIe host bridge support"
85 depends on ARCH_ZYNQ
86 help
87 Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
88 Host Bridge driver.
89
90config PCI_XGENE
91 bool "X-Gene PCIe controller"
92 depends on ARCH_XGENE
93 depends on OF
94 select PCIEPORTBUS
95 select PCI_MSI_IRQ_DOMAIN if PCI_MSI
96 help
97 Say Y here if you want internal PCI support on APM X-Gene SoC.
98 There are 5 internal PCIe ports available. Each port is GEN3 capable
99 and have varied lanes from x1 to x8.
100
101config PCI_XGENE_MSI
102 bool "X-Gene v1 PCIe MSI feature"
103 depends on PCI_XGENE && PCI_MSI
104 default y
105 help
106 Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
107 This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
108
109config PCI_LAYERSCAPE
110 bool "Freescale Layerscape PCIe controller"
111 depends on OF && (ARM || ARCH_LAYERSCAPE)
112 select PCIE_DW
113 select MFD_SYSCON
114 help
115 Say Y here if you want PCIe controller support on Layerscape SoCs.
116
117config PCI_VERSATILE
118 bool "ARM Versatile PB PCI controller"
119 depends on ARCH_VERSATILE
120
121config PCIE_IPROC
122 tristate "Broadcom iProc PCIe controller"
123 depends on OF && (ARM || ARM64)
124 default n
125 help
126 This enables the iProc PCIe core controller support for Broadcom's
127 iProc family of SoCs. An appropriate bus interface driver also needs
128 to be enabled
129
130config PCIE_IPROC_PLATFORM
131 tristate "Broadcom iProc PCIe platform bus driver"
132 depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)
133 depends on OF
134 select PCIE_IPROC
135 default ARCH_BCM_IPROC
136 help
137 Say Y here if you want to use the Broadcom iProc PCIe controller
138 through the generic platform bus interface
139
140config PCIE_IPROC_BCMA
141 tristate "Broadcom iProc PCIe BCMA bus driver"
142 depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
143 select PCIE_IPROC
144 select BCMA
145 select PCI_DOMAINS
146 default ARCH_BCM_5301X
147 help
148 Say Y here if you want to use the Broadcom iProc PCIe controller
149 through the BCMA bus interface
150
151config PCIE_ALTERA
152 bool "Altera PCIe controller"
153 depends on ARM || NIOS2
154 depends on OF_PCI
155 select PCI_DOMAINS
156 help
157 Say Y here if you want to enable PCIe controller support on Altera
158 FPGA.
159
160config PCIE_ALTERA_MSI
161 bool "Altera PCIe MSI feature"
162 depends on PCIE_ALTERA && PCI_MSI
163 select PCI_MSI_IRQ_DOMAIN
164 help
165 Say Y here if you want PCIe MSI support for the Altera FPGA.
166 This MSI driver supports Altera MSI to GIC controller IP.
167
168config PCI_HISI
169 depends on OF && ARM64
170 bool "HiSilicon SoC HIP05 PCIe controller"
171 select PCIEPORTBUS
172 select PCIE_DW
173 help
174 Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
175
176endmenu