mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	- Fix Mediatek unchecked return value from devm_pci_remap_iospace()
    (Gustavo A. R. Silva)
  - Fix Mediatek endpoint/port matching logic (Honghui Zhang)
  - Change Mediatek Root Port Class Code to PCI_CLASS_BRIDGE_PCI (Honghui
    Zhang)
  - Remove redundant Mediatek PM domain check (Honghui Zhang)
  - Convert Mediatek to pci_host_probe() (Honghui Zhang)
  - Fix Mediatek MSI enablement (Honghui Zhang)
  - Add Mediatek system PM support for MT2712 and MT7622 (Honghui Zhang)
  - Add Mediatek loadable module support (Honghui Zhang)
* remotes/lorenzo/pci/mediatek:
  PCI: mediatek: Add loadable kernel module support
  PCI: mediatek: Add system PM support for MT2712 and MT7622
  PCI: mediatek: Fixup MSI enablement logic by enabling MSI before clocks
  PCI: mediatek: Convert to use pci_host_probe()
  PCI: mediatek: Remove the redundant dev->pm_domain check
  PCI: mediatek: Fix class type for MT7622 to PCI_CLASS_BRIDGE_PCI
  PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic
  PCI: mediatek: Fix unchecked return value
		
	
			
		
			
				
	
	
		
			284 lines
		
	
	
	
		
			8.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			284 lines
		
	
	
	
		
			8.1 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
 | 
						|
	bool "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.
 | 
						|
 | 
						|
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
 | 
						|
	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_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
 |