mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	The Intel IXP4xx PCI controller is only present on Intel IXP4xx
XScale-based network processor SoCs.
Add a dependency on ARCH_IXP4XX, to prevent asking the user about this
driver when configuring a kernel without support for the XScale
processor family.
Link: https://lore.kernel.org/r/6a88e55fe58fc280f4ff1ca83c154e4895b6dcbf.1624972789.git.geert+renesas@glider.be
Fixes: f7821b4934 ("PCI: ixp4xx: Add a new driver for IXP4xx")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
[lorenzo.pieralisi@arm.com: commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
		
	
			
		
			
				
	
	
		
			318 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			318 lines
		
	
	
	
		
			9.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0
 | 
						|
 | 
						|
menu "PCI controller drivers"
 | 
						|
	depends on PCI
 | 
						|
 | 
						|
config PCI_MVEBU
 | 
						|
	bool "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
 | 
						|
 | 
						|
config PCI_AARDVARK
 | 
						|
	tristate "Aardvark PCIe controller"
 | 
						|
	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	select PCI_BRIDGE_EMUL
 | 
						|
	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_XILINX_NWL
 | 
						|
	bool "NWL PCIe Core"
 | 
						|
	depends on ARCH_ZYNQMP || COMPILE_TEST
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	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 PCI_FTPCI100
 | 
						|
	bool "Faraday Technology FTPCI100 PCI controller"
 | 
						|
	depends on OF
 | 
						|
	default ARCH_GEMINI
 | 
						|
 | 
						|
config PCI_IXP4XX
 | 
						|
	bool "Intel IXP4xx PCI controller"
 | 
						|
	depends on ARM && 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 PCI_TEGRA
 | 
						|
	bool "NVIDIA Tegra PCIe controller"
 | 
						|
	depends on ARCH_TEGRA || COMPILE_TEST
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	help
 | 
						|
	  Say Y here if you want support for the PCIe host controller found
 | 
						|
	  on NVIDIA Tegra SoCs.
 | 
						|
 | 
						|
config PCI_RCAR_GEN2
 | 
						|
	bool "Renesas R-Car Gen2 Internal PCI controller"
 | 
						|
	depends on ARCH_RENESAS || COMPILE_TEST
 | 
						|
	depends on ARM
 | 
						|
	help
 | 
						|
	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
 | 
						|
	  There are 3 internal PCI controllers available with a single
 | 
						|
	  built-in EHCI/OHCI host controller present on each one.
 | 
						|
 | 
						|
config PCIE_RCAR_HOST
 | 
						|
	bool "Renesas R-Car PCIe host controller"
 | 
						|
	depends on ARCH_RENESAS || COMPILE_TEST
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	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 endpoint controller"
 | 
						|
	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_HOST_COMMON
 | 
						|
	tristate
 | 
						|
	select PCI_ECAM
 | 
						|
 | 
						|
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_XILINX
 | 
						|
	bool "Xilinx AXI PCIe host bridge support"
 | 
						|
	depends on OF || COMPILE_TEST
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	help
 | 
						|
	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
 | 
						|
	  Host Bridge driver.
 | 
						|
 | 
						|
config PCIE_XILINX_CPM
 | 
						|
	bool "Xilinx Versal CPM host bridge support"
 | 
						|
	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.
 | 
						|
 | 
						|
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_IRQ_DOMAIN
 | 
						|
	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 PCI_V3_SEMI
 | 
						|
	bool "V3 Semiconductor PCI controller"
 | 
						|
	depends on OF
 | 
						|
	depends on ARM || COMPILE_TEST
 | 
						|
	default ARCH_INTEGRATOR_AP
 | 
						|
 | 
						|
config PCI_VERSATILE
 | 
						|
	bool "ARM Versatile PB PCI controller"
 | 
						|
	depends on ARCH_VERSATILE || COMPILE_TEST
 | 
						|
 | 
						|
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 PCIe BCMA bus driver"
 | 
						|
	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_IRQ_DOMAIN
 | 
						|
	default ARCH_BCM_IPROC
 | 
						|
	help
 | 
						|
	  Say Y here if you want to enable MSI support for Broadcom's iProc
 | 
						|
	  PCIe controller
 | 
						|
 | 
						|
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_IRQ_DOMAIN
 | 
						|
	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 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 PCIE_ROCKCHIP
 | 
						|
	bool
 | 
						|
	depends on PCI
 | 
						|
 | 
						|
config PCIE_ROCKCHIP_HOST
 | 
						|
	tristate "Rockchip PCIe host controller"
 | 
						|
	depends on ARCH_ROCKCHIP || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	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 endpoint controller"
 | 
						|
	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 PCIE_MEDIATEK
 | 
						|
	tristate "MediaTek PCIe controller"
 | 
						|
	depends on ARCH_MEDIATEK || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	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_MEDIATEK || COMPILE_TEST
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	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 VMD
 | 
						|
	depends on PCI_MSI && X86_64 && SRCU
 | 
						|
	tristate "Intel Volume Management Device Driver"
 | 
						|
	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 PCIE_BRCMSTB
 | 
						|
	tristate "Broadcom Brcmstb PCIe host controller"
 | 
						|
	depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	depends on PCI_MSI_IRQ_DOMAIN
 | 
						|
	default ARCH_BRCMSTB
 | 
						|
	help
 | 
						|
	  Say Y here to enable PCIe host controller support for
 | 
						|
	  Broadcom STB based SoCs, like the Raspberry Pi 4.
 | 
						|
 | 
						|
config PCI_HYPERV_INTERFACE
 | 
						|
	tristate "Hyper-V PCI Interface"
 | 
						|
	depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
 | 
						|
	help
 | 
						|
	  The Hyper-V PCI Interface is a helper driver allows other drivers to
 | 
						|
	  have a common interface with the Hyper-V PCI frontend driver.
 | 
						|
 | 
						|
config PCI_LOONGSON
 | 
						|
	bool "LOONGSON PCI Controller"
 | 
						|
	depends on MACH_LOONGSON64 || COMPILE_TEST
 | 
						|
	depends on OF
 | 
						|
	depends on PCI_QUIRKS
 | 
						|
	default MACH_LOONGSON64
 | 
						|
	help
 | 
						|
	  Say Y here if you want to enable PCI controller support on
 | 
						|
	  Loongson systems.
 | 
						|
 | 
						|
config PCIE_MICROCHIP_HOST
 | 
						|
	bool "Microchip AXI PCIe host bridge support"
 | 
						|
	depends on PCI_MSI && OF
 | 
						|
	select PCI_MSI_IRQ_DOMAIN
 | 
						|
	select GENERIC_MSI_IRQ_DOMAIN
 | 
						|
	select PCI_HOST_COMMON
 | 
						|
	help
 | 
						|
	  Say Y here if you want kernel to support the Microchip AXI PCIe
 | 
						|
	  Host Bridge driver.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
source "drivers/pci/controller/dwc/Kconfig"
 | 
						|
source "drivers/pci/controller/mobiveil/Kconfig"
 | 
						|
source "drivers/pci/controller/cadence/Kconfig"
 | 
						|
endmenu
 |