123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- # 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
|