xref: /openbmc/u-boot/drivers/pci/Kconfig (revision ef64e782)
1menuconfig PCI
2	bool "PCI support"
3	default y if PPC
4	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
10
11config DM_PCI
12	bool "Enable driver model for PCI"
13	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
20config 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
29config 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
39config 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
46config 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
54config PCIE_DW_MVEBU
55	bool "Enable Armada-8K PCIe driver (DesignWare core)"
56	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
63config 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
72config PCI_SANDBOX
73	bool "Sandbox PCI support"
74	depends on SANDBOX && DM_PCI
75	help
76	  Support PCI on sandbox, as an emulated bus. This permits testing of
77	  PCI feature such as bus scanning, device configuration and device
78	  access. The available (emulated) devices are defined statically in
79	  the device tree but the normal PCI scan technique is used to find
80	  then.
81
82config PCI_TEGRA
83	bool "Tegra PCI support"
84	depends on TEGRA
85	depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
86	help
87	  Enable support for the PCIe controller found on some generations of
88	  Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
89	  3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
90	  with a total of 5 lanes. Some boards require this for Ethernet
91	  support to work (e.g. beaver, jetson-tk1).
92
93config PCI_XILINX
94	bool "Xilinx AXI Bridge for PCI Express"
95	depends on DM_PCI
96	help
97	  Enable support for the Xilinx AXI bridge for PCI express, an IP block
98	  which can be used on some generations of Xilinx FPGAs.
99
100config PCIE_LAYERSCAPE
101	bool "Layerscape PCIe support"
102	depends on DM_PCI
103	help
104	  Support Layerscape PCIe. The Layerscape SoC may have one or several
105	  PCIe controllers. The PCIe may works in RC or EP mode according to
106	  RCW[HOST_AGT_PEX] setting.
107
108config PCIE_INTEL_FPGA
109	bool "Intel FPGA PCIe support"
110	depends on DM_PCI
111	help
112	  Say Y here if you want to enable PCIe controller support on Intel
113	  FPGA, example Stratix 10.
114
115endif
116