272 lines
8.5 KiB
Plaintext
272 lines
8.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "DesignWare PCI Core Support"
|
|
depends on PCI
|
|
|
|
config PCIE_DW
|
|
bool
|
|
|
|
config PCIE_DW_HOST
|
|
bool
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW
|
|
|
|
config PCIE_DW_EP
|
|
bool
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW
|
|
|
|
config PCI_DRA7XX
|
|
bool
|
|
|
|
config PCI_DRA7XX_HOST
|
|
bool "TI DRA7xx PCIe controller Host Mode"
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
depends on OF && HAS_IOMEM && TI_PIPE3
|
|
select PCIE_DW_HOST
|
|
select PCI_DRA7XX
|
|
default y
|
|
help
|
|
Enables support for the PCIe controller in the DRA7xx SoC to work in
|
|
host mode. There are two instances of PCIe controller in DRA7xx.
|
|
This controller can work either as EP or RC. In order to enable
|
|
host-specific features PCI_DRA7XX_HOST must be selected and in order
|
|
to enable device-specific features PCI_DRA7XX_EP must be selected.
|
|
This uses the DesignWare core.
|
|
|
|
config PCI_DRA7XX_EP
|
|
bool "TI DRA7xx PCIe controller Endpoint Mode"
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
|
depends on PCI_ENDPOINT
|
|
depends on OF && HAS_IOMEM && TI_PIPE3
|
|
select PCIE_DW_EP
|
|
select PCI_DRA7XX
|
|
help
|
|
Enables support for the PCIe controller in the DRA7xx SoC to work in
|
|
endpoint mode. There are two instances of PCIe controller in DRA7xx.
|
|
This controller can work either as EP or RC. In order to enable
|
|
host-specific features PCI_DRA7XX_HOST must be selected and in order
|
|
to enable device-specific features PCI_DRA7XX_EP must be selected.
|
|
This uses the DesignWare core.
|
|
|
|
config PCIE_DW_PLAT
|
|
bool
|
|
|
|
config PCIE_DW_PLAT_HOST
|
|
bool "Platform bus based DesignWare PCIe Controller - Host mode"
|
|
depends on PCI && PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCIE_DW_PLAT
|
|
help
|
|
Enables support for the PCIe controller in the Designware IP to
|
|
work in host mode. There are two instances of PCIe controller in
|
|
Designware IP.
|
|
This controller can work either as EP or RC. In order to enable
|
|
host-specific features PCIE_DW_PLAT_HOST must be selected and in
|
|
order to enable device-specific features PCI_DW_PLAT_EP must be
|
|
selected.
|
|
|
|
config PCIE_DW_PLAT_EP
|
|
bool "Platform bus based DesignWare PCIe Controller - Endpoint mode"
|
|
depends on PCI && PCI_MSI_IRQ_DOMAIN
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
select PCIE_DW_PLAT
|
|
help
|
|
Enables support for the PCIe controller in the Designware IP to
|
|
work in endpoint mode. There are two instances of PCIe controller
|
|
in Designware IP.
|
|
This controller can work either as EP or RC. In order to enable
|
|
host-specific features PCIE_DW_PLAT_HOST must be selected and in
|
|
order to enable device-specific features PCI_DW_PLAT_EP must be
|
|
selected.
|
|
|
|
config PCI_EXYNOS
|
|
bool "Samsung Exynos PCIe controller"
|
|
depends on SOC_EXYNOS5440 || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
|
|
config PCI_IMX6
|
|
bool "Freescale i.MX6/7/8 PCIe controller"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
|
|
config PCIE_SPEAR13XX
|
|
bool "STMicroelectronics SPEAr PCIe controller"
|
|
depends on ARCH_SPEAR13XX || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe support on SPEAr13XX SoCs.
|
|
|
|
config PCI_KEYSTONE
|
|
bool
|
|
|
|
config PCI_KEYSTONE_HOST
|
|
bool "PCI Keystone Host Mode"
|
|
depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST)
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCI_KEYSTONE
|
|
default y
|
|
help
|
|
Enables support for the PCIe controller in the Keystone SoC to
|
|
work in host mode. 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 PCI_KEYSTONE_EP
|
|
bool "PCI Keystone Endpoint Mode"
|
|
depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST)
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
select PCI_KEYSTONE
|
|
help
|
|
Enables support for the PCIe controller in the Keystone SoC to
|
|
work in endpoint mode. 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 PCI_LAYERSCAPE
|
|
bool "Freescale Layerscape PCIe controller - Host mode"
|
|
depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select MFD_SYSCON
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on Layerscape
|
|
SoCs to work in Host mode.
|
|
This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
|
|
determines which PCIe controller works in EP mode and which PCIe
|
|
controller works in RC mode.
|
|
|
|
config PCI_LAYERSCAPE_EP
|
|
bool "Freescale Layerscape PCIe controller - Endpoint mode"
|
|
depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
help
|
|
Say Y here if you want to enable PCIe controller support on Layerscape
|
|
SoCs to work in Endpoint mode.
|
|
This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
|
|
determines which PCIe controller works in EP mode and which PCIe
|
|
controller works in RC mode.
|
|
|
|
config PCI_HISI
|
|
depends on OF && (ARM64 || COMPILE_TEST)
|
|
bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCI_HOST_COMMON
|
|
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 OF && (ARCH_QCOM || COMPILE_TEST)
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
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 PCIE_ARMADA_8K
|
|
bool "Marvell Armada-8K PCIe controller"
|
|
depends on ARCH_MVEBU || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
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.
|
|
|
|
config PCIE_ARTPEC6
|
|
bool
|
|
|
|
config PCIE_ARTPEC6_HOST
|
|
bool "Axis ARTPEC-6 PCIe controller Host Mode"
|
|
depends on MACH_ARTPEC6 || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCIE_ARTPEC6
|
|
help
|
|
Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
|
|
host mode. This uses the DesignWare core.
|
|
|
|
config PCIE_ARTPEC6_EP
|
|
bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
|
|
depends on MACH_ARTPEC6 || COMPILE_TEST
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
select PCIE_ARTPEC6
|
|
help
|
|
Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
|
|
endpoint mode. This uses the DesignWare core.
|
|
|
|
config PCIE_KIRIN
|
|
depends on OF && (ARM64 || COMPILE_TEST)
|
|
bool "HiSilicon Kirin series SoCs PCIe controllers"
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe controller support
|
|
on HiSilicon Kirin series SoCs.
|
|
|
|
config PCIE_HISI_STB
|
|
bool "HiSilicon STB SoCs PCIe controllers"
|
|
depends on ARCH_HISI || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe controller support on HiSilicon STB SoCs
|
|
|
|
config PCI_MESON
|
|
bool "MESON PCIe controller"
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want to enable PCI controller support on Amlogic
|
|
SoCs. The PCI controller on Amlogic is based on DesignWare hardware
|
|
and therefore the driver re-uses the DesignWare core functions to
|
|
implement the driver.
|
|
|
|
config PCIE_TEGRA194
|
|
tristate "NVIDIA Tegra194 (and later) PCIe controller"
|
|
depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PHY_TEGRA194_P2U
|
|
help
|
|
Say Y here if you want support for DesignWare core based PCIe host
|
|
controller found in NVIDIA Tegra194 SoC.
|
|
|
|
config PCIE_UNIPHIER
|
|
bool "Socionext UniPhier PCIe controllers"
|
|
depends on ARCH_UNIPHIER || COMPILE_TEST
|
|
depends on OF && HAS_IOMEM
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe controller support on UniPhier SoCs.
|
|
This driver supports LD20 and PXs3 SoCs.
|
|
|
|
config PCIE_AL
|
|
bool "Amazon Annapurna Labs PCIe controller"
|
|
depends on OF && (ARM64 || COMPILE_TEST)
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here to enable support of the Amazon's Annapurna Labs PCIe
|
|
controller IP on Amazon SoCs. The PCIe controller uses the DesignWare
|
|
core plus Annapurna Labs proprietary hardware wrappers. This is
|
|
required only for DT-based platforms. ACPI platforms with the
|
|
Annapurna Labs PCIe controller don't need to enable this.
|
|
|
|
endmenu
|