162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_cimenu "DesignWare-based PCIe controllers" 462306a36Sopenharmony_ci depends on PCI 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig PCIE_DW 762306a36Sopenharmony_ci bool 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciconfig PCIE_DW_HOST 1062306a36Sopenharmony_ci bool 1162306a36Sopenharmony_ci select PCIE_DW 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciconfig PCIE_DW_EP 1462306a36Sopenharmony_ci bool 1562306a36Sopenharmony_ci select PCIE_DW 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciconfig PCIE_AL 1862306a36Sopenharmony_ci bool "Amazon Annapurna Labs PCIe controller" 1962306a36Sopenharmony_ci depends on OF && (ARM64 || COMPILE_TEST) 2062306a36Sopenharmony_ci depends on PCI_MSI 2162306a36Sopenharmony_ci select PCIE_DW_HOST 2262306a36Sopenharmony_ci select PCI_ECAM 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci Say Y here to enable support of the Amazon's Annapurna Labs PCIe 2562306a36Sopenharmony_ci controller IP on Amazon SoCs. The PCIe controller uses the DesignWare 2662306a36Sopenharmony_ci core plus Annapurna Labs proprietary hardware wrappers. This is 2762306a36Sopenharmony_ci required only for DT-based platforms. ACPI platforms with the 2862306a36Sopenharmony_ci Annapurna Labs PCIe controller don't need to enable this. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciconfig PCI_MESON 3162306a36Sopenharmony_ci tristate "Amlogic Meson PCIe controller" 3262306a36Sopenharmony_ci default m if ARCH_MESON 3362306a36Sopenharmony_ci depends on PCI_MSI 3462306a36Sopenharmony_ci select PCIE_DW_HOST 3562306a36Sopenharmony_ci help 3662306a36Sopenharmony_ci Say Y here if you want to enable PCI controller support on Amlogic 3762306a36Sopenharmony_ci SoCs. The PCI controller on Amlogic is based on DesignWare hardware 3862306a36Sopenharmony_ci and therefore the driver re-uses the DesignWare core functions to 3962306a36Sopenharmony_ci implement the driver. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig PCIE_ARTPEC6 4262306a36Sopenharmony_ci bool 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciconfig PCIE_ARTPEC6_HOST 4562306a36Sopenharmony_ci bool "Axis ARTPEC-6 PCIe controller (host mode)" 4662306a36Sopenharmony_ci depends on MACH_ARTPEC6 || COMPILE_TEST 4762306a36Sopenharmony_ci depends on PCI_MSI 4862306a36Sopenharmony_ci select PCIE_DW_HOST 4962306a36Sopenharmony_ci select PCIE_ARTPEC6 5062306a36Sopenharmony_ci help 5162306a36Sopenharmony_ci Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 5262306a36Sopenharmony_ci host mode. This uses the DesignWare core. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig PCIE_ARTPEC6_EP 5562306a36Sopenharmony_ci bool "Axis ARTPEC-6 PCIe controller (endpoint mode)" 5662306a36Sopenharmony_ci depends on MACH_ARTPEC6 || COMPILE_TEST 5762306a36Sopenharmony_ci depends on PCI_ENDPOINT 5862306a36Sopenharmony_ci select PCIE_DW_EP 5962306a36Sopenharmony_ci select PCIE_ARTPEC6 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci Enables support for the PCIe controller in the ARTPEC-6 SoC to work in 6262306a36Sopenharmony_ci endpoint mode. This uses the DesignWare core. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciconfig PCIE_BT1 6562306a36Sopenharmony_ci tristate "Baikal-T1 PCIe controller" 6662306a36Sopenharmony_ci depends on MIPS_BAIKAL_T1 || COMPILE_TEST 6762306a36Sopenharmony_ci depends on PCI_MSI 6862306a36Sopenharmony_ci select PCIE_DW_HOST 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Enables support for the PCIe controller in the Baikal-T1 SoC to work 7162306a36Sopenharmony_ci in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig PCI_IMX6 7462306a36Sopenharmony_ci bool 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciconfig PCI_IMX6_HOST 7762306a36Sopenharmony_ci bool "Freescale i.MX6/7/8 PCIe controller (host mode)" 7862306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 7962306a36Sopenharmony_ci depends on PCI_MSI 8062306a36Sopenharmony_ci select PCIE_DW_HOST 8162306a36Sopenharmony_ci select PCI_IMX6 8262306a36Sopenharmony_ci help 8362306a36Sopenharmony_ci Enables support for the PCIe controller in the i.MX SoCs to 8462306a36Sopenharmony_ci work in Root Complex mode. The PCI controller on i.MX is based 8562306a36Sopenharmony_ci on DesignWare hardware and therefore the driver re-uses the 8662306a36Sopenharmony_ci DesignWare core functions to implement the driver. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig PCI_IMX6_EP 8962306a36Sopenharmony_ci bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)" 9062306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 9162306a36Sopenharmony_ci depends on PCI_ENDPOINT 9262306a36Sopenharmony_ci select PCIE_DW_EP 9362306a36Sopenharmony_ci select PCI_IMX6 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci Enables support for the PCIe controller in the i.MX SoCs to 9662306a36Sopenharmony_ci work in endpoint mode. The PCI controller on i.MX is based 9762306a36Sopenharmony_ci on DesignWare hardware and therefore the driver re-uses the 9862306a36Sopenharmony_ci DesignWare core functions to implement the driver. 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciconfig PCI_LAYERSCAPE 10162306a36Sopenharmony_ci bool "Freescale Layerscape PCIe controller (host mode)" 10262306a36Sopenharmony_ci depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 10362306a36Sopenharmony_ci depends on PCI_MSI 10462306a36Sopenharmony_ci select PCIE_DW_HOST 10562306a36Sopenharmony_ci select MFD_SYSCON 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Say Y here if you want to enable PCIe controller support on Layerscape 10862306a36Sopenharmony_ci SoCs to work in Host mode. 10962306a36Sopenharmony_ci This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 11062306a36Sopenharmony_ci determines which PCIe controller works in EP mode and which PCIe 11162306a36Sopenharmony_ci controller works in RC mode. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig PCI_LAYERSCAPE_EP 11462306a36Sopenharmony_ci bool "Freescale Layerscape PCIe controller (endpoint mode)" 11562306a36Sopenharmony_ci depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) 11662306a36Sopenharmony_ci depends on PCI_ENDPOINT 11762306a36Sopenharmony_ci select PCIE_DW_EP 11862306a36Sopenharmony_ci help 11962306a36Sopenharmony_ci Say Y here if you want to enable PCIe controller support on Layerscape 12062306a36Sopenharmony_ci SoCs to work in Endpoint mode. 12162306a36Sopenharmony_ci This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] 12262306a36Sopenharmony_ci determines which PCIe controller works in EP mode and which PCIe 12362306a36Sopenharmony_ci controller works in RC mode. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciconfig PCI_HISI 12662306a36Sopenharmony_ci depends on OF && (ARM64 || COMPILE_TEST) 12762306a36Sopenharmony_ci bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller" 12862306a36Sopenharmony_ci depends on PCI_MSI 12962306a36Sopenharmony_ci select PCIE_DW_HOST 13062306a36Sopenharmony_ci select PCI_HOST_COMMON 13162306a36Sopenharmony_ci help 13262306a36Sopenharmony_ci Say Y here if you want PCIe controller support on HiSilicon 13362306a36Sopenharmony_ci Hip05 and Hip06 SoCs 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciconfig PCIE_KIRIN 13662306a36Sopenharmony_ci depends on OF && (ARM64 || COMPILE_TEST) 13762306a36Sopenharmony_ci tristate "HiSilicon Kirin PCIe controller" 13862306a36Sopenharmony_ci depends on PCI_MSI 13962306a36Sopenharmony_ci select PCIE_DW_HOST 14062306a36Sopenharmony_ci select REGMAP_MMIO 14162306a36Sopenharmony_ci help 14262306a36Sopenharmony_ci Say Y here if you want PCIe controller support 14362306a36Sopenharmony_ci on HiSilicon Kirin series SoCs. 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ciconfig PCIE_HISI_STB 14662306a36Sopenharmony_ci bool "HiSilicon STB PCIe controller" 14762306a36Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 14862306a36Sopenharmony_ci depends on PCI_MSI 14962306a36Sopenharmony_ci select PCIE_DW_HOST 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci Say Y here if you want PCIe controller support on HiSilicon STB SoCs 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ciconfig PCIE_INTEL_GW 15462306a36Sopenharmony_ci bool "Intel Gateway PCIe controller " 15562306a36Sopenharmony_ci depends on OF && (X86 || COMPILE_TEST) 15662306a36Sopenharmony_ci depends on PCI_MSI 15762306a36Sopenharmony_ci select PCIE_DW_HOST 15862306a36Sopenharmony_ci help 15962306a36Sopenharmony_ci Say 'Y' here to enable PCIe Host controller support on Intel 16062306a36Sopenharmony_ci Gateway SoCs. 16162306a36Sopenharmony_ci The PCIe controller uses the DesignWare core plus Intel-specific 16262306a36Sopenharmony_ci hardware wrappers. 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciconfig PCIE_KEEMBAY 16562306a36Sopenharmony_ci bool 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ciconfig PCIE_KEEMBAY_HOST 16862306a36Sopenharmony_ci bool "Intel Keem Bay PCIe controller (host mode)" 16962306a36Sopenharmony_ci depends on ARCH_KEEMBAY || COMPILE_TEST 17062306a36Sopenharmony_ci depends on PCI_MSI 17162306a36Sopenharmony_ci select PCIE_DW_HOST 17262306a36Sopenharmony_ci select PCIE_KEEMBAY 17362306a36Sopenharmony_ci help 17462306a36Sopenharmony_ci Say 'Y' here to enable support for the PCIe controller in Keem Bay 17562306a36Sopenharmony_ci to work in host mode. 17662306a36Sopenharmony_ci The PCIe controller is based on DesignWare Hardware and uses 17762306a36Sopenharmony_ci DesignWare core functions. 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciconfig PCIE_KEEMBAY_EP 18062306a36Sopenharmony_ci bool "Intel Keem Bay PCIe controller (endpoint mode)" 18162306a36Sopenharmony_ci depends on ARCH_KEEMBAY || COMPILE_TEST 18262306a36Sopenharmony_ci depends on PCI_MSI 18362306a36Sopenharmony_ci depends on PCI_ENDPOINT 18462306a36Sopenharmony_ci select PCIE_DW_EP 18562306a36Sopenharmony_ci select PCIE_KEEMBAY 18662306a36Sopenharmony_ci help 18762306a36Sopenharmony_ci Say 'Y' here to enable support for the PCIe controller in Keem Bay 18862306a36Sopenharmony_ci to work in endpoint mode. 18962306a36Sopenharmony_ci The PCIe controller is based on DesignWare Hardware and uses 19062306a36Sopenharmony_ci DesignWare core functions. 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ciconfig PCIE_ARMADA_8K 19362306a36Sopenharmony_ci bool "Marvell Armada-8K PCIe controller" 19462306a36Sopenharmony_ci depends on ARCH_MVEBU || COMPILE_TEST 19562306a36Sopenharmony_ci depends on PCI_MSI 19662306a36Sopenharmony_ci select PCIE_DW_HOST 19762306a36Sopenharmony_ci help 19862306a36Sopenharmony_ci Say Y here if you want to enable PCIe controller support on 19962306a36Sopenharmony_ci Armada-8K SoCs. The PCIe controller on Armada-8K is based on 20062306a36Sopenharmony_ci DesignWare hardware and therefore the driver re-uses the 20162306a36Sopenharmony_ci DesignWare core functions to implement the driver. 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ciconfig PCIE_TEGRA194 20462306a36Sopenharmony_ci tristate 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciconfig PCIE_TEGRA194_HOST 20762306a36Sopenharmony_ci tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)" 20862306a36Sopenharmony_ci depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 20962306a36Sopenharmony_ci depends on PCI_MSI 21062306a36Sopenharmony_ci select PCIE_DW_HOST 21162306a36Sopenharmony_ci select PHY_TEGRA194_P2U 21262306a36Sopenharmony_ci select PCIE_TEGRA194 21362306a36Sopenharmony_ci help 21462306a36Sopenharmony_ci Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 21562306a36Sopenharmony_ci work in host mode. There are two instances of PCIe controllers in 21662306a36Sopenharmony_ci Tegra194. This controller can work either as EP or RC. In order to 21762306a36Sopenharmony_ci enable host-specific features PCIE_TEGRA194_HOST must be selected and 21862306a36Sopenharmony_ci in order to enable device-specific features PCIE_TEGRA194_EP must be 21962306a36Sopenharmony_ci selected. This uses the DesignWare core. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ciconfig PCIE_TEGRA194_EP 22262306a36Sopenharmony_ci tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)" 22362306a36Sopenharmony_ci depends on ARCH_TEGRA_194_SOC || COMPILE_TEST 22462306a36Sopenharmony_ci depends on PCI_ENDPOINT 22562306a36Sopenharmony_ci select PCIE_DW_EP 22662306a36Sopenharmony_ci select PHY_TEGRA194_P2U 22762306a36Sopenharmony_ci select PCIE_TEGRA194 22862306a36Sopenharmony_ci help 22962306a36Sopenharmony_ci Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to 23062306a36Sopenharmony_ci work in endpoint mode. There are two instances of PCIe controllers in 23162306a36Sopenharmony_ci Tegra194. This controller can work either as EP or RC. In order to 23262306a36Sopenharmony_ci enable host-specific features PCIE_TEGRA194_HOST must be selected and 23362306a36Sopenharmony_ci in order to enable device-specific features PCIE_TEGRA194_EP must be 23462306a36Sopenharmony_ci selected. This uses the DesignWare core. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ciconfig PCIE_DW_PLAT 23762306a36Sopenharmony_ci bool 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ciconfig PCIE_DW_PLAT_HOST 24062306a36Sopenharmony_ci bool "Platform bus based DesignWare PCIe controller (host mode)" 24162306a36Sopenharmony_ci depends on PCI_MSI 24262306a36Sopenharmony_ci select PCIE_DW_HOST 24362306a36Sopenharmony_ci select PCIE_DW_PLAT 24462306a36Sopenharmony_ci help 24562306a36Sopenharmony_ci Enables support for the PCIe controller in the Designware IP to 24662306a36Sopenharmony_ci work in host mode. There are two instances of PCIe controller in 24762306a36Sopenharmony_ci Designware IP. 24862306a36Sopenharmony_ci This controller can work either as EP or RC. In order to enable 24962306a36Sopenharmony_ci host-specific features PCIE_DW_PLAT_HOST must be selected and in 25062306a36Sopenharmony_ci order to enable device-specific features PCI_DW_PLAT_EP must be 25162306a36Sopenharmony_ci selected. 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciconfig PCIE_DW_PLAT_EP 25462306a36Sopenharmony_ci bool "Platform bus based DesignWare PCIe controller (endpoint mode)" 25562306a36Sopenharmony_ci depends on PCI && PCI_MSI 25662306a36Sopenharmony_ci depends on PCI_ENDPOINT 25762306a36Sopenharmony_ci select PCIE_DW_EP 25862306a36Sopenharmony_ci select PCIE_DW_PLAT 25962306a36Sopenharmony_ci help 26062306a36Sopenharmony_ci Enables support for the PCIe controller in the Designware IP to 26162306a36Sopenharmony_ci work in endpoint mode. There are two instances of PCIe controller 26262306a36Sopenharmony_ci in Designware IP. 26362306a36Sopenharmony_ci This controller can work either as EP or RC. In order to enable 26462306a36Sopenharmony_ci host-specific features PCIE_DW_PLAT_HOST must be selected and in 26562306a36Sopenharmony_ci order to enable device-specific features PCI_DW_PLAT_EP must be 26662306a36Sopenharmony_ci selected. 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciconfig PCIE_QCOM 26962306a36Sopenharmony_ci bool "Qualcomm PCIe controller (host mode)" 27062306a36Sopenharmony_ci depends on OF && (ARCH_QCOM || COMPILE_TEST) 27162306a36Sopenharmony_ci depends on PCI_MSI 27262306a36Sopenharmony_ci select PCIE_DW_HOST 27362306a36Sopenharmony_ci select CRC8 27462306a36Sopenharmony_ci help 27562306a36Sopenharmony_ci Say Y here to enable PCIe controller support on Qualcomm SoCs. The 27662306a36Sopenharmony_ci PCIe controller uses the DesignWare core plus Qualcomm-specific 27762306a36Sopenharmony_ci hardware wrappers. 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciconfig PCIE_QCOM_EP 28062306a36Sopenharmony_ci tristate "Qualcomm PCIe controller (endpoint mode)" 28162306a36Sopenharmony_ci depends on OF && (ARCH_QCOM || COMPILE_TEST) 28262306a36Sopenharmony_ci depends on PCI_ENDPOINT 28362306a36Sopenharmony_ci select PCIE_DW_EP 28462306a36Sopenharmony_ci help 28562306a36Sopenharmony_ci Say Y here to enable support for the PCIe controllers on Qualcomm SoCs 28662306a36Sopenharmony_ci to work in endpoint mode. The PCIe controller uses the DesignWare core 28762306a36Sopenharmony_ci plus Qualcomm-specific hardware wrappers. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciconfig PCIE_ROCKCHIP_DW_HOST 29062306a36Sopenharmony_ci bool "Rockchip DesignWare PCIe controller" 29162306a36Sopenharmony_ci select PCIE_DW 29262306a36Sopenharmony_ci select PCIE_DW_HOST 29362306a36Sopenharmony_ci depends on PCI_MSI 29462306a36Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 29562306a36Sopenharmony_ci depends on OF 29662306a36Sopenharmony_ci help 29762306a36Sopenharmony_ci Enables support for the DesignWare PCIe controller in the 29862306a36Sopenharmony_ci Rockchip SoC except RK3399. 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ciconfig PCI_EXYNOS 30162306a36Sopenharmony_ci tristate "Samsung Exynos PCIe controller" 30262306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 30362306a36Sopenharmony_ci depends on PCI_MSI 30462306a36Sopenharmony_ci select PCIE_DW_HOST 30562306a36Sopenharmony_ci help 30662306a36Sopenharmony_ci Enables support for the PCIe controller in the Samsung Exynos SoCs 30762306a36Sopenharmony_ci to work in host mode. The PCI controller is based on the DesignWare 30862306a36Sopenharmony_ci hardware and therefore the driver re-uses the DesignWare core 30962306a36Sopenharmony_ci functions to implement the driver. 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ciconfig PCIE_FU740 31262306a36Sopenharmony_ci bool "SiFive FU740 PCIe controller" 31362306a36Sopenharmony_ci depends on PCI_MSI 31462306a36Sopenharmony_ci depends on SOC_SIFIVE || COMPILE_TEST 31562306a36Sopenharmony_ci select PCIE_DW_HOST 31662306a36Sopenharmony_ci help 31762306a36Sopenharmony_ci Say Y here if you want PCIe controller support for the SiFive 31862306a36Sopenharmony_ci FU740. 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ciconfig PCIE_UNIPHIER 32162306a36Sopenharmony_ci bool "Socionext UniPhier PCIe controller (host mode)" 32262306a36Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 32362306a36Sopenharmony_ci depends on OF && HAS_IOMEM 32462306a36Sopenharmony_ci depends on PCI_MSI 32562306a36Sopenharmony_ci select PCIE_DW_HOST 32662306a36Sopenharmony_ci help 32762306a36Sopenharmony_ci Say Y here if you want PCIe host controller support on UniPhier SoCs. 32862306a36Sopenharmony_ci This driver supports LD20 and PXs3 SoCs. 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ciconfig PCIE_UNIPHIER_EP 33162306a36Sopenharmony_ci bool "Socionext UniPhier PCIe controller (endpoint mode)" 33262306a36Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 33362306a36Sopenharmony_ci depends on OF && HAS_IOMEM 33462306a36Sopenharmony_ci depends on PCI_ENDPOINT 33562306a36Sopenharmony_ci select PCIE_DW_EP 33662306a36Sopenharmony_ci help 33762306a36Sopenharmony_ci Say Y here if you want PCIe endpoint controller support on 33862306a36Sopenharmony_ci UniPhier SoCs. This driver supports Pro5 SoC. 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ciconfig PCIE_SPEAR13XX 34162306a36Sopenharmony_ci bool "STMicroelectronics SPEAr PCIe controller" 34262306a36Sopenharmony_ci depends on ARCH_SPEAR13XX || COMPILE_TEST 34362306a36Sopenharmony_ci depends on PCI_MSI 34462306a36Sopenharmony_ci select PCIE_DW_HOST 34562306a36Sopenharmony_ci help 34662306a36Sopenharmony_ci Say Y here if you want PCIe support on SPEAr13XX SoCs. 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ciconfig PCI_DRA7XX 34962306a36Sopenharmony_ci tristate 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ciconfig PCI_DRA7XX_HOST 35262306a36Sopenharmony_ci tristate "TI DRA7xx PCIe controller (host mode)" 35362306a36Sopenharmony_ci depends on SOC_DRA7XX || COMPILE_TEST 35462306a36Sopenharmony_ci depends on OF && HAS_IOMEM && TI_PIPE3 35562306a36Sopenharmony_ci depends on PCI_MSI 35662306a36Sopenharmony_ci select PCIE_DW_HOST 35762306a36Sopenharmony_ci select PCI_DRA7XX 35862306a36Sopenharmony_ci default y if SOC_DRA7XX 35962306a36Sopenharmony_ci help 36062306a36Sopenharmony_ci Enables support for the PCIe controller in the DRA7xx SoC to work in 36162306a36Sopenharmony_ci host mode. There are two instances of PCIe controller in DRA7xx. 36262306a36Sopenharmony_ci This controller can work either as EP or RC. In order to enable 36362306a36Sopenharmony_ci host-specific features PCI_DRA7XX_HOST must be selected and in order 36462306a36Sopenharmony_ci to enable device-specific features PCI_DRA7XX_EP must be selected. 36562306a36Sopenharmony_ci This uses the DesignWare core. 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ciconfig PCI_DRA7XX_EP 36862306a36Sopenharmony_ci tristate "TI DRA7xx PCIe controller (endpoint mode)" 36962306a36Sopenharmony_ci depends on SOC_DRA7XX || COMPILE_TEST 37062306a36Sopenharmony_ci depends on OF && HAS_IOMEM && TI_PIPE3 37162306a36Sopenharmony_ci depends on PCI_ENDPOINT 37262306a36Sopenharmony_ci select PCIE_DW_EP 37362306a36Sopenharmony_ci select PCI_DRA7XX 37462306a36Sopenharmony_ci help 37562306a36Sopenharmony_ci Enables support for the PCIe controller in the DRA7xx SoC to work in 37662306a36Sopenharmony_ci endpoint mode. There are two instances of PCIe controller in DRA7xx. 37762306a36Sopenharmony_ci This controller can work either as EP or RC. In order to enable 37862306a36Sopenharmony_ci host-specific features PCI_DRA7XX_HOST must be selected and in order 37962306a36Sopenharmony_ci to enable device-specific features PCI_DRA7XX_EP must be selected. 38062306a36Sopenharmony_ci This uses the DesignWare core. 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ciconfig PCI_KEYSTONE 38362306a36Sopenharmony_ci bool 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ciconfig PCI_KEYSTONE_HOST 38662306a36Sopenharmony_ci bool "TI Keystone PCIe controller (host mode)" 38762306a36Sopenharmony_ci depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 38862306a36Sopenharmony_ci depends on PCI_MSI 38962306a36Sopenharmony_ci select PCIE_DW_HOST 39062306a36Sopenharmony_ci select PCI_KEYSTONE 39162306a36Sopenharmony_ci help 39262306a36Sopenharmony_ci Enables support for the PCIe controller in the Keystone SoC to 39362306a36Sopenharmony_ci work in host mode. The PCI controller on Keystone is based on 39462306a36Sopenharmony_ci DesignWare hardware and therefore the driver re-uses the 39562306a36Sopenharmony_ci DesignWare core functions to implement the driver. 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ciconfig PCI_KEYSTONE_EP 39862306a36Sopenharmony_ci bool "TI Keystone PCIe controller (endpoint mode)" 39962306a36Sopenharmony_ci depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 40062306a36Sopenharmony_ci depends on PCI_ENDPOINT 40162306a36Sopenharmony_ci select PCIE_DW_EP 40262306a36Sopenharmony_ci select PCI_KEYSTONE 40362306a36Sopenharmony_ci help 40462306a36Sopenharmony_ci Enables support for the PCIe controller in the Keystone SoC to 40562306a36Sopenharmony_ci work in endpoint mode. The PCI controller on Keystone is based 40662306a36Sopenharmony_ci on DesignWare hardware and therefore the driver re-uses the 40762306a36Sopenharmony_ci DesignWare core functions to implement the driver. 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ciconfig PCIE_VISCONTI_HOST 41062306a36Sopenharmony_ci bool "Toshiba Visconti PCIe controller" 41162306a36Sopenharmony_ci depends on ARCH_VISCONTI || COMPILE_TEST 41262306a36Sopenharmony_ci depends on PCI_MSI 41362306a36Sopenharmony_ci select PCIE_DW_HOST 41462306a36Sopenharmony_ci help 41562306a36Sopenharmony_ci Say Y here if you want PCIe controller support on Toshiba Visconti SoC. 41662306a36Sopenharmony_ci This driver supports TMPV7708 SoC. 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ciendmenu 419