blob: 429bb836a8a041146ec92b338ba566f2d03d9b2e [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
Tuomas Tynkkynen3675cb02017-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 Ammouri182ba1a2016-10-27 13:29:41 +020054config PCIE_DW_MVEBU
55 bool "Enable Armada-8K PCIe driver (DesignWare core)"
Shadi Ammouri182ba1a2016-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 Vasut5f14f7d2018-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 Vasut776abed2018-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 Glass537849a2015-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 Glassfde7e182015-11-19 20:26:55 -070090config PCI_TEGRA
91 bool "Tegra PCI support"
92 depends on TEGRA
Stephen Warrenbbc5b362016-08-05 16:10:34 -060093 depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
Simon Glassfde7e182015-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 Burtona29e45a2016-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 Lian80afc632016-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 Zhiqiang07ce19f2019-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 Tan7c458622018-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 Roese94f453e2019-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 Riniaf273822016-10-26 17:15:37 -0400140endif