- Fix mobiveil iomem/phys_addr_t type usage (Lorenzo Pieralisi) - Fix mobiveil missing include file (Lorenzo Pieralisi) - Add mobiveil Kconfig/Makefile support (Lorenzo Pieralisi) * remotes/lorenzo/pci/mobiveil: PCI: mobiveil: Add Kconfig/Makefile entries PCI: mobiveil: Add missing ../pci.h include PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type PCI: mobiveil: Integer overflow in IB_WIN_SIZE
		
			
				
	
	
		
			283 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			283 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 | |
| 
 | |
| config PCI_AARDVARK
 | |
| 	bool "Aardvark PCIe controller"
 | |
| 	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
 | |
| 	depends on OF
 | |
| 	depends on PCI_MSI_IRQ_DOMAIN
 | |
| 	help
 | |
| 	 Add support for Aardvark 64bit PCIe Host Controller. This
 | |
| 	 controller is part of the South Bridge of the Marvel Armada
 | |
| 	 3700 SoC.
 | |
| 
 | |
| menu "Cadence PCIe controllers support"
 | |
| 
 | |
| config PCIE_CADENCE
 | |
| 	bool
 | |
| 
 | |
| config PCIE_CADENCE_HOST
 | |
| 	bool "Cadence PCIe host controller"
 | |
| 	depends on OF
 | |
| 	depends on PCI
 | |
| 	select IRQ_DOMAIN
 | |
| 	select PCIE_CADENCE
 | |
| 	help
 | |
| 	  Say Y here if you want to support the Cadence PCIe controller in host
 | |
| 	  mode. This PCIe controller may be embedded into many different vendors
 | |
| 	  SoCs.
 | |
| 
 | |
| config PCIE_CADENCE_EP
 | |
| 	bool "Cadence PCIe endpoint controller"
 | |
| 	depends on OF
 | |
| 	depends on PCI_ENDPOINT
 | |
| 	select PCIE_CADENCE
 | |
| 	help
 | |
| 	  Say Y here if you want to support the Cadence PCIe  controller in
 | |
| 	  endpoint mode. This PCIe controller may be embedded into many
 | |
| 	  different vendors SoCs.
 | |
| 
 | |
| endmenu
 | |
| 
 | |
| 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_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
 | |
| 	bool "Renesas R-Car PCIe 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.
 | |
| 
 | |
| config PCI_HOST_COMMON
 | |
| 	bool
 | |
| 	select PCI_ECAM
 | |
| 
 | |
| config PCI_HOST_GENERIC
 | |
| 	bool "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
 | |
| 	help
 | |
| 	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
 | |
| 	  Host Bridge driver.
 | |
| 
 | |
| 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
 | |
| 
 | |
| 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
 | |
| 	bool "Altera PCIe controller"
 | |
| 	depends on ARM || NIOS2 || COMPILE_TEST
 | |
| 	help
 | |
| 	  Say Y here if you want to enable PCIe controller support on Altera
 | |
| 	  FPGA.
 | |
| 
 | |
| config PCIE_ALTERA_MSI
 | |
| 	bool "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
 | |
| 	bool "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_MOBIVEIL
 | |
| 	bool "Mobiveil AXI PCIe controller"
 | |
| 	depends on ARCH_ZYNQMP || COMPILE_TEST
 | |
| 	depends on OF
 | |
| 	depends on PCI_MSI_IRQ_DOMAIN
 | |
| 	help
 | |
| 	  Say Y here if you want to enable support for the Mobiveil AXI PCIe
 | |
| 	  Soft IP. It has up to 8 outbound and inbound windows
 | |
| 	  for address translation and it is a PCIe Gen4 IP.
 | |
| 
 | |
| config PCIE_TANGO_SMP8759
 | |
| 	bool "Tango SMP8759 PCIe controller (DANGEROUS)"
 | |
| 	depends on ARCH_TANGO && PCI_MSI && OF
 | |
| 	depends on BROKEN
 | |
| 	select PCI_HOST_COMMON
 | |
| 	help
 | |
| 	  Say Y here to enable PCIe controller support for Sigma Designs
 | |
| 	  Tango SMP8759-based systems.
 | |
| 
 | |
| 	  Note: The SMP8759 controller multiplexes PCI config and MMIO
 | |
| 	  accesses, and Linux doesn't provide a way to serialize them.
 | |
| 	  This can lead to data corruption if drivers perform concurrent
 | |
| 	  config and MMIO accesses.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| source "drivers/pci/controller/dwc/Kconfig"
 | |
| endmenu
 |