blob: 4635752a95ce68cfa272af549abfb82a9e1c7dcf [file] [log] [blame]
Tom Riniaf273822016-10-26 17:15:37 -04001menuconfig PCI
2 bool "PCI support"
Bin Meng6bf89de2017-07-30 06:23:09 -07003 default y if PPC
Tom Riniaf273822016-10-26 17:15:37 -04004 help
5 Enable support for PCI (Peripheral Interconnect Bus), a type of bus
6 used on some devices to allow the CPU to communicate with its
7 peripherals.
8
9if PCI
Simon Glassff3e0772015-03-05 12:25:25 -070010
11config DM_PCI
Marcel Ziswilere090fdb2016-12-19 15:38:05 +010012 bool "Enable driver model for PCI"
Simon Glassff3e0772015-03-05 12:25:25 -070013 depends on DM
14 help
15 Use driver model for PCI. Driver model is the new method for
16 orgnising devices in U-Boot. For PCI, driver model keeps track of
17 available PCI devices, allows scanning of PCI buses and provides
18 device configuration support.
19
Simon Glass3ba5f742015-11-26 19:51:30 -070020config DM_PCI_COMPAT
21 bool "Enable compatible functions for PCI"
22 depends on DM_PCI
23 help
24 Enable compatibility functions for PCI so that old code can be used
25 with CONFIG_DM_PCI enabled. This should be used as an interim
26 measure when porting a board to use driver model for PCI. Once the
27 board is fully supported, this option should be disabled.
28
Wilson Dinge51f2b12018-03-26 15:57:29 +080029config PCI_AARDVARK
30 bool "Enable Aardvark PCIe driver"
31 default n
32 depends on DM_PCI
33 depends on ARMADA_3700
34 help
35 Say Y here if you want to enable PCIe controller support on
36 Armada37x0 SoCs. The PCIe controller on Armada37x0 is based on
37 Aardvark hardware.
38
Bin Mengc4762152016-10-16 23:35:18 -070039config PCI_PNP
40 bool "Enable Plug & Play support for PCI"
41 depends on PCI || DM_PCI
42 default y
43 help
44 Enable PCI memory and I/O space resource allocation and assignment.
45
Suneel Garapati4cf56ec2019-10-19 17:10:20 -070046config PCI_REGION_MULTI_ENTRY
47 bool "Enable Multiple entries of region type MEMORY in ranges for PCI"
48 depends on PCI || DM_PCI
49 default n
50 help
51 Enable PCI memory regions to be of multiple entry. Multiple entry
52 here refers to allow more than one count of address ranges for MEMORY
53 region type. This helps to add support for SoC's like OcteonTX/TX2
54 where every peripheral is on the PCI bus.
55
Suneel Garapatib8852dc2019-10-19 16:07:20 -070056config PCI_SRIOV
57 bool "Enable Single Root I/O Virtualization support for PCI"
58 depends on PCI || DM_PCI
59 default n
60 help
61 Say Y here if you want to enable PCI Single Root I/O Virtualization
62 capability support. This helps to enumerate Virtual Function devices
63 if available on a PCI Physical Function device and probe for
64 applicable drivers.
65
Tuomas Tynkkynen3675cb02017-09-19 23:18:06 +030066config PCIE_ECAM_GENERIC
67 bool "Generic ECAM-based PCI host controller support"
68 default n
69 depends on DM_PCI
70 help
71 Say Y here if you want to enable support for generic ECAM-based
72 PCIe host controllers, such as the one emulated by QEMU.
73
liu haoe3aafef2019-10-31 07:51:08 +000074config PCI_PHYTIUM
75 bool "Phytium PCIe support"
76 depends on DM_PCI
77 help
78 Say Y here if you want to enable PCIe controller support on
79 Phytium SoCs.
80
Shadi Ammouri182ba1a2016-10-27 13:29:41 +020081config PCIE_DW_MVEBU
82 bool "Enable Armada-8K PCIe driver (DesignWare core)"
Shadi Ammouri182ba1a2016-10-27 13:29:41 +020083 depends on DM_PCI
84 depends on ARMADA_8K
85 help
86 Say Y here if you want to enable PCIe controller support on
87 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
88 DesignWare hardware.
89
Hou Zhiqiangb89e3d92019-04-24 22:33:02 +080090config PCIE_FSL
91 bool "FSL PowerPC PCIe support"
92 depends on DM_PCI
93 help
94 Say Y here if you want to enable PCIe controller support on FSL
95 PowerPC MPC85xx, MPC86xx, B series, P series and T series SoCs.
96 This driver does not support SRIO_PCIE_BOOT feature.
97
Heiko Schocherb61cbbd2019-10-14 11:29:39 +020098config PCI_MPC85XX
99 bool "MPC85XX PowerPC PCI support"
100 depends on DM_PCI
101 help
102 Say Y here if you want to enable PCI controller support on FSL
103 PowerPC MPC85xx SoC.
104
Marek Vasut5f14f7d2018-01-18 14:35:35 +0100105config PCI_RCAR_GEN2
106 bool "Renesas RCar Gen2 PCIe driver"
107 depends on DM_PCI
108 depends on RCAR_32
109 help
110 Say Y here if you want to enable PCIe controller support on
111 Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
112 also used to access EHCI USB controller on the SoC.
113
Marek Vasut776abed2018-10-16 12:49:19 +0200114config PCI_RCAR_GEN3
115 bool "Renesas RCar Gen3 PCIe driver"
116 depends on DM_PCI
117 depends on RCAR_GEN3
118 help
119 Say Y here if you want to enable PCIe controller support on
120 Renesas RCar Gen3 SoCs.
121
Simon Glass537849a2015-03-05 12:25:27 -0700122config PCI_SANDBOX
123 bool "Sandbox PCI support"
124 depends on SANDBOX && DM_PCI
125 help
126 Support PCI on sandbox, as an emulated bus. This permits testing of
127 PCI feature such as bus scanning, device configuration and device
128 access. The available (emulated) devices are defined statically in
129 the device tree but the normal PCI scan technique is used to find
130 then.
131
Simon Glassfde7e182015-11-19 20:26:55 -0700132config PCI_TEGRA
133 bool "Tegra PCI support"
Trevor Woerner18138ab2020-05-06 08:02:41 -0400134 depends on ARCH_TEGRA
Stephen Warrenbbc5b362016-08-05 16:10:34 -0600135 depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
Simon Glassfde7e182015-11-19 20:26:55 -0700136 help
137 Enable support for the PCIe controller found on some generations of
138 Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
139 3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
140 with a total of 5 lanes. Some boards require this for Ethernet
141 support to work (e.g. beaver, jetson-tk1).
142
Paul Burtona29e45a2016-09-08 07:47:31 +0100143config PCI_XILINX
144 bool "Xilinx AXI Bridge for PCI Express"
145 depends on DM_PCI
146 help
147 Enable support for the Xilinx AXI bridge for PCI express, an IP block
148 which can be used on some generations of Xilinx FPGAs.
149
Minghuan Lian80afc632016-12-13 14:54:17 +0800150config PCIE_LAYERSCAPE
Hou Zhiqianged188aa2020-07-09 23:31:42 +0800151 bool
152 default n
153
154config PCIE_LAYERSCAPE_RC
155 bool "Layerscape PCIe Root Complex mode support"
Minghuan Lian80afc632016-12-13 14:54:17 +0800156 depends on DM_PCI
Hou Zhiqianged188aa2020-07-09 23:31:42 +0800157 select PCIE_LAYERSCAPE
Minghuan Lian80afc632016-12-13 14:54:17 +0800158 help
Hou Zhiqianged188aa2020-07-09 23:31:42 +0800159 Enable Layerscape PCIe Root Complex mode driver support. The Layerscape
160 SoC may have one or several PCIe controllers. Each controller can be
161 configured to Root Complex mode by clearing the corresponding bit of
162 RCW[HOST_AGT_PEX].
163
164config PCIE_LAYERSCAPE_EP
165 bool "Layerscape PCIe Endpoint mode support"
166 depends on DM_PCI
167 select PCIE_LAYERSCAPE
168 select PCI_ENDPOINT
169 help
170 Enable Layerscape PCIe Endpoint mode driver support. The Layerscape
171 SoC may have one or several PCIe controllers. Each controller can be
172 configured to Endpoint mode by setting the corresponding bit of
173 RCW[HOST_AGT_PEX].
Minghuan Lian80afc632016-12-13 14:54:17 +0800174
Hou Zhiqiang07ce19f2019-04-08 10:15:46 +0000175config PCIE_LAYERSCAPE_GEN4
176 bool "Layerscape Gen4 PCIe support"
177 depends on DM_PCI
178 help
179 Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
180 several PCIe controllers. The PCIe controller can work in RC or
181 EP mode according to RCW[HOST_AGT_PEX] setting.
182
Pankaj Bansalba7c9662019-11-30 13:14:00 +0000183config FSL_PCIE_COMPAT
184 string "PCIe compatible of Kernel DT"
Hou Zhiqianged188aa2020-07-09 23:31:42 +0800185 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
Pankaj Bansalba7c9662019-11-30 13:14:00 +0000186 default "fsl,ls1012a-pcie" if ARCH_LS1012A
187 default "fsl,ls1028a-pcie" if ARCH_LS1028A
188 default "fsl,ls1043a-pcie" if ARCH_LS1043A
189 default "fsl,ls1046a-pcie" if ARCH_LS1046A
190 default "fsl,ls2080a-pcie" if ARCH_LS2080A
191 default "fsl,ls1088a-pcie" if ARCH_LS1088A
192 default "fsl,lx2160a-pcie" if ARCH_LX2160A
193 default "fsl,ls1021a-pcie" if ARCH_LS1021A
194 help
195 This compatible is used to find pci controller node in Kernel DT
196 to complete fixup.
197
Pankaj Bansal63618e72019-11-30 13:14:10 +0000198config FSL_PCIE_EP_COMPAT
199 string "PCIe EP compatible of Kernel DT"
Hou Zhiqianged188aa2020-07-09 23:31:42 +0800200 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
Pankaj Bansal63618e72019-11-30 13:14:10 +0000201 default "fsl,lx2160a-pcie-ep" if ARCH_LX2160A
202 default "fsl,ls-pcie-ep"
203 help
204 This compatible is used to find pci controller ep node in Kernel DT
205 to complete fixup.
206
Ley Foon Tan7c458622018-04-20 21:55:45 +0800207config PCIE_INTEL_FPGA
208 bool "Intel FPGA PCIe support"
209 depends on DM_PCI
210 help
211 Say Y here if you want to enable PCIe controller support on Intel
212 FPGA, example Stratix 10.
213
Srinath Mannam48487042020-05-12 13:29:50 +0530214config PCIE_IPROC
215 bool "Iproc PCIe support"
216 depends on DM_PCI
217 help
218 Broadcom iProc PCIe controller driver.
219 Say Y here if you want to enable Broadcom iProc PCIe controller,
220
Stefan Roese94f453e2019-01-25 11:52:43 +0100221config PCI_MVEBU
222 bool "Enable Armada XP/38x PCIe driver"
223 depends on ARCH_MVEBU
224 select DM_PCI
225 select MISC
226 help
227 Say Y here if you want to enable PCIe controller support on
228 Armada XP/38x SoCs.
229
Sekhar Nori03c396b2019-08-01 19:12:57 +0530230config PCI_KEYSTONE
231 bool "TI Keystone PCIe controller"
232 depends on DM_PCI
233 help
234 Say Y here if you want to enable PCI controller support on AM654 SoC.
235
Ryder Lee42d37452019-08-22 12:26:49 +0200236config PCIE_MEDIATEK
237 bool "MediaTek PCIe Gen2 controller"
238 depends on DM_PCI
239 depends on ARCH_MEDIATEK
240 help
241 Say Y here if you want to enable Gen2 PCIe controller,
242 which could be found on MT7623 SoC family.
243
Jagan Teki99d59062020-05-09 22:26:21 +0530244config PCIE_ROCKCHIP
245 bool "Enable Rockchip PCIe driver"
246 select DM_PCI
Jagan Tekice920e02020-07-09 23:41:02 +0530247 select PHY_ROCKCHIP_PCIE
Jagan Teki99d59062020-05-09 22:26:21 +0530248 default y if ROCKCHIP_RK3399
249 help
250 Say Y here if you want to enable PCIe controller support on
251 Rockchip SoCs.
252
Sylwester Nawrocki7b1c3f62020-05-25 13:39:58 +0200253config PCI_BRCMSTB
254 bool "Broadcom STB PCIe controller"
255 depends on DM_PCI
256 depends on ARCH_BCM283X
257 help
258 Say Y here if you want to enable support for PCIe controller
259 on Broadcom set-top-box (STB) SoCs.
260 This driver currently supports only BCM2711 SoC and RC mode
261 of the controller.
Tom Riniaf273822016-10-26 17:15:37 -0400262endif