blob: 1c47a21101d98cab201c7cb14fe5494ca33ea696 [file] [log] [blame]
Tom Rinif48e0252016-10-26 17:15:37 -04001menuconfig PCI
2 bool "PCI support"
Bin Meng00a17fd2017-07-30 06:23:09 -07003 default y if PPC
Tom Rinif48e0252016-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 Glassb94dc892015-03-05 12:25:25 -070010
11config DM_PCI
Marcel Ziswiler84c45602016-12-19 15:38:05 +010012 bool "Enable driver model for PCI"
Simon Glassb94dc892015-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 Glasseca7b0d2015-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 Dinga6bdc862018-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 Meng2f49e2e2016-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 Garapati3ac3aec2019-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
Tuomas Tynkkynena765f712017-09-19 23:18:06 +030056config PCIE_ECAM_GENERIC
57 bool "Generic ECAM-based PCI host controller support"
58 default n
59 depends on DM_PCI
60 help
61 Say Y here if you want to enable support for generic ECAM-based
62 PCIe host controllers, such as the one emulated by QEMU.
63
liu hao1c4a2c42019-10-31 07:51:08 +000064config PCI_PHYTIUM
65 bool "Phytium PCIe support"
66 depends on DM_PCI
67 help
68 Say Y here if you want to enable PCIe controller support on
69 Phytium SoCs.
70
Shadi Ammouri3b386452016-10-27 13:29:41 +020071config PCIE_DW_MVEBU
72 bool "Enable Armada-8K PCIe driver (DesignWare core)"
Shadi Ammouri3b386452016-10-27 13:29:41 +020073 depends on DM_PCI
74 depends on ARMADA_8K
75 help
76 Say Y here if you want to enable PCIe controller support on
77 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
78 DesignWare hardware.
79
Hou Zhiqiang25ff98c2019-04-24 22:33:02 +080080config PCIE_FSL
81 bool "FSL PowerPC PCIe support"
82 depends on DM_PCI
83 help
84 Say Y here if you want to enable PCIe controller support on FSL
85 PowerPC MPC85xx, MPC86xx, B series, P series and T series SoCs.
86 This driver does not support SRIO_PCIE_BOOT feature.
87
Heiko Schocherd647b462019-10-14 11:29:39 +020088config PCI_MPC85XX
89 bool "MPC85XX PowerPC PCI support"
90 depends on DM_PCI
91 help
92 Say Y here if you want to enable PCI controller support on FSL
93 PowerPC MPC85xx SoC.
94
Marek Vasut5012d1e2018-01-18 14:35:35 +010095config PCI_RCAR_GEN2
96 bool "Renesas RCar Gen2 PCIe driver"
97 depends on DM_PCI
98 depends on RCAR_32
99 help
100 Say Y here if you want to enable PCIe controller support on
101 Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
102 also used to access EHCI USB controller on the SoC.
103
Marek Vasut879b4a32018-10-16 12:49:19 +0200104config PCI_RCAR_GEN3
105 bool "Renesas RCar Gen3 PCIe driver"
106 depends on DM_PCI
107 depends on RCAR_GEN3
108 help
109 Say Y here if you want to enable PCIe controller support on
110 Renesas RCar Gen3 SoCs.
111
Simon Glass4d857552015-03-05 12:25:27 -0700112config PCI_SANDBOX
113 bool "Sandbox PCI support"
114 depends on SANDBOX && DM_PCI
115 help
116 Support PCI on sandbox, as an emulated bus. This permits testing of
117 PCI feature such as bus scanning, device configuration and device
118 access. The available (emulated) devices are defined statically in
119 the device tree but the normal PCI scan technique is used to find
120 then.
121
Simon Glassc78e3272015-11-19 20:26:55 -0700122config PCI_TEGRA
123 bool "Tegra PCI support"
Trevor Woerner513f6402020-05-06 08:02:41 -0400124 depends on ARCH_TEGRA
Stephen Warren86f6a942016-08-05 16:10:34 -0600125 depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
Simon Glassc78e3272015-11-19 20:26:55 -0700126 help
127 Enable support for the PCIe controller found on some generations of
128 Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
129 3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
130 with a total of 5 lanes. Some boards require this for Ethernet
131 support to work (e.g. beaver, jetson-tk1).
132
Paul Burtonc893f212016-09-08 07:47:31 +0100133config PCI_XILINX
134 bool "Xilinx AXI Bridge for PCI Express"
135 depends on DM_PCI
136 help
137 Enable support for the Xilinx AXI bridge for PCI express, an IP block
138 which can be used on some generations of Xilinx FPGAs.
139
Minghuan Lianc1067842016-12-13 14:54:17 +0800140config PCIE_LAYERSCAPE
Hou Zhiqiang02f1f062020-07-09 23:31:42 +0800141 bool
142 default n
143
144config PCIE_LAYERSCAPE_RC
145 bool "Layerscape PCIe Root Complex mode support"
146 depends on DM_PCI
147 select PCIE_LAYERSCAPE
148 help
149 Enable Layerscape PCIe Root Complex mode driver support. The Layerscape
150 SoC may have one or several PCIe controllers. Each controller can be
151 configured to Root Complex mode by clearing the corresponding bit of
152 RCW[HOST_AGT_PEX].
153
154config PCIE_LAYERSCAPE_EP
155 bool "Layerscape PCIe Endpoint mode support"
Minghuan Lianc1067842016-12-13 14:54:17 +0800156 depends on DM_PCI
Hou Zhiqiang02f1f062020-07-09 23:31:42 +0800157 select PCIE_LAYERSCAPE
158 select PCI_ENDPOINT
Minghuan Lianc1067842016-12-13 14:54:17 +0800159 help
Hou Zhiqiang02f1f062020-07-09 23:31:42 +0800160 Enable Layerscape PCIe Endpoint mode driver support. The Layerscape
161 SoC may have one or several PCIe controllers. Each controller can be
162 configured to Endpoint mode by setting the corresponding bit of
163 RCW[HOST_AGT_PEX].
Minghuan Lianc1067842016-12-13 14:54:17 +0800164
Hou Zhiqiange5d79c42019-04-08 10:15:46 +0000165config PCIE_LAYERSCAPE_GEN4
166 bool "Layerscape Gen4 PCIe support"
167 depends on DM_PCI
168 help
169 Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
170 several PCIe controllers. The PCIe controller can work in RC or
171 EP mode according to RCW[HOST_AGT_PEX] setting.
172
Pankaj Bansal4c656782019-11-30 13:14:00 +0000173config FSL_PCIE_COMPAT
174 string "PCIe compatible of Kernel DT"
Hou Zhiqiang02f1f062020-07-09 23:31:42 +0800175 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
Pankaj Bansal4c656782019-11-30 13:14:00 +0000176 default "fsl,ls1012a-pcie" if ARCH_LS1012A
177 default "fsl,ls1028a-pcie" if ARCH_LS1028A
178 default "fsl,ls1043a-pcie" if ARCH_LS1043A
179 default "fsl,ls1046a-pcie" if ARCH_LS1046A
180 default "fsl,ls2080a-pcie" if ARCH_LS2080A
181 default "fsl,ls1088a-pcie" if ARCH_LS1088A
182 default "fsl,lx2160a-pcie" if ARCH_LX2160A
183 default "fsl,ls1021a-pcie" if ARCH_LS1021A
184 help
185 This compatible is used to find pci controller node in Kernel DT
186 to complete fixup.
187
Pankaj Bansal64d85a22019-11-30 13:14:10 +0000188config FSL_PCIE_EP_COMPAT
189 string "PCIe EP compatible of Kernel DT"
Hou Zhiqiang02f1f062020-07-09 23:31:42 +0800190 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
Pankaj Bansal64d85a22019-11-30 13:14:10 +0000191 default "fsl,lx2160a-pcie-ep" if ARCH_LX2160A
192 default "fsl,ls-pcie-ep"
193 help
194 This compatible is used to find pci controller ep node in Kernel DT
195 to complete fixup.
196
Ley Foon Tandc05e632018-04-20 21:55:45 +0800197config PCIE_INTEL_FPGA
198 bool "Intel FPGA PCIe support"
199 depends on DM_PCI
200 help
201 Say Y here if you want to enable PCIe controller support on Intel
202 FPGA, example Stratix 10.
203
Srinath Mannamd90ba422020-05-12 13:29:50 +0530204config PCIE_IPROC
205 bool "Iproc PCIe support"
206 depends on DM_PCI
207 help
208 Broadcom iProc PCIe controller driver.
209 Say Y here if you want to enable Broadcom iProc PCIe controller,
210
Stefan Roese3179ec62019-01-25 11:52:43 +0100211config PCI_MVEBU
212 bool "Enable Armada XP/38x PCIe driver"
213 depends on ARCH_MVEBU
214 select DM_PCI
215 select MISC
216 help
217 Say Y here if you want to enable PCIe controller support on
218 Armada XP/38x SoCs.
219
Sekhar Nori18db23d2019-08-01 19:12:57 +0530220config PCI_KEYSTONE
221 bool "TI Keystone PCIe controller"
222 depends on DM_PCI
223 help
224 Say Y here if you want to enable PCI controller support on AM654 SoC.
225
developerad767732019-08-22 12:26:49 +0200226config PCIE_MEDIATEK
227 bool "MediaTek PCIe Gen2 controller"
228 depends on DM_PCI
229 depends on ARCH_MEDIATEK
230 help
231 Say Y here if you want to enable Gen2 PCIe controller,
232 which could be found on MT7623 SoC family.
233
Jagan Teki02262472020-05-09 22:26:21 +0530234config PCIE_ROCKCHIP
235 bool "Enable Rockchip PCIe driver"
236 select DM_PCI
Jagan Teki427603b2020-07-09 23:41:02 +0530237 select PHY_ROCKCHIP_PCIE
Jagan Teki02262472020-05-09 22:26:21 +0530238 default y if ROCKCHIP_RK3399
239 help
240 Say Y here if you want to enable PCIe controller support on
241 Rockchip SoCs.
242
Sylwester Nawrocki88f51f72020-05-25 13:39:58 +0200243config PCI_BRCMSTB
244 bool "Broadcom STB PCIe controller"
245 depends on DM_PCI
246 depends on ARCH_BCM283X
247 help
248 Say Y here if you want to enable support for PCIe controller
249 on Broadcom set-top-box (STB) SoCs.
250 This driver currently supports only BCM2711 SoC and RC mode
251 of the controller.
Tom Rinif48e0252016-10-26 17:15:37 -0400252endif