blob: 429bb836a8a041146ec92b338ba566f2d03d9b2e [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
Tuomas Tynkkynena765f712017-09-19 23:18:06 +030046config PCIE_ECAM_GENERIC
47 bool "Generic ECAM-based PCI host controller support"
48 default n
49 depends on DM_PCI
50 help
51 Say Y here if you want to enable support for generic ECAM-based
52 PCIe host controllers, such as the one emulated by QEMU.
53
Shadi Ammouri3b386452016-10-27 13:29:41 +020054config PCIE_DW_MVEBU
55 bool "Enable Armada-8K PCIe driver (DesignWare core)"
Shadi Ammouri3b386452016-10-27 13:29:41 +020056 depends on DM_PCI
57 depends on ARMADA_8K
58 help
59 Say Y here if you want to enable PCIe controller support on
60 Armada-8K SoCs. The PCIe controller on Armada-8K is based on
61 DesignWare hardware.
62
Marek Vasut5012d1e2018-01-18 14:35:35 +010063config PCI_RCAR_GEN2
64 bool "Renesas RCar Gen2 PCIe driver"
65 depends on DM_PCI
66 depends on RCAR_32
67 help
68 Say Y here if you want to enable PCIe controller support on
69 Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
70 also used to access EHCI USB controller on the SoC.
71
Marek Vasut879b4a32018-10-16 12:49:19 +020072config PCI_RCAR_GEN3
73 bool "Renesas RCar Gen3 PCIe driver"
74 depends on DM_PCI
75 depends on RCAR_GEN3
76 help
77 Say Y here if you want to enable PCIe controller support on
78 Renesas RCar Gen3 SoCs.
79
Simon Glass4d857552015-03-05 12:25:27 -070080config PCI_SANDBOX
81 bool "Sandbox PCI support"
82 depends on SANDBOX && DM_PCI
83 help
84 Support PCI on sandbox, as an emulated bus. This permits testing of
85 PCI feature such as bus scanning, device configuration and device
86 access. The available (emulated) devices are defined statically in
87 the device tree but the normal PCI scan technique is used to find
88 then.
89
Simon Glassc78e3272015-11-19 20:26:55 -070090config PCI_TEGRA
91 bool "Tegra PCI support"
92 depends on TEGRA
Stephen Warren86f6a942016-08-05 16:10:34 -060093 depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
Simon Glassc78e3272015-11-19 20:26:55 -070094 help
95 Enable support for the PCIe controller found on some generations of
96 Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
97 3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
98 with a total of 5 lanes. Some boards require this for Ethernet
99 support to work (e.g. beaver, jetson-tk1).
100
Paul Burtonc893f212016-09-08 07:47:31 +0100101config PCI_XILINX
102 bool "Xilinx AXI Bridge for PCI Express"
103 depends on DM_PCI
104 help
105 Enable support for the Xilinx AXI bridge for PCI express, an IP block
106 which can be used on some generations of Xilinx FPGAs.
107
Minghuan Lianc1067842016-12-13 14:54:17 +0800108config PCIE_LAYERSCAPE
109 bool "Layerscape PCIe support"
110 depends on DM_PCI
111 help
112 Support Layerscape PCIe. The Layerscape SoC may have one or several
113 PCIe controllers. The PCIe may works in RC or EP mode according to
114 RCW[HOST_AGT_PEX] setting.
115
Hou Zhiqiange5d79c42019-04-08 10:15:46 +0000116config PCIE_LAYERSCAPE_GEN4
117 bool "Layerscape Gen4 PCIe support"
118 depends on DM_PCI
119 help
120 Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
121 several PCIe controllers. The PCIe controller can work in RC or
122 EP mode according to RCW[HOST_AGT_PEX] setting.
123
Ley Foon Tandc05e632018-04-20 21:55:45 +0800124config PCIE_INTEL_FPGA
125 bool "Intel FPGA PCIe support"
126 depends on DM_PCI
127 help
128 Say Y here if you want to enable PCIe controller support on Intel
129 FPGA, example Stratix 10.
130
Stefan Roese3179ec62019-01-25 11:52:43 +0100131config PCI_MVEBU
132 bool "Enable Armada XP/38x PCIe driver"
133 depends on ARCH_MVEBU
134 select DM_PCI
135 select MISC
136 help
137 Say Y here if you want to enable PCIe controller support on
138 Armada XP/38x SoCs.
139
Tom Rinif48e0252016-10-26 17:15:37 -0400140endif