mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 00:04:01 -04:00
Pull PCI updates from Bjorn Helgaas: "Enumeration: - Refine PCI support check in pcibios_init() (Adrian-Ken Rueegsegger) - Provide common functions for ECAM mapping (Jayachandran C) - Allow all PCIe services on non-ACPI host bridges (Jon Derrick) - Remove return values from pcie_port_platform_notify() and relatives (Jon Derrick) - Widen portdrv service type from 4 bits to 8 bits (Keith Busch) - Add Downstream Port Containment portdrv service type (Keith Busch) - Add Downstream Port Containment driver (Keith Busch) Resource management: - Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs (Alex Williamson) - Supply CPU physical address (not bus address) to iomem_is_exclusive() (Bjorn Helgaas) - alpha: Call iomem_is_exclusive() for IORESOURCE_MEM, but not IORESOURCE_IO (Bjorn Helgaas) - Mark Broadwell-EP Home Agent 1 as having non-compliant BARs (Prarit Bhargava) - Disable all BAR sizing for devices with non-compliant BARs (Prarit Bhargava) - Move PCI I/O space management from OF to PCI core code (Tomasz Nowicki) PCI device hotplug: - acpiphp_ibm: Avoid uninitialized variable reference (Dan Carpenter) - Use cached copy of PCI_EXP_SLTCAP_HPC bit (Lukas Wunner) Virtualization: - Mark Intel i40e NIC INTx masking as broken (Alex Williamson) - Reverse standard ACS vs device-specific ACS enabling (Alex Williamson) - Work around Intel Sunrise Point PCH incorrect ACS capability (Alex Williamson) IOMMU: - Add pci_add_dma_alias() to abstract implementation (Bjorn Helgaas) - Move informational printk to pci_add_dma_alias() (Bjorn Helgaas) - Add support for multiple DMA aliases (Jacek Lawrynowicz) - Add DMA alias quirk for mic_x200_dma (Jacek Lawrynowicz) Thunderbolt: - Fix double free of drom buffer (Andreas Noever) - Add Intel Thunderbolt device IDs (Lukas Wunner) - Fix typos and magic number (Lukas Wunner) - Support 1st gen Light Ridge controller (Lukas Wunner) Generic host bridge driver: - Use generic ECAM API (Jayachandran C) Cavium ThunderX host bridge driver: - Don't clobber read-only bits in bridge config registers (David Daney) - Use generic ECAM API (Jayachandran C) Freescale i.MX6 host bridge driver: - Use enum instead of bool for variant indicator (Andrey Smirnov) - Implement reset sequence for i.MX6+ (Andrey Smirnov) - Factor out ref clock enable (Bjorn Helgaas) - Add initial imx6sx support (Christoph Fritz) - Add reset-gpio-active-high boolean property to DT (Petr Štetiar) - Add DT property for link gen, default to Gen1 (Tim Harvey) - dts: Specify imx6qp version of PCIe core (Andrey Smirnov) - dts: Fix PCIe reset GPIO polarity on Toradex Apalis Ixora (Petr Štetiar) Marvell Armada host bridge driver: - add DT binding for Marvell Armada 7K/8K PCIe controller (Thomas Petazzoni) - Add driver for Marvell Armada 7K/8K PCIe controller (Thomas Petazzoni) Marvell MVEBU host bridge driver: - Constify mvebu_pcie_pm_ops structure (Jisheng Zhang) - Use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS for mvebu_pcie_pm_ops (Jisheng Zhang) Microsoft Hyper-V host bridge driver: - Report resources release after stopping the bus (Vitaly Kuznetsov) - Add explicit barriers to config space access (Vitaly Kuznetsov) Renesas R-Car host bridge driver: - Select PCI_MSI_IRQ_DOMAIN (Arnd Bergmann) Synopsys DesignWare host bridge driver: - Remove incorrect RC memory base/limit configuration (Gabriele Paoloni) - Move Root Complex setup code to dw_pcie_setup_rc() (Jisheng Zhang) TI Keystone host bridge driver: - Add error IRQ handler (Murali Karicheri) - Remove unnecessary goto statement (Murali Karicheri) Miscellaneous: - Fix spelling errors (Colin Ian King)" * tag 'pci-v4.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (48 commits) PCI: Disable all BAR sizing for devices with non-compliant BARs x86/PCI: Mark Broadwell-EP Home Agent 1 as having non-compliant BARs PCI: Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs PCI, of: Move PCI I/O space management to PCI core code PCI: generic, thunder: Use generic ECAM API PCI: Provide common functions for ECAM mapping PCI: hv: Add explicit barriers to config space access PCI: Use cached copy of PCI_EXP_SLTCAP_HPC bit PCI: Add Downstream Port Containment driver PCI: Add Downstream Port Containment portdrv service type PCI: Widen portdrv service type from 4 bits to 8 bits PCI: designware: Remove incorrect RC memory base/limit configuration PCI: hv: Report resources release after stopping the bus ARM: dts: imx6qp: Specify imx6qp version of PCIe core PCI: imx6: Implement reset sequence for i.MX6+ PCI: imx6: Use enum instead of bool for variant indicator PCI: thunder: Don't clobber read-only bits in bridge config registers thunderbolt: Fix double free of drom buffer PCI: rcar: Select PCI_MSI_IRQ_DOMAIN PCI: armada: Add driver for Marvell Armada 7K/8K PCIe controller ...
249 lines
6.8 KiB
Plaintext
249 lines
6.8 KiB
Plaintext
menu "PCI host controller drivers"
|
|
depends on PCI
|
|
|
|
config PCI_DRA7XX
|
|
bool "TI DRA7xx PCIe controller"
|
|
select PCIE_DW
|
|
depends on OF && HAS_IOMEM && TI_PIPE3
|
|
help
|
|
Enables support for the PCIe controller in the DRA7xx SoC. There
|
|
are two instances of PCIe controller in DRA7xx. This controller can
|
|
act both as EP and RC. This reuses the Designware core.
|
|
|
|
config PCI_MVEBU
|
|
bool "Marvell EBU PCIe controller"
|
|
depends on ARCH_MVEBU || ARCH_DOVE
|
|
depends on ARM
|
|
depends on OF
|
|
|
|
|
|
config PCIE_XILINX_NWL
|
|
bool "NWL PCIe Core"
|
|
depends on ARCH_ZYNQMP
|
|
select PCI_MSI_IRQ_DOMAIN if PCI_MSI
|
|
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_DW_PLAT
|
|
bool "Platform bus based DesignWare PCIe Controller"
|
|
select PCIE_DW
|
|
---help---
|
|
This selects the DesignWare PCIe controller support. Select this if
|
|
you have a PCIe controller on Platform bus.
|
|
|
|
If you have a controller with this interface, say Y or M here.
|
|
|
|
If unsure, say N.
|
|
|
|
config PCIE_DW
|
|
bool
|
|
|
|
config PCI_EXYNOS
|
|
bool "Samsung Exynos PCIe controller"
|
|
depends on SOC_EXYNOS5440
|
|
select PCIEPORTBUS
|
|
select PCIE_DW
|
|
|
|
config PCI_IMX6
|
|
bool "Freescale i.MX6 PCIe controller"
|
|
depends on SOC_IMX6Q
|
|
select PCIEPORTBUS
|
|
select PCIE_DW
|
|
|
|
config PCI_TEGRA
|
|
bool "NVIDIA Tegra PCIe controller"
|
|
depends on ARCH_TEGRA && !ARM64
|
|
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 ARM
|
|
depends on ARCH_RENESAS || COMPILE_TEST
|
|
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 || (ARM && COMPILE_TEST)
|
|
select PCI_MSI
|
|
select 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 (ARM || ARM64) && OF
|
|
select PCI_HOST_COMMON
|
|
help
|
|
Say Y here if you want to support a simple generic PCI host
|
|
controller, such as the one emulated by kvmtool.
|
|
|
|
config PCIE_SPEAR13XX
|
|
bool "STMicroelectronics SPEAr PCIe controller"
|
|
depends on ARCH_SPEAR13XX
|
|
select PCIEPORTBUS
|
|
select PCIE_DW
|
|
help
|
|
Say Y here if you want PCIe support on SPEAr13XX SoCs.
|
|
|
|
config PCI_KEYSTONE
|
|
bool "TI Keystone PCIe controller"
|
|
depends on ARCH_KEYSTONE
|
|
select PCIE_DW
|
|
select PCIEPORTBUS
|
|
help
|
|
Say Y here if you want to enable PCI controller support on Keystone
|
|
SoCs. The PCI controller on Keystone is based on Designware hardware
|
|
and therefore the driver re-uses the Designware core functions to
|
|
implement the driver.
|
|
|
|
config PCIE_XILINX
|
|
bool "Xilinx AXI PCIe host bridge support"
|
|
depends on ARCH_ZYNQ || MICROBLAZE
|
|
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 ARCH_XGENE
|
|
depends on OF
|
|
select PCIEPORTBUS
|
|
select PCI_MSI_IRQ_DOMAIN if PCI_MSI
|
|
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 && PCI_MSI
|
|
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_LAYERSCAPE
|
|
bool "Freescale Layerscape PCIe controller"
|
|
depends on OF && (ARM || ARCH_LAYERSCAPE)
|
|
select PCIE_DW
|
|
select MFD_SYSCON
|
|
help
|
|
Say Y here if you want PCIe controller support on Layerscape SoCs.
|
|
|
|
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
|
|
select PCI_DOMAINS
|
|
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 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
|
|
depends on OF_PCI
|
|
select PCI_DOMAINS
|
|
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 && PCI_MSI
|
|
select 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_HISI
|
|
depends on OF && ARM64
|
|
bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
|
|
select PCIEPORTBUS
|
|
select PCIE_DW
|
|
help
|
|
Say Y here if you want PCIe controller support on HiSilicon
|
|
Hip05 and Hip06 SoCs
|
|
|
|
config PCIE_QCOM
|
|
bool "Qualcomm PCIe controller"
|
|
depends on ARCH_QCOM && OF
|
|
select PCIE_DW
|
|
select PCIEPORTBUS
|
|
help
|
|
Say Y here to enable PCIe controller support on Qualcomm SoCs. The
|
|
PCIe controller uses the Designware core plus Qualcomm-specific
|
|
hardware wrappers.
|
|
|
|
config PCI_HOST_THUNDER_PEM
|
|
bool "Cavium Thunder PCIe controller to off-chip devices"
|
|
depends on OF && ARM64
|
|
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 OF && ARM64
|
|
select PCI_HOST_COMMON
|
|
help
|
|
Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
|
|
|
|
config PCIE_ARMADA_8K
|
|
bool "Marvell Armada-8K PCIe controller"
|
|
depends on ARCH_MVEBU
|
|
select PCIE_DW
|
|
select PCIEPORTBUS
|
|
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 and therefore the driver re-uses the
|
|
Designware core functions to implement the driver.
|
|
|
|
endmenu
|