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
12 bool "Enable driver model for PCI"
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.
21 bool "Enable compatible functions for PCI"
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.
30 bool "Enable Aardvark PCIe driver"
33 depends on ARMADA_3700
35 Say Y here if you want to enable PCIe controller support on
36 Armada37x0 SoCs. The PCIe controller on Armada37x0 is based on
40 bool "Enable Plug & Play support for PCI"
41 depends on PCI || DM_PCI
44 Enable PCI memory and I/O space resource allocation and assignment.
46 config PCI_REGION_MULTI_ENTRY
47 bool "Enable Multiple entries of region type MEMORY in ranges for PCI"
48 depends on PCI || DM_PCI
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.
57 bool "Enable Single Root I/O Virtualization support for PCI"
58 depends on PCI || DM_PCI
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
67 bool "Enable Alternate Routing-ID support for PCI"
68 depends on PCI || DM_PCI
71 Say Y here if you want to enable Alternate Routing-ID capability
72 support on PCI devices. This helps to skip some devices in BDF
73 scan that are not present.
75 config PCIE_ECAM_GENERIC
76 bool "Generic ECAM-based PCI host controller support"
80 Say Y here if you want to enable support for generic ECAM-based
81 PCIe host controllers, such as the one emulated by QEMU.
84 bool "Phytium PCIe support"
87 Say Y here if you want to enable PCIe controller support on
91 bool "Enable Armada-8K PCIe driver (DesignWare core)"
95 Say Y here if you want to enable PCIe controller support on
96 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
100 bool "FSL PowerPC PCIe support"
103 Say Y here if you want to enable PCIe controller support on FSL
104 PowerPC MPC85xx, MPC86xx, B series, P series and T series SoCs.
105 This driver does not support SRIO_PCIE_BOOT feature.
108 bool "MPC85XX PowerPC PCI support"
111 Say Y here if you want to enable PCI controller support on FSL
115 bool "Renesas RCar Gen2 PCIe driver"
119 Say Y here if you want to enable PCIe controller support on
120 Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
121 also used to access EHCI USB controller on the SoC.
124 bool "Renesas RCar Gen3 PCIe driver"
128 Say Y here if you want to enable PCIe controller support on
129 Renesas RCar Gen3 SoCs.
132 bool "Sandbox PCI support"
133 depends on SANDBOX && DM_PCI
135 Support PCI on sandbox, as an emulated bus. This permits testing of
136 PCI feature such as bus scanning, device configuration and device
137 access. The available (emulated) devices are defined statically in
138 the device tree but the normal PCI scan technique is used to find
142 bool "Tegra PCI support"
143 depends on ARCH_TEGRA
144 depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
146 Enable support for the PCIe controller found on some generations of
147 Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
148 3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
149 with a total of 5 lanes. Some boards require this for Ethernet
150 support to work (e.g. beaver, jetson-tk1).
153 bool "OcteonTX PCI support"
154 depends on (ARCH_OCTEONTX || ARCH_OCTEONTX2)
156 Enable support for the OcteonTX/TX2 SoC family ECAM/PEM controllers.
157 These controllers provide PCI configuration access to all on-board
158 peripherals so it should only be disabled for testing purposes
161 bool "Xilinx AXI Bridge for PCI Express"
164 Enable support for the Xilinx AXI bridge for PCI express, an IP block
165 which can be used on some generations of Xilinx FPGAs.
167 config PCIE_LAYERSCAPE
171 config PCIE_LAYERSCAPE_RC
172 bool "Layerscape PCIe Root Complex mode support"
174 select PCIE_LAYERSCAPE
176 Enable Layerscape PCIe Root Complex mode driver support. The Layerscape
177 SoC may have one or several PCIe controllers. Each controller can be
178 configured to Root Complex mode by clearing the corresponding bit of
181 config PCIE_LAYERSCAPE_EP
182 bool "Layerscape PCIe Endpoint mode support"
184 select PCIE_LAYERSCAPE
187 Enable Layerscape PCIe Endpoint mode driver support. The Layerscape
188 SoC may have one or several PCIe controllers. Each controller can be
189 configured to Endpoint mode by setting the corresponding bit of
192 config PCIE_LAYERSCAPE_GEN4
193 bool "Layerscape Gen4 PCIe support"
196 Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
197 several PCIe controllers. The PCIe controller can work in RC or
198 EP mode according to RCW[HOST_AGT_PEX] setting.
200 config FSL_PCIE_COMPAT
201 string "PCIe compatible of Kernel DT"
202 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
203 default "fsl,ls1012a-pcie" if ARCH_LS1012A
204 default "fsl,ls1028a-pcie" if ARCH_LS1028A
205 default "fsl,ls1043a-pcie" if ARCH_LS1043A
206 default "fsl,ls1046a-pcie" if ARCH_LS1046A
207 default "fsl,ls2080a-pcie" if ARCH_LS2080A
208 default "fsl,ls1088a-pcie" if ARCH_LS1088A
209 default "fsl,lx2160a-pcie" if ARCH_LX2160A
210 default "fsl,ls1021a-pcie" if ARCH_LS1021A
212 This compatible is used to find pci controller node in Kernel DT
215 config FSL_PCIE_EP_COMPAT
216 string "PCIe EP compatible of Kernel DT"
217 depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
218 default "fsl,lx2160a-pcie-ep" if ARCH_LX2160A
219 default "fsl,ls-pcie-ep"
221 This compatible is used to find pci controller ep node in Kernel DT
224 config PCIE_INTEL_FPGA
225 bool "Intel FPGA PCIe support"
228 Say Y here if you want to enable PCIe controller support on Intel
229 FPGA, example Stratix 10.
232 bool "Iproc PCIe support"
235 Broadcom iProc PCIe controller driver.
236 Say Y here if you want to enable Broadcom iProc PCIe controller,
239 bool "Enable Armada XP/38x PCIe driver"
240 depends on ARCH_MVEBU
244 Say Y here if you want to enable PCIe controller support on
248 bool "TI Keystone PCIe controller"
251 Say Y here if you want to enable PCI controller support on AM654 SoC.
254 bool "MediaTek PCIe Gen2 controller"
256 depends on ARCH_MEDIATEK
258 Say Y here if you want to enable Gen2 PCIe controller,
259 which could be found on MT7623 SoC family.
262 bool "Enable Rockchip PCIe driver"
263 depends on ARCH_ROCKCHIP
265 select PHY_ROCKCHIP_PCIE
266 default y if ROCKCHIP_RK3399
268 Say Y here if you want to enable PCIe controller support on
272 bool "Broadcom STB PCIe controller"
274 depends on ARCH_BCM283X
276 Say Y here if you want to enable support for PCIe controller
277 on Broadcom set-top-box (STB) SoCs.
278 This driver currently supports only BCM2711 SoC and RC mode