389 lines
12 KiB
Plaintext
389 lines
12 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
|
|
select PCIE_DW
|
|
|
|
config PCIE_DW_EP
|
|
bool
|
|
select PCIE_DW
|
|
|
|
config PCI_DRA7XX
|
|
tristate
|
|
|
|
config PCI_DRA7XX_HOST
|
|
tristate "TI DRA7xx PCIe controller Host Mode"
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
|
depends on OF && HAS_IOMEM && TI_PIPE3
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCI_DRA7XX
|
|
default y if SOC_DRA7XX
|
|
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
|
|
tristate "TI DRA7xx PCIe controller Endpoint Mode"
|
|
depends on SOC_DRA7XX || COMPILE_TEST
|
|
depends on OF && HAS_IOMEM && TI_PIPE3
|
|
depends on PCI_ENDPOINT
|
|
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_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
|
|
tristate "Samsung Exynos PCIe controller"
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Enables support for the PCIe controller in the Samsung Exynos SoCs
|
|
to work in host mode. The PCI controller is based on the DesignWare
|
|
hardware and therefore the driver re-uses the DesignWare core
|
|
functions to implement the driver.
|
|
|
|
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 || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCI_KEYSTONE
|
|
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 || 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 PCIE_DW_HOST
|
|
select MFD_SYSCON
|
|
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
|
|
select CRC8
|
|
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_QCOM_EP
|
|
tristate "Qualcomm PCIe controller - Endpoint mode"
|
|
depends on OF && (ARCH_QCOM || COMPILE_TEST)
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
help
|
|
Say Y here to enable support for the PCIe controllers on Qualcomm SoCs
|
|
to work in endpoint mode. 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_ROCKCHIP_DW_HOST
|
|
bool "Rockchip DesignWare PCIe controller"
|
|
select PCIE_DW
|
|
select PCIE_DW_HOST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
depends on OF
|
|
help
|
|
Enables support for the DesignWare PCIe controller in the
|
|
Rockchip SoC except RK3399.
|
|
|
|
config PCIE_INTEL_GW
|
|
bool "Intel Gateway PCIe host controller support"
|
|
depends on OF && (X86 || COMPILE_TEST)
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say 'Y' here to enable PCIe Host controller support on Intel
|
|
Gateway SoCs.
|
|
The PCIe controller uses the DesignWare core plus Intel-specific
|
|
hardware wrappers.
|
|
|
|
config PCIE_KEEMBAY
|
|
bool
|
|
|
|
config PCIE_KEEMBAY_HOST
|
|
bool "Intel Keem Bay PCIe controller - Host mode"
|
|
depends on ARCH_KEEMBAY || COMPILE_TEST
|
|
depends on PCI && PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PCIE_KEEMBAY
|
|
help
|
|
Say 'Y' here to enable support for the PCIe controller in Keem Bay
|
|
to work in host mode.
|
|
The PCIe controller is based on DesignWare Hardware and uses
|
|
DesignWare core functions.
|
|
|
|
config PCIE_KEEMBAY_EP
|
|
bool "Intel Keem Bay PCIe controller - Endpoint mode"
|
|
depends on ARCH_KEEMBAY || COMPILE_TEST
|
|
depends on PCI && PCI_MSI_IRQ_DOMAIN
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
select PCIE_KEEMBAY
|
|
help
|
|
Say 'Y' here to enable support for the PCIe controller in Keem Bay
|
|
to work in endpoint mode.
|
|
The PCIe controller is based on DesignWare Hardware and uses
|
|
DesignWare core functions.
|
|
|
|
config PCIE_KIRIN
|
|
depends on OF && (ARM64 || COMPILE_TEST)
|
|
tristate "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
|
|
tristate "MESON PCIe controller"
|
|
default m if ARCH_MESON
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select REGMAP_MMIO
|
|
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
|
|
|
|
config PCIE_TEGRA194_HOST
|
|
tristate "NVIDIA Tegra194 (and later) PCIe controller - Host Mode"
|
|
depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
select PHY_TEGRA194_P2U
|
|
select PCIE_TEGRA194
|
|
help
|
|
Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
|
|
work in host mode. There are two instances of PCIe controllers in
|
|
Tegra194. This controller can work either as EP or RC. In order to
|
|
enable host-specific features PCIE_TEGRA194_HOST must be selected and
|
|
in order to enable device-specific features PCIE_TEGRA194_EP must be
|
|
selected. This uses the DesignWare core.
|
|
|
|
config PCIE_TEGRA194_EP
|
|
tristate "NVIDIA Tegra194 (and later) PCIe controller - Endpoint Mode"
|
|
depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
select PHY_TEGRA194_P2U
|
|
select PCIE_TEGRA194
|
|
help
|
|
Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
|
|
work in endpoint mode. There are two instances of PCIe controllers in
|
|
Tegra194. This controller can work either as EP or RC. In order to
|
|
enable host-specific features PCIE_TEGRA194_HOST must be selected and
|
|
in order to enable device-specific features PCIE_TEGRA194_EP must be
|
|
selected. This uses the DesignWare core.
|
|
|
|
config PCIE_VISCONTI_HOST
|
|
bool "Toshiba Visconti PCIe controllers"
|
|
depends on ARCH_VISCONTI || COMPILE_TEST
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe controller support on Toshiba Visconti SoC.
|
|
This driver supports TMPV7708 SoC.
|
|
|
|
config PCIE_UNIPHIER
|
|
bool "Socionext UniPhier PCIe host 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 host controller support on UniPhier SoCs.
|
|
This driver supports LD20 and PXs3 SoCs.
|
|
|
|
config PCIE_UNIPHIER_EP
|
|
bool "Socionext UniPhier PCIe endpoint controllers"
|
|
depends on ARCH_UNIPHIER || COMPILE_TEST
|
|
depends on OF && HAS_IOMEM
|
|
depends on PCI_ENDPOINT
|
|
select PCIE_DW_EP
|
|
help
|
|
Say Y here if you want PCIe endpoint controller support on
|
|
UniPhier SoCs. This driver supports Pro5 SoC.
|
|
|
|
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
|
|
select PCI_ECAM
|
|
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.
|
|
|
|
config PCIE_FU740
|
|
bool "SiFive FU740 PCIe host controller"
|
|
depends on PCI_MSI_IRQ_DOMAIN
|
|
depends on SOC_SIFIVE || COMPILE_TEST
|
|
select PCIE_DW_HOST
|
|
help
|
|
Say Y here if you want PCIe controller support for the SiFive
|
|
FU740.
|
|
|
|
endmenu
|