forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
379 lines
12 KiB
379 lines
12 KiB
# 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 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 |
|
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 |
|
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 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 |
|
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_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) |
|
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 |
|
tristate "MESON PCIe controller" |
|
depends on PCI_MSI_IRQ_DOMAIN |
|
default m if ARCH_MESON |
|
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 |
|
|
|
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
|
|
|