410 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			410 lines
		
	
	
		
			13 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 PCIE_DW_ROCKCHIP
 | 
						|
	tristate "Rockchip DesignWare PCIe controller"
 | 
						|
	select PCIE_DW
 | 
						|
	select PCIE_DW_HOST
 | 
						|
	depends on ARCH_ROCKCHIP
 | 
						|
	depends on OF
 | 
						|
	help
 | 
						|
	  Enables support for the DW PCIe controller in the Rockchip SoC.
 | 
						|
 | 
						|
config PCIE_RK_THREADED_INIT
 | 
						|
	bool "Threaded initialize Rockchip DW based PCIe controller"
 | 
						|
	depends on PCIE_DW_ROCKCHIP
 | 
						|
	depends on !DWC_PCIE_PMU
 | 
						|
	default y
 | 
						|
	help
 | 
						|
	  Enables threaded initialize Rockchip DW based PCIe controller.
 | 
						|
 | 
						|
config PCIE_DW_DMATEST
 | 
						|
	bool "DesignWare PCIe DMA test"
 | 
						|
	depends on PCIE_DW_ROCKCHIP
 | 
						|
	depends on !ROCKCHIP_PCIE_DMA_OBJ
 | 
						|
	help
 | 
						|
	  Enables support for the DW PCIe controller DMA test.
 | 
						|
 | 
						|
config PCIE_DW_ROCKCHIP_EP
 | 
						|
	bool "Rockchip DesignWare PCIe EP controller"
 | 
						|
	select PCIE_DW
 | 
						|
	depends on ARCH_ROCKCHIP
 | 
						|
	depends on OF
 | 
						|
	help
 | 
						|
	  Enables support for the DW PCIe controller in the Rockchip SoC.
 | 
						|
 | 
						|
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_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
 |