2016-10-26 17:15:37 -04:00
|
|
|
menuconfig PCI
|
|
|
|
bool "PCI support"
|
2021-05-14 21:34:32 -04:00
|
|
|
depends on DM
|
2017-07-30 06:23:09 -07:00
|
|
|
default y if PPC
|
2016-10-26 17:15:37 -04:00
|
|
|
help
|
|
|
|
Enable support for PCI (Peripheral Interconnect Bus), a type of bus
|
|
|
|
used on some devices to allow the CPU to communicate with its
|
|
|
|
peripherals.
|
|
|
|
|
2021-08-01 18:54:44 -06:00
|
|
|
This subsystem requires driver model.
|
2015-03-05 12:25:25 -07:00
|
|
|
|
2021-05-14 21:34:32 -04:00
|
|
|
if PCI
|
|
|
|
|
2015-11-26 19:51:30 -07:00
|
|
|
config DM_PCI_COMPAT
|
|
|
|
bool "Enable compatible functions for PCI"
|
|
|
|
help
|
|
|
|
Enable compatibility functions for PCI so that old code can be used
|
2021-08-01 18:54:44 -06:00
|
|
|
with CONFIG_PCI enabled. This should be used as an interim
|
2015-11-26 19:51:30 -07:00
|
|
|
measure when porting a board to use driver model for PCI. Once the
|
|
|
|
board is fully supported, this option should be disabled.
|
|
|
|
|
2021-12-12 22:12:32 -05:00
|
|
|
config SYS_PCI_64BIT
|
|
|
|
bool "Enable 64-bit PCI resources"
|
|
|
|
default y if PPC
|
|
|
|
help
|
|
|
|
Enable 64-bit PCI resource access.
|
|
|
|
|
2018-03-26 15:57:29 +08:00
|
|
|
config PCI_AARDVARK
|
|
|
|
bool "Enable Aardvark PCIe driver"
|
2020-08-25 10:45:04 +02:00
|
|
|
depends on DM_GPIO
|
2018-03-26 15:57:29 +08:00
|
|
|
depends on ARMADA_3700
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Armada37x0 SoCs. The PCIe controller on Armada37x0 is based on
|
|
|
|
Aardvark hardware.
|
|
|
|
|
2016-10-16 23:35:18 -07:00
|
|
|
config PCI_PNP
|
|
|
|
bool "Enable Plug & Play support for PCI"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enable PCI memory and I/O space resource allocation and assignment.
|
|
|
|
|
2019-10-19 17:10:20 -07:00
|
|
|
config PCI_REGION_MULTI_ENTRY
|
|
|
|
bool "Enable Multiple entries of region type MEMORY in ranges for PCI"
|
|
|
|
help
|
|
|
|
Enable PCI memory regions to be of multiple entry. Multiple entry
|
|
|
|
here refers to allow more than one count of address ranges for MEMORY
|
|
|
|
region type. This helps to add support for SoC's like OcteonTX/TX2
|
|
|
|
where every peripheral is on the PCI bus.
|
|
|
|
|
2022-06-20 08:07:50 -04:00
|
|
|
config PCI_CONFIG_HOST_BRIDGE
|
|
|
|
bool "Configure PCI host bridges"
|
|
|
|
default y if X86
|
|
|
|
|
2021-07-15 20:53:56 +02:00
|
|
|
config PCI_MAP_SYSTEM_MEMORY
|
|
|
|
bool "Map local system memory from a virtual base address"
|
|
|
|
depends on MIPS
|
|
|
|
help
|
|
|
|
Say Y if base address of system memory is being used as a virtual address
|
|
|
|
instead of a physical address (e.g. on MIPS). The PCI core will then remap
|
|
|
|
the virtual memory base address to a physical address when adding the PCI
|
|
|
|
region of type PCI_REGION_SYS_MEMORY.
|
|
|
|
This should only be required on MIPS where CONFIG_SYS_SDRAM_BASE is still
|
|
|
|
being used as virtual address.
|
|
|
|
|
2019-10-19 16:07:20 -07:00
|
|
|
config PCI_SRIOV
|
|
|
|
bool "Enable Single Root I/O Virtualization support for PCI"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCI Single Root I/O Virtualization
|
|
|
|
capability support. This helps to enumerate Virtual Function devices
|
|
|
|
if available on a PCI Physical Function device and probe for
|
|
|
|
applicable drivers.
|
|
|
|
|
2022-04-21 16:11:16 +00:00
|
|
|
config PCI_ENHANCED_ALLOCATION
|
|
|
|
bool "Enable support for Enhanced Allocation of resources"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enable support for Enhanced Allocation which can be used by supported
|
|
|
|
devices in place of traditional BARS for allocation of resources.
|
|
|
|
|
2019-10-23 18:40:36 -07:00
|
|
|
config PCI_ARID
|
|
|
|
bool "Enable Alternate Routing-ID support for PCI"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable Alternate Routing-ID capability
|
|
|
|
support on PCI devices. This helps to skip some devices in BDF
|
|
|
|
scan that are not present.
|
|
|
|
|
2022-06-20 08:07:48 -04:00
|
|
|
config PCI_SCAN_SHOW
|
|
|
|
bool "Show PCI devices during startup"
|
|
|
|
depends on PCIE_IMX
|
|
|
|
|
2017-09-19 23:18:06 +03:00
|
|
|
config PCIE_ECAM_GENERIC
|
|
|
|
bool "Generic ECAM-based PCI host controller support"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable support for generic ECAM-based
|
|
|
|
PCIe host controllers, such as the one emulated by QEMU.
|
|
|
|
|
2021-06-04 18:44:06 +09:00
|
|
|
config PCIE_ECAM_SYNQUACER
|
|
|
|
bool "SynQuacer ECAM-based PCI host controller support"
|
|
|
|
select PCI_INIT_R
|
|
|
|
select PCI_REGION_MULTI_ENTRY
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable support for Socionext
|
|
|
|
SynQuacer SoC's ECAM-based PCIe host controllers.
|
|
|
|
Note that this must be configured when boot because Linux driver
|
|
|
|
expects the PCIe RC has been configured in the bootloader.
|
|
|
|
|
2022-06-20 08:07:49 -04:00
|
|
|
config PCI_GT64120
|
|
|
|
bool "GT64120 PCI support"
|
|
|
|
depends on MIPS
|
|
|
|
|
2019-10-31 07:51:08 +00:00
|
|
|
config PCI_PHYTIUM
|
|
|
|
bool "Phytium PCIe support"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Phytium SoCs.
|
|
|
|
|
2016-10-27 13:29:41 +02:00
|
|
|
config PCIE_DW_MVEBU
|
|
|
|
bool "Enable Armada-8K PCIe driver (DesignWare core)"
|
|
|
|
depends on ARMADA_8K
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Armada-8K SoCs. The PCIe controller on Armada-8K is based on
|
|
|
|
DesignWare hardware.
|
|
|
|
|
2021-05-27 06:52:10 -07:00
|
|
|
config PCIE_DW_SIFIVE
|
|
|
|
bool "Enable SiFive FU740 PCIe"
|
|
|
|
depends on CLK_SIFIVE_PRCI
|
|
|
|
depends on RESET_SIFIVE
|
|
|
|
depends on SIFIVE_GPIO
|
|
|
|
select PCIE_DW_COMMON
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
FU740.
|
|
|
|
|
2022-06-20 08:07:56 -04:00
|
|
|
config SYS_FSL_PCI_VER_3_X
|
|
|
|
bool
|
|
|
|
|
2019-04-24 22:33:02 +08:00
|
|
|
config PCIE_FSL
|
|
|
|
bool "FSL PowerPC PCIe support"
|
2022-06-20 08:07:56 -04:00
|
|
|
select SYS_FSL_PCI_VER_3_X if ARCH_T2080 || ARCH_T4240
|
2019-04-24 22:33:02 +08:00
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on FSL
|
|
|
|
PowerPC MPC85xx, MPC86xx, B series, P series and T series SoCs.
|
|
|
|
This driver does not support SRIO_PCIE_BOOT feature.
|
|
|
|
|
2019-10-14 11:29:39 +02:00
|
|
|
config PCI_MPC85XX
|
|
|
|
bool "MPC85XX PowerPC PCI support"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCI controller support on FSL
|
|
|
|
PowerPC MPC85xx SoC.
|
|
|
|
|
2022-06-20 08:07:55 -04:00
|
|
|
config PCI_MSC01
|
|
|
|
bool "MSC01 PCI support"
|
|
|
|
depends on TARGET_MALTA
|
|
|
|
|
2018-01-18 14:35:35 +01:00
|
|
|
config PCI_RCAR_GEN2
|
|
|
|
bool "Renesas RCar Gen2 PCIe driver"
|
|
|
|
depends on RCAR_32
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Renesas RCar Gen2 SoCs. The PCIe controller on RCar Gen2 is
|
|
|
|
also used to access EHCI USB controller on the SoC.
|
|
|
|
|
2018-10-16 12:49:19 +02:00
|
|
|
config PCI_RCAR_GEN3
|
|
|
|
bool "Renesas RCar Gen3 PCIe driver"
|
|
|
|
depends on RCAR_GEN3
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Renesas RCar Gen3 SoCs.
|
|
|
|
|
2015-03-05 12:25:27 -07:00
|
|
|
config PCI_SANDBOX
|
|
|
|
bool "Sandbox PCI support"
|
2021-08-01 18:54:44 -06:00
|
|
|
depends on SANDBOX
|
2015-03-05 12:25:27 -07:00
|
|
|
help
|
|
|
|
Support PCI on sandbox, as an emulated bus. This permits testing of
|
|
|
|
PCI feature such as bus scanning, device configuration and device
|
|
|
|
access. The available (emulated) devices are defined statically in
|
|
|
|
the device tree but the normal PCI scan technique is used to find
|
|
|
|
then.
|
|
|
|
|
2022-06-20 08:07:53 -04:00
|
|
|
config SH7751_PCI
|
|
|
|
bool "SH7751 PCI controller support"
|
|
|
|
depends on SH
|
|
|
|
help
|
|
|
|
SuperH PCI Bridge Configuration
|
|
|
|
|
2015-11-19 20:26:55 -07:00
|
|
|
config PCI_TEGRA
|
|
|
|
bool "Tegra PCI support"
|
2020-05-06 08:02:41 -04:00
|
|
|
depends on ARCH_TEGRA
|
2016-08-05 16:10:34 -06:00
|
|
|
depends on (TEGRA186 && POWER_DOMAIN) || (!TEGRA186)
|
2015-11-19 20:26:55 -07:00
|
|
|
help
|
|
|
|
Enable support for the PCIe controller found on some generations of
|
|
|
|
Tegra. Tegra20 has 2 root ports with a total of 4 lanes, Tegra30 has
|
|
|
|
3 root ports with a total of 6 lanes and Tegra124 has 2 root ports
|
|
|
|
with a total of 5 lanes. Some boards require this for Ethernet
|
|
|
|
support to work (e.g. beaver, jetson-tk1).
|
|
|
|
|
2019-10-19 17:28:01 -07:00
|
|
|
config PCI_OCTEONTX
|
|
|
|
bool "OcteonTX PCI support"
|
|
|
|
depends on (ARCH_OCTEONTX || ARCH_OCTEONTX2)
|
|
|
|
help
|
|
|
|
Enable support for the OcteonTX/TX2 SoC family ECAM/PEM controllers.
|
|
|
|
These controllers provide PCI configuration access to all on-board
|
|
|
|
peripherals so it should only be disabled for testing purposes
|
|
|
|
|
2021-04-07 08:43:35 +02:00
|
|
|
config PCIE_OCTEON
|
|
|
|
bool "MIPS Octeon PCIe support"
|
|
|
|
depends on ARCH_OCTEON
|
|
|
|
help
|
|
|
|
Enable support for the MIPS Octeon SoC family PCIe controllers.
|
|
|
|
|
2016-09-08 07:47:31 +01:00
|
|
|
config PCI_XILINX
|
|
|
|
bool "Xilinx AXI Bridge for PCI Express"
|
|
|
|
help
|
|
|
|
Enable support for the Xilinx AXI bridge for PCI express, an IP block
|
|
|
|
which can be used on some generations of Xilinx FPGAs.
|
|
|
|
|
2016-12-13 14:54:17 +08:00
|
|
|
config PCIE_LAYERSCAPE
|
2020-07-09 23:31:42 +08:00
|
|
|
bool
|
|
|
|
|
|
|
|
config PCIE_LAYERSCAPE_RC
|
|
|
|
bool "Layerscape PCIe Root Complex mode support"
|
|
|
|
select PCIE_LAYERSCAPE
|
|
|
|
help
|
|
|
|
Enable Layerscape PCIe Root Complex mode driver support. The Layerscape
|
|
|
|
SoC may have one or several PCIe controllers. Each controller can be
|
|
|
|
configured to Root Complex mode by clearing the corresponding bit of
|
|
|
|
RCW[HOST_AGT_PEX].
|
|
|
|
|
2020-09-10 12:42:19 +03:00
|
|
|
config PCI_IOMMU_EXTRA_MAPPINGS
|
|
|
|
bool "Support for specifying extra IOMMU mappings for PCI"
|
|
|
|
depends on PCIE_LAYERSCAPE_RC
|
|
|
|
help
|
|
|
|
Enable support for specifying extra IOMMU mappings for PCI
|
|
|
|
controllers through a special env var called "pci_iommu_extra" or
|
|
|
|
through a device tree property named "pci-iommu-extra" placed in
|
|
|
|
the node describing the PCI controller.
|
|
|
|
The intent is to cover SR-IOV scenarios which need mappings for VFs
|
|
|
|
and PCI hot-plug scenarios. More documentation can be found under:
|
|
|
|
arch/arm/cpu/armv8/fsl-layerscape/doc/README.pci_iommu_extra
|
|
|
|
|
2020-07-09 23:31:42 +08:00
|
|
|
config PCIE_LAYERSCAPE_EP
|
|
|
|
bool "Layerscape PCIe Endpoint mode support"
|
|
|
|
select PCIE_LAYERSCAPE
|
|
|
|
select PCI_ENDPOINT
|
2016-12-13 14:54:17 +08:00
|
|
|
help
|
2020-07-09 23:31:42 +08:00
|
|
|
Enable Layerscape PCIe Endpoint mode driver support. The Layerscape
|
|
|
|
SoC may have one or several PCIe controllers. Each controller can be
|
|
|
|
configured to Endpoint mode by setting the corresponding bit of
|
|
|
|
RCW[HOST_AGT_PEX].
|
2016-12-13 14:54:17 +08:00
|
|
|
|
2019-04-08 10:15:46 +00:00
|
|
|
config PCIE_LAYERSCAPE_GEN4
|
|
|
|
bool "Layerscape Gen4 PCIe support"
|
|
|
|
help
|
|
|
|
Support PCIe Gen4 on NXP Layerscape SoCs, which may have one or
|
|
|
|
several PCIe controllers. The PCIe controller can work in RC or
|
|
|
|
EP mode according to RCW[HOST_AGT_PEX] setting.
|
|
|
|
|
2019-11-30 13:14:00 +00:00
|
|
|
config FSL_PCIE_COMPAT
|
|
|
|
string "PCIe compatible of Kernel DT"
|
2020-07-09 23:31:42 +08:00
|
|
|
depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
|
2019-11-30 13:14:00 +00:00
|
|
|
default "fsl,ls1012a-pcie" if ARCH_LS1012A
|
|
|
|
default "fsl,ls1028a-pcie" if ARCH_LS1028A
|
|
|
|
default "fsl,ls1043a-pcie" if ARCH_LS1043A
|
|
|
|
default "fsl,ls1046a-pcie" if ARCH_LS1046A
|
|
|
|
default "fsl,ls2080a-pcie" if ARCH_LS2080A
|
|
|
|
default "fsl,ls1088a-pcie" if ARCH_LS1088A
|
2021-12-07 18:13:12 +08:00
|
|
|
default "fsl,ls2088a-pcie" if ARCH_LX2160A || ARCH_LX2162A
|
2019-11-30 13:14:00 +00:00
|
|
|
default "fsl,ls1021a-pcie" if ARCH_LS1021A
|
|
|
|
help
|
|
|
|
This compatible is used to find pci controller node in Kernel DT
|
|
|
|
to complete fixup.
|
|
|
|
|
2019-11-30 13:14:10 +00:00
|
|
|
config FSL_PCIE_EP_COMPAT
|
|
|
|
string "PCIe EP compatible of Kernel DT"
|
2020-07-09 23:31:42 +08:00
|
|
|
depends on PCIE_LAYERSCAPE_RC || PCIE_LAYERSCAPE_GEN4
|
2019-11-30 13:14:10 +00:00
|
|
|
default "fsl,ls-pcie-ep"
|
|
|
|
help
|
|
|
|
This compatible is used to find pci controller ep node in Kernel DT
|
|
|
|
to complete fixup.
|
|
|
|
|
2022-06-20 08:07:46 -04:00
|
|
|
config PCIE_IMX
|
|
|
|
bool "i.MX PCIe support"
|
|
|
|
depends on ARCH_MX6
|
|
|
|
|
2018-04-20 21:55:45 +08:00
|
|
|
config PCIE_INTEL_FPGA
|
|
|
|
bool "Intel FPGA PCIe support"
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on Intel
|
|
|
|
FPGA, example Stratix 10.
|
|
|
|
|
2020-05-12 13:29:50 +05:30
|
|
|
config PCIE_IPROC
|
|
|
|
bool "Iproc PCIe support"
|
|
|
|
help
|
|
|
|
Broadcom iProc PCIe controller driver.
|
|
|
|
Say Y here if you want to enable Broadcom iProc PCIe controller,
|
|
|
|
|
2019-01-25 11:52:43 +01:00
|
|
|
config PCI_MVEBU
|
2022-01-13 14:28:04 +01:00
|
|
|
bool "Enable Kirkwood / Armada 370/XP/375/38x PCIe driver"
|
|
|
|
depends on (ARCH_KIRKWOOD || ARCH_MVEBU)
|
2019-01-25 11:52:43 +01:00
|
|
|
select MISC
|
2021-12-21 12:20:19 +01:00
|
|
|
select DM_RESET
|
2022-08-05 16:03:41 +02:00
|
|
|
select DM_GPIO
|
2019-01-25 11:52:43 +01:00
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
2022-01-13 14:28:04 +01:00
|
|
|
Kirkwood and Armada 370/XP/375/38x SoCs.
|
2019-01-25 11:52:43 +01:00
|
|
|
|
2021-03-25 15:49:18 +01:00
|
|
|
config PCIE_DW_COMMON
|
|
|
|
bool
|
|
|
|
|
2019-08-01 19:12:57 +05:30
|
|
|
config PCI_KEYSTONE
|
|
|
|
bool "TI Keystone PCIe controller"
|
2021-03-25 15:49:19 +01:00
|
|
|
select PCIE_DW_COMMON
|
2019-08-01 19:12:57 +05:30
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCI controller support on AM654 SoC.
|
|
|
|
|
2019-08-22 12:26:49 +02:00
|
|
|
config PCIE_MEDIATEK
|
|
|
|
bool "MediaTek PCIe Gen2 controller"
|
|
|
|
depends on ARCH_MEDIATEK
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable Gen2 PCIe controller,
|
|
|
|
which could be found on MT7623 SoC family.
|
|
|
|
|
2021-03-25 15:49:21 +01:00
|
|
|
config PCIE_DW_MESON
|
|
|
|
bool "Amlogic Meson DesignWare based PCIe controller"
|
|
|
|
depends on ARCH_MESON
|
|
|
|
select PCIE_DW_COMMON
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable DW PCIe controller support on
|
|
|
|
Amlogic SoCs.
|
|
|
|
|
2020-05-09 22:26:21 +05:30
|
|
|
config PCIE_ROCKCHIP
|
|
|
|
bool "Enable Rockchip PCIe driver"
|
2020-08-19 10:44:15 +02:00
|
|
|
depends on ARCH_ROCKCHIP
|
2020-07-09 23:41:02 +05:30
|
|
|
select PHY_ROCKCHIP_PCIE
|
2020-05-09 22:26:21 +05:30
|
|
|
default y if ROCKCHIP_RK3399
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
Rockchip SoCs.
|
|
|
|
|
2021-01-15 18:01:22 +08:00
|
|
|
config PCIE_DW_ROCKCHIP
|
|
|
|
bool "Rockchip DesignWare based PCIe controller"
|
|
|
|
depends on ARCH_ROCKCHIP
|
2021-03-25 15:49:20 +01:00
|
|
|
select PCIE_DW_COMMON
|
2021-01-15 18:01:22 +08:00
|
|
|
select PHY_ROCKCHIP_SNPS_PCIE3
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable DW PCIe controller support on
|
|
|
|
Rockchip SoCs.
|
|
|
|
|
2020-05-25 13:39:58 +02:00
|
|
|
config PCI_BRCMSTB
|
|
|
|
bool "Broadcom STB PCIe controller"
|
|
|
|
depends on ARCH_BCM283X
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable support for PCIe controller
|
|
|
|
on Broadcom set-top-box (STB) SoCs.
|
|
|
|
This driver currently supports only BCM2711 SoC and RC mode
|
|
|
|
of the controller.
|
2021-07-06 19:01:09 +09:00
|
|
|
|
|
|
|
config PCIE_UNIPHIER
|
|
|
|
bool "Socionext UniPhier PCIe driver"
|
|
|
|
depends on ARCH_UNIPHIER
|
|
|
|
select PHY_UNIPHIER_PCIE
|
|
|
|
help
|
|
|
|
Say Y here if you want to enable PCIe controller support on
|
|
|
|
UniPhier SoCs.
|
|
|
|
|
2016-10-26 17:15:37 -04:00
|
|
|
endif
|