400 lines · 11.5 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0 menu "PCI controller drivers"	depends on PCI config PCI_HOST_COMMON	tristate	select PCI_ECAM config PCI_AARDVARK	tristate "Aardvark PCIe controller"	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST	depends on OF	depends on PCI_MSI	select PCI_BRIDGE_EMUL	select IRQ_MSI_LIB	help	 Add support for Aardvark 64bit PCIe Host Controller. This	 controller is part of the South Bridge of the Marvel Armada	 3700 SoC. config PCIE_ALTERA	tristate "Altera PCIe controller"	depends on ARM || NIOS2 || ARM64 || COMPILE_TEST	help	  Say Y here if you want to enable PCIe controller support on Altera	  FPGA. config PCIE_ALTERA_MSI	tristate "Altera PCIe MSI feature"	depends on PCIE_ALTERA	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Say Y here if you want PCIe MSI support for the Altera FPGA.	  This MSI driver supports Altera MSI to GIC controller IP. config PCIE_APPLE_MSI_DOORBELL_ADDR	hex	default 0xfffff000	depends on PCIE_APPLE config PCIE_APPLE	tristate "Apple PCIe controller"	depends on ARCH_APPLE || COMPILE_TEST	depends on OF	depends on PCI_MSI	select PCI_HOST_COMMON	select IRQ_MSI_LIB	help	  Say Y here if you want to enable PCIe controller support on Apple	  system-on-chips, like the Apple M1. This is required for the USB	  type-A ports, Ethernet, Wi-Fi, and Bluetooth. 	  If unsure, say Y if you have an Apple Silicon system. config PCI_VERSATILE	bool "ARM Versatile PB PCI controller"	depends on ARCH_VERSATILE || COMPILE_TEST config PCIE_ASPEED	bool "ASPEED PCIe controller"	depends on ARCH_ASPEED || COMPILE_TEST	depends on OF	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Enable this option to support the PCIe controller found on ASPEED	  SoCs. 	  This driver provides initialization and management for PCIe	  Root Complex functionality, including INTx and MSI support. 	  Select Y if your platform uses an ASPEED SoC and requires PCIe	  connectivity. config PCIE_BRCMSTB	tristate "Broadcom Brcmstb PCIe controller"	depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCMBCA || \		   BMIPS_GENERIC || COMPILE_TEST	depends on OF	depends on PCI_MSI	select IRQ_MSI_LIB	default ARCH_BRCMSTB || BMIPS_GENERIC	help	  Say Y here to enable PCIe host controller support for	  Broadcom STB based SoCs, like the Raspberry Pi 4. config PCIE_IPROC	tristate	help	  This enables the iProc PCIe core controller support for Broadcom's	  iProc family of SoCs. An appropriate bus interface driver needs	  to be enabled to select this. config PCIE_IPROC_PLATFORM	tristate "Broadcom iProc PCIe platform bus driver"	depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST)	depends on OF	select PCIE_IPROC	default ARCH_BCM_IPROC	help	  Say Y here if you want to use the Broadcom iProc PCIe controller	  through the generic platform bus interface config PCIE_IPROC_BCMA	tristate "Broadcom iProc BCMA PCIe controller"	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)	select PCIE_IPROC	select BCMA	default ARCH_BCM_5301X	help	  Say Y here if you want to use the Broadcom iProc PCIe controller	  through the BCMA bus interface config PCIE_IPROC_MSI	bool "Broadcom iProc PCIe MSI support"	depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA	depends on PCI_MSI	select IRQ_MSI_LIB	default ARCH_BCM_IPROC	help	  Say Y here if you want to enable MSI support for Broadcom's iProc	  PCIe controller config PCI_HOST_THUNDER_PEM	bool "Cavium Thunder PCIe controller to off-chip devices"	depends on ARM64 || COMPILE_TEST	depends on OF || (ACPI && PCI_QUIRKS)	select PCI_HOST_COMMON	help	  Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. config PCI_HOST_THUNDER_ECAM	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"	depends on ARM64 || COMPILE_TEST	depends on OF || (ACPI && PCI_QUIRKS)	select PCI_HOST_COMMON	help	  Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. config PCI_FTPCI100	bool "Faraday Technology FTPCI100 PCI controller"	depends on OF	default ARCH_GEMINI config PCI_HOST_GENERIC	tristate "Generic PCI host controller"	depends on OF	select PCI_HOST_COMMON	select IRQ_DOMAIN	help	  Say Y here if you want to support a simple generic PCI host	  controller, such as the one emulated by kvmtool. config PCIE_HISI_ERR	depends on ACPI_APEI_GHES && (ARM64 || COMPILE_TEST)	bool "HiSilicon HIP PCIe controller error handling driver"	help	  Say Y here if you want error handling support	  for the PCIe controller's errors on HiSilicon HIP SoCs config PCI_IXP4XX	bool "Intel IXP4xx PCI controller"	depends on OF	depends on ARCH_IXP4XX || COMPILE_TEST	default ARCH_IXP4XX	help	  Say Y here if you want support for the PCI host controller found	  in the Intel IXP4xx XScale-based network processor SoC. config VMD	depends on PCI_MSI && X86_64 && !UML	tristate "Intel Volume Management Device Driver"	select IRQ_MSI_LIB	help	  Adds support for the Intel Volume Management Device (VMD). VMD is a	  secondary PCI host bridge that allows PCI Express root ports,	  and devices attached to them, to be removed from the default	  PCI domain and placed within the VMD domain. This provides	  more bus resources than are otherwise possible with a	  single domain. If you know your system provides one of these and	  has devices attached to it, say Y; if you are not sure, say N. 	  To compile this driver as a module, choose M here: the	  module will be called vmd. config PCI_LOONGSON	bool "LOONGSON PCIe controller"	depends on MACH_LOONGSON32 || MACH_LOONGSON64 || COMPILE_TEST	depends on OF || ACPI	depends on PCI_QUIRKS	default MACH_LOONGSON64	help	  Say Y here if you want to enable PCI controller support on	  Loongson systems. config PCI_MVEBU	tristate "Marvell EBU PCIe controller"	depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST	depends on MVEBU_MBUS	depends on ARM	depends on OF	select PCI_BRIDGE_EMUL	help	 Add support for Marvell EBU PCIe controller. This PCIe controller	 is used on 32-bit Marvell ARM SoCs: Dove, Kirkwood, Armada 370,	 Armada XP, Armada 375, Armada 38x and Armada 39x. config PCIE_MEDIATEK	tristate "MediaTek PCIe controller"	depends on ARCH_AIROHA || ARCH_MEDIATEK || ECONET || COMPILE_TEST	depends on OF	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Say Y here if you want to enable PCIe controller support on	  MediaTek SoCs. config PCIE_MEDIATEK_GEN3	tristate "MediaTek Gen3 PCIe controller"	depends on ARCH_AIROHA || ARCH_MEDIATEK || COMPILE_TEST	depends on PCI_MSI	select IRQ_MSI_LIB	select PCI_PWRCTRL_GENERIC	help	  Adds support for PCIe Gen3 MAC controller for MediaTek SoCs.	  This PCIe controller is compatible with Gen3, Gen2 and Gen1 speed,	  and support up to 256 MSI interrupt numbers for	  multi-function devices. 	  Say Y here if you want to enable Gen3 PCIe controller support on	  MediaTek SoCs. config PCIE_MT7621	tristate "MediaTek MT7621 PCIe controller"	depends on SOC_MT7621 || COMPILE_TEST	select PHY_MT7621_PCI	default SOC_MT7621	help	  This selects a driver for the MediaTek MT7621 PCIe Controller. config PCI_HYPERV_INTERFACE	tristate "Microsoft Hyper-V PCI Interface"	depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI	help	  The Hyper-V PCI Interface is a helper driver that allows other	  drivers to have a common interface with the Hyper-V PCI frontend	  driver. config PCI_TEGRA	tristate "NVIDIA Tegra PCIe controller"	depends on ARCH_TEGRA || COMPILE_TEST	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Say Y here if you want support for the PCIe host controller found	  on NVIDIA Tegra SoCs (Tegra20 through Tegra186). config PCIE_TEGRA264	tristate "NVIDIA Tegra264 PCIe controller"	depends on ARCH_TEGRA || COMPILE_TEST	select PCI_ECAM	help	  Say Y here if you want support for the PCIe Host Controller found	  on NVIDIA Tegra264 SoCs. config PCIE_RCAR_HOST	bool "Renesas R-Car PCIe controller (host mode)"	depends on ARCH_RENESAS || COMPILE_TEST	depends on OF	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Say Y here if you want PCIe controller support on R-Car SoCs in host	  mode. config PCIE_RCAR_EP	bool "Renesas R-Car PCIe controller (endpoint mode)"	depends on ARCH_RENESAS || COMPILE_TEST	depends on PCI_ENDPOINT	help	  Say Y here if you want PCIe controller support on R-Car SoCs in	  endpoint mode. config PCI_RCAR_GEN2	bool "Renesas R-Car Gen2 Internal PCI controller"	depends on (ARCH_RENESAS && ARM) || COMPILE_TEST	help	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.	  Each internal PCI controller contains a single built-in EHCI/OHCI	  host controller. config PCIE_RENESAS_RZG3S_HOST	bool "Renesas RZ/G3S PCIe host controller"	depends on ARCH_RENESAS || COMPILE_TEST	select MFD_SYSCON	select IRQ_MSI_LIB	help	  Say Y here if you want PCIe host controller support on Renesas RZ/G3S	  SoC. config PCIE_ROCKCHIP	bool	depends on PCI config PCIE_ROCKCHIP_HOST	tristate "Rockchip PCIe controller (host mode)"	depends on ARCH_ROCKCHIP || COMPILE_TEST	depends on OF	depends on PCI_MSI	select MFD_SYSCON	select PCIE_ROCKCHIP	help	  Say Y here if you want internal PCI support on Rockchip SoC.	  There is 1 internal PCIe port available to support GEN2 with	  4 slots. config PCIE_ROCKCHIP_EP	bool "Rockchip PCIe controller (endpoint mode)"	depends on ARCH_ROCKCHIP || COMPILE_TEST	depends on OF	depends on PCI_ENDPOINT	select MFD_SYSCON	select PCIE_ROCKCHIP	help	  Say Y here if you want to support Rockchip PCIe controller in	  endpoint mode on Rockchip SoC. There is 1 internal PCIe port	  available to support GEN2 with 4 slots. config PCI_V3_SEMI	bool "V3 Semiconductor PCI controller"	depends on OF	depends on ARM || COMPILE_TEST	default ARCH_INTEGRATOR_AP config PCI_XGENE	bool "X-Gene PCIe controller"	depends on ARM64 || COMPILE_TEST	depends on OF || (ACPI && PCI_QUIRKS)	help	  Say Y here if you want internal PCI support on APM X-Gene SoC.	  There are 5 internal PCIe ports available. Each port is GEN3 capable	  and have varied lanes from x1 to x8. config PCI_XGENE_MSI	bool "X-Gene v1 PCIe MSI feature"	depends on PCI_XGENE	depends on PCI_MSI	select IRQ_MSI_LIB	default y	help	  Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.	  This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. config PCIE_XILINX	bool "Xilinx AXI PCIe controller"	depends on OF	depends on PCI_MSI	select IRQ_MSI_LIB	help	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe	  Host Bridge driver. config PCIE_XILINX_DMA_PL	bool "Xilinx DMA PL PCIe host bridge support"	depends on ARCH_ZYNQMP || COMPILE_TEST	depends on PCI_MSI	select PCI_HOST_COMMON	select IRQ_MSI_LIB	help	  Say 'Y' here if you want kernel support for the Xilinx PL DMA	  PCIe host bridge. The controller is a Soft IP which can act as	  Root Port. If your system provides Xilinx PCIe host controller	  bridge DMA as Soft IP say 'Y'; if you are not sure, say 'N'. config PCIE_XILINX_NWL	bool "Xilinx NWL PCIe controller"	depends on ARCH_ZYNQMP || COMPILE_TEST	depends on PCI_MSI	select IRQ_MSI_LIB	help	 Say 'Y' here if you want kernel support for Xilinx	 NWL PCIe controller. The controller can act as Root Port	 or End Point. The current option selection will only	 support root port enabling. config PCIE_XILINX_CPM	bool "Xilinx Versal CPM PCI controller"	depends on ARCH_ZYNQMP || COMPILE_TEST	select PCI_HOST_COMMON	help	  Say 'Y' here if you want kernel support for the	  Xilinx Versal CPM host bridge. source "drivers/pci/controller/cadence/Kconfig"source "drivers/pci/controller/dwc/Kconfig"source "drivers/pci/controller/mobiveil/Kconfig"source "drivers/pci/controller/plda/Kconfig"endmenu