Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 menu "DesignWare PCI Core Support"
0004         depends on PCI
0005 
0006 config PCIE_DW
0007         bool
0008 
0009 config PCIE_DW_HOST
0010         bool
0011         select PCIE_DW
0012 
0013 config PCIE_DW_EP
0014         bool
0015         select PCIE_DW
0016 
0017 config PCI_DRA7XX
0018         tristate
0019 
0020 config PCI_DRA7XX_HOST
0021         tristate "TI DRA7xx PCIe controller Host Mode"
0022         depends on SOC_DRA7XX || COMPILE_TEST
0023         depends on OF && HAS_IOMEM && TI_PIPE3
0024         depends on PCI_MSI_IRQ_DOMAIN
0025         select PCIE_DW_HOST
0026         select PCI_DRA7XX
0027         default y if SOC_DRA7XX
0028         help
0029           Enables support for the PCIe controller in the DRA7xx SoC to work in
0030           host mode. There are two instances of PCIe controller in DRA7xx.
0031           This controller can work either as EP or RC. In order to enable
0032           host-specific features PCI_DRA7XX_HOST must be selected and in order
0033           to enable device-specific features PCI_DRA7XX_EP must be selected.
0034           This uses the DesignWare core.
0035 
0036 config PCI_DRA7XX_EP
0037         tristate "TI DRA7xx PCIe controller Endpoint Mode"
0038         depends on SOC_DRA7XX || COMPILE_TEST
0039         depends on OF && HAS_IOMEM && TI_PIPE3
0040         depends on PCI_ENDPOINT
0041         select PCIE_DW_EP
0042         select PCI_DRA7XX
0043         help
0044           Enables support for the PCIe controller in the DRA7xx SoC to work in
0045           endpoint mode. There are two instances of PCIe controller in DRA7xx.
0046           This controller can work either as EP or RC. In order to enable
0047           host-specific features PCI_DRA7XX_HOST must be selected and in order
0048           to enable device-specific features PCI_DRA7XX_EP must be selected.
0049           This uses the DesignWare core.
0050 
0051 config PCIE_DW_PLAT
0052         bool
0053 
0054 config PCIE_DW_PLAT_HOST
0055         bool "Platform bus based DesignWare PCIe Controller - Host mode"
0056         depends on PCI_MSI_IRQ_DOMAIN
0057         select PCIE_DW_HOST
0058         select PCIE_DW_PLAT
0059         help
0060           Enables support for the PCIe controller in the Designware IP to
0061           work in host mode. There are two instances of PCIe controller in
0062           Designware IP.
0063           This controller can work either as EP or RC. In order to enable
0064           host-specific features PCIE_DW_PLAT_HOST must be selected and in
0065           order to enable device-specific features PCI_DW_PLAT_EP must be
0066           selected.
0067 
0068 config PCIE_DW_PLAT_EP
0069         bool "Platform bus based DesignWare PCIe Controller - Endpoint mode"
0070         depends on PCI && PCI_MSI_IRQ_DOMAIN
0071         depends on PCI_ENDPOINT
0072         select PCIE_DW_EP
0073         select PCIE_DW_PLAT
0074         help
0075           Enables support for the PCIe controller in the Designware IP to
0076           work in endpoint mode. There are two instances of PCIe controller
0077           in Designware IP.
0078           This controller can work either as EP or RC. In order to enable
0079           host-specific features PCIE_DW_PLAT_HOST must be selected and in
0080           order to enable device-specific features PCI_DW_PLAT_EP must be
0081           selected.
0082 
0083 config PCI_EXYNOS
0084         tristate "Samsung Exynos PCIe controller"
0085         depends on ARCH_EXYNOS || COMPILE_TEST
0086         depends on PCI_MSI_IRQ_DOMAIN
0087         select PCIE_DW_HOST
0088         help
0089           Enables support for the PCIe controller in the Samsung Exynos SoCs
0090           to work in host mode. The PCI controller is based on the DesignWare
0091           hardware and therefore the driver re-uses the DesignWare core
0092           functions to implement the driver.
0093 
0094 config PCI_IMX6
0095         bool "Freescale i.MX6/7/8 PCIe controller"
0096         depends on ARCH_MXC || COMPILE_TEST
0097         depends on PCI_MSI_IRQ_DOMAIN
0098         select PCIE_DW_HOST
0099 
0100 config PCIE_SPEAR13XX
0101         bool "STMicroelectronics SPEAr PCIe controller"
0102         depends on ARCH_SPEAR13XX || COMPILE_TEST
0103         depends on PCI_MSI_IRQ_DOMAIN
0104         select PCIE_DW_HOST
0105         help
0106           Say Y here if you want PCIe support on SPEAr13XX SoCs.
0107 
0108 config PCI_KEYSTONE
0109         bool
0110 
0111 config PCI_KEYSTONE_HOST
0112         bool "PCI Keystone Host Mode"
0113         depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
0114         depends on PCI_MSI_IRQ_DOMAIN
0115         select PCIE_DW_HOST
0116         select PCI_KEYSTONE
0117         help
0118           Enables support for the PCIe controller in the Keystone SoC to
0119           work in host mode. The PCI controller on Keystone is based on
0120           DesignWare hardware and therefore the driver re-uses the
0121           DesignWare core functions to implement the driver.
0122 
0123 config PCI_KEYSTONE_EP
0124         bool "PCI Keystone Endpoint Mode"
0125         depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
0126         depends on PCI_ENDPOINT
0127         select PCIE_DW_EP
0128         select PCI_KEYSTONE
0129         help
0130           Enables support for the PCIe controller in the Keystone SoC to
0131           work in endpoint mode. The PCI controller on Keystone is based
0132           on DesignWare hardware and therefore the driver re-uses the
0133           DesignWare core functions to implement the driver.
0134 
0135 config PCI_LAYERSCAPE
0136         bool "Freescale Layerscape PCIe controller - Host mode"
0137         depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
0138         depends on PCI_MSI_IRQ_DOMAIN
0139         select PCIE_DW_HOST
0140         select MFD_SYSCON
0141         help
0142           Say Y here if you want to enable PCIe controller support on Layerscape
0143           SoCs to work in Host mode.
0144           This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
0145           determines which PCIe controller works in EP mode and which PCIe
0146           controller works in RC mode.
0147 
0148 config PCI_LAYERSCAPE_EP
0149         bool "Freescale Layerscape PCIe controller - Endpoint mode"
0150         depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
0151         depends on PCI_ENDPOINT
0152         select PCIE_DW_EP
0153         help
0154           Say Y here if you want to enable PCIe controller support on Layerscape
0155           SoCs to work in Endpoint mode.
0156           This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]
0157           determines which PCIe controller works in EP mode and which PCIe
0158           controller works in RC mode.
0159 
0160 config PCI_HISI
0161         depends on OF && (ARM64 || COMPILE_TEST)
0162         bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
0163         depends on PCI_MSI_IRQ_DOMAIN
0164         select PCIE_DW_HOST
0165         select PCI_HOST_COMMON
0166         help
0167           Say Y here if you want PCIe controller support on HiSilicon
0168           Hip05 and Hip06 SoCs
0169 
0170 config PCIE_QCOM
0171         bool "Qualcomm PCIe controller"
0172         depends on OF && (ARCH_QCOM || COMPILE_TEST)
0173         depends on PCI_MSI_IRQ_DOMAIN
0174         select PCIE_DW_HOST
0175         select CRC8
0176         help
0177           Say Y here to enable PCIe controller support on Qualcomm SoCs. The
0178           PCIe controller uses the DesignWare core plus Qualcomm-specific
0179           hardware wrappers.
0180 
0181 config PCIE_QCOM_EP
0182         tristate "Qualcomm PCIe controller - Endpoint mode"
0183         depends on OF && (ARCH_QCOM || COMPILE_TEST)
0184         depends on PCI_ENDPOINT
0185         select PCIE_DW_EP
0186         help
0187           Say Y here to enable support for the PCIe controllers on Qualcomm SoCs
0188           to work in endpoint mode. The PCIe controller uses the DesignWare core
0189           plus Qualcomm-specific hardware wrappers.
0190 
0191 config PCIE_ARMADA_8K
0192         bool "Marvell Armada-8K PCIe controller"
0193         depends on ARCH_MVEBU || COMPILE_TEST
0194         depends on PCI_MSI_IRQ_DOMAIN
0195         select PCIE_DW_HOST
0196         help
0197           Say Y here if you want to enable PCIe controller support on
0198           Armada-8K SoCs. The PCIe controller on Armada-8K is based on
0199           DesignWare hardware and therefore the driver re-uses the
0200           DesignWare core functions to implement the driver.
0201 
0202 config PCIE_ARTPEC6
0203         bool
0204 
0205 config PCIE_ARTPEC6_HOST
0206         bool "Axis ARTPEC-6 PCIe controller Host Mode"
0207         depends on MACH_ARTPEC6 || COMPILE_TEST
0208         depends on PCI_MSI_IRQ_DOMAIN
0209         select PCIE_DW_HOST
0210         select PCIE_ARTPEC6
0211         help
0212           Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
0213           host mode. This uses the DesignWare core.
0214 
0215 config PCIE_ARTPEC6_EP
0216         bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
0217         depends on MACH_ARTPEC6 || COMPILE_TEST
0218         depends on PCI_ENDPOINT
0219         select PCIE_DW_EP
0220         select PCIE_ARTPEC6
0221         help
0222           Enables support for the PCIe controller in the ARTPEC-6 SoC to work in
0223           endpoint mode. This uses the DesignWare core.
0224 
0225 config PCIE_ROCKCHIP_DW_HOST
0226         bool "Rockchip DesignWare PCIe controller"
0227         select PCIE_DW
0228         select PCIE_DW_HOST
0229         depends on PCI_MSI_IRQ_DOMAIN
0230         depends on ARCH_ROCKCHIP || COMPILE_TEST
0231         depends on OF
0232         help
0233           Enables support for the DesignWare PCIe controller in the
0234           Rockchip SoC except RK3399.
0235 
0236 config PCIE_INTEL_GW
0237         bool "Intel Gateway PCIe host controller support"
0238         depends on OF && (X86 || COMPILE_TEST)
0239         depends on PCI_MSI_IRQ_DOMAIN
0240         select PCIE_DW_HOST
0241         help
0242           Say 'Y' here to enable PCIe Host controller support on Intel
0243           Gateway SoCs.
0244           The PCIe controller uses the DesignWare core plus Intel-specific
0245           hardware wrappers.
0246 
0247 config PCIE_KEEMBAY
0248         bool
0249 
0250 config PCIE_KEEMBAY_HOST
0251         bool "Intel Keem Bay PCIe controller - Host mode"
0252         depends on ARCH_KEEMBAY || COMPILE_TEST
0253         depends on PCI && PCI_MSI_IRQ_DOMAIN
0254         select PCIE_DW_HOST
0255         select PCIE_KEEMBAY
0256         help
0257           Say 'Y' here to enable support for the PCIe controller in Keem Bay
0258           to work in host mode.
0259           The PCIe controller is based on DesignWare Hardware and uses
0260           DesignWare core functions.
0261 
0262 config PCIE_KEEMBAY_EP
0263         bool "Intel Keem Bay PCIe controller - Endpoint mode"
0264         depends on ARCH_KEEMBAY || COMPILE_TEST
0265         depends on PCI && PCI_MSI_IRQ_DOMAIN
0266         depends on PCI_ENDPOINT
0267         select PCIE_DW_EP
0268         select PCIE_KEEMBAY
0269         help
0270           Say 'Y' here to enable support for the PCIe controller in Keem Bay
0271           to work in endpoint mode.
0272           The PCIe controller is based on DesignWare Hardware and uses
0273           DesignWare core functions.
0274 
0275 config PCIE_KIRIN
0276         depends on OF && (ARM64 || COMPILE_TEST)
0277         tristate "HiSilicon Kirin series SoCs PCIe controllers"
0278         depends on PCI_MSI_IRQ_DOMAIN
0279         select PCIE_DW_HOST
0280         help
0281           Say Y here if you want PCIe controller support
0282           on HiSilicon Kirin series SoCs.
0283 
0284 config PCIE_HISI_STB
0285         bool "HiSilicon STB SoCs PCIe controllers"
0286         depends on ARCH_HISI || COMPILE_TEST
0287         depends on PCI_MSI_IRQ_DOMAIN
0288         select PCIE_DW_HOST
0289         help
0290           Say Y here if you want PCIe controller support on HiSilicon STB SoCs
0291 
0292 config PCI_MESON
0293         tristate "MESON PCIe controller"
0294         default m if ARCH_MESON
0295         depends on PCI_MSI_IRQ_DOMAIN
0296         select PCIE_DW_HOST
0297         help
0298           Say Y here if you want to enable PCI controller support on Amlogic
0299           SoCs. The PCI controller on Amlogic is based on DesignWare hardware
0300           and therefore the driver re-uses the DesignWare core functions to
0301           implement the driver.
0302 
0303 config PCIE_TEGRA194
0304         tristate
0305 
0306 config PCIE_TEGRA194_HOST
0307         tristate "NVIDIA Tegra194 (and later) PCIe controller - Host Mode"
0308         depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
0309         depends on PCI_MSI_IRQ_DOMAIN
0310         select PCIE_DW_HOST
0311         select PHY_TEGRA194_P2U
0312         select PCIE_TEGRA194
0313         help
0314           Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
0315           work in host mode. There are two instances of PCIe controllers in
0316           Tegra194. This controller can work either as EP or RC. In order to
0317           enable host-specific features PCIE_TEGRA194_HOST must be selected and
0318           in order to enable device-specific features PCIE_TEGRA194_EP must be
0319           selected. This uses the DesignWare core.
0320 
0321 config PCIE_TEGRA194_EP
0322         tristate "NVIDIA Tegra194 (and later) PCIe controller - Endpoint Mode"
0323         depends on ARCH_TEGRA_194_SOC || COMPILE_TEST
0324         depends on PCI_ENDPOINT
0325         select PCIE_DW_EP
0326         select PHY_TEGRA194_P2U
0327         select PCIE_TEGRA194
0328         help
0329           Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to
0330           work in endpoint mode. There are two instances of PCIe controllers in
0331           Tegra194. This controller can work either as EP or RC. In order to
0332           enable host-specific features PCIE_TEGRA194_HOST must be selected and
0333           in order to enable device-specific features PCIE_TEGRA194_EP must be
0334           selected. This uses the DesignWare core.
0335 
0336 config PCIE_VISCONTI_HOST
0337         bool "Toshiba Visconti PCIe controllers"
0338         depends on ARCH_VISCONTI || COMPILE_TEST
0339         depends on PCI_MSI_IRQ_DOMAIN
0340         select PCIE_DW_HOST
0341         help
0342           Say Y here if you want PCIe controller support on Toshiba Visconti SoC.
0343           This driver supports TMPV7708 SoC.
0344 
0345 config PCIE_UNIPHIER
0346         bool "Socionext UniPhier PCIe host controllers"
0347         depends on ARCH_UNIPHIER || COMPILE_TEST
0348         depends on OF && HAS_IOMEM
0349         depends on PCI_MSI_IRQ_DOMAIN
0350         select PCIE_DW_HOST
0351         help
0352           Say Y here if you want PCIe host controller support on UniPhier SoCs.
0353           This driver supports LD20 and PXs3 SoCs.
0354 
0355 config PCIE_UNIPHIER_EP
0356         bool "Socionext UniPhier PCIe endpoint controllers"
0357         depends on ARCH_UNIPHIER || COMPILE_TEST
0358         depends on OF && HAS_IOMEM
0359         depends on PCI_ENDPOINT
0360         select PCIE_DW_EP
0361         help
0362           Say Y here if you want PCIe endpoint controller support on
0363           UniPhier SoCs. This driver supports Pro5 SoC.
0364 
0365 config PCIE_AL
0366         bool "Amazon Annapurna Labs PCIe controller"
0367         depends on OF && (ARM64 || COMPILE_TEST)
0368         depends on PCI_MSI_IRQ_DOMAIN
0369         select PCIE_DW_HOST
0370         select PCI_ECAM
0371         help
0372           Say Y here to enable support of the Amazon's Annapurna Labs PCIe
0373           controller IP on Amazon SoCs. The PCIe controller uses the DesignWare
0374           core plus Annapurna Labs proprietary hardware wrappers. This is
0375           required only for DT-based platforms. ACPI platforms with the
0376           Annapurna Labs PCIe controller don't need to enable this.
0377 
0378 config PCIE_FU740
0379         bool "SiFive FU740 PCIe host controller"
0380         depends on PCI_MSI_IRQ_DOMAIN
0381         depends on SOC_SIFIVE || COMPILE_TEST
0382         select PCIE_DW_HOST
0383         help
0384           Say Y here if you want PCIe controller support for the SiFive
0385           FU740.
0386 
0387 endmenu