brintos

brintos / linux-shallow public Read only

0
0
Text · 14.4 KiB · b6d6778 Raw
463 lines · plain
1# SPDX-License-Identifier: GPL-2.02 3menu "DesignWare-based PCIe controllers"4	depends on PCI5 6config PCIE_DW7	bool8 9config PCIE_DW_HOST10	bool11	select PCIE_DW12 13config PCIE_DW_EP14	bool15	select PCIE_DW16 17config PCIE_AL18	bool "Amazon Annapurna Labs PCIe controller"19	depends on OF && (ARM64 || COMPILE_TEST)20	depends on PCI_MSI21	select PCIE_DW_HOST22	select PCI_ECAM23	help24	  Say Y here to enable support of the Amazon's Annapurna Labs PCIe25	  controller IP on Amazon SoCs. The PCIe controller uses the DesignWare26	  core plus Annapurna Labs proprietary hardware wrappers. This is27	  required only for DT-based platforms. ACPI platforms with the28	  Annapurna Labs PCIe controller don't need to enable this.29 30config PCI_MESON31	tristate "Amlogic Meson PCIe controller"32	default m if ARCH_MESON33	depends on PCI_MSI34	select PCIE_DW_HOST35	help36	  Say Y here if you want to enable PCI controller support on Amlogic37	  SoCs. The PCI controller on Amlogic is based on DesignWare hardware38	  and therefore the driver re-uses the DesignWare core functions to39	  implement the driver.40 41config PCIE_ARTPEC642	bool43 44config PCIE_ARTPEC6_HOST45	bool "Axis ARTPEC-6 PCIe controller (host mode)"46	depends on MACH_ARTPEC6 || COMPILE_TEST47	depends on PCI_MSI48	select PCIE_DW_HOST49	select PCIE_ARTPEC650	help51	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in52	  host mode. This uses the DesignWare core.53 54config PCIE_ARTPEC6_EP55	bool "Axis ARTPEC-6 PCIe controller (endpoint mode)"56	depends on MACH_ARTPEC6 || COMPILE_TEST57	depends on PCI_ENDPOINT58	select PCIE_DW_EP59	select PCIE_ARTPEC660	help61	  Enables support for the PCIe controller in the ARTPEC-6 SoC to work in62	  endpoint mode. This uses the DesignWare core.63 64config PCIE_BT165	tristate "Baikal-T1 PCIe controller"66	depends on MIPS_BAIKAL_T1 || COMPILE_TEST67	depends on PCI_MSI68	select PCIE_DW_HOST69	help70	  Enables support for the PCIe controller in the Baikal-T1 SoC to work71	  in host mode. It's based on the Synopsys DWC PCIe v4.60a IP-core.72 73config PCI_IMX674	bool75 76config PCI_IMX6_HOST77	bool "Freescale i.MX6/7/8 PCIe controller (host mode)"78	depends on ARCH_MXC || COMPILE_TEST79	depends on PCI_MSI80	select PCIE_DW_HOST81	select PCI_IMX682	help83	  Enables support for the PCIe controller in the i.MX SoCs to84	  work in Root Complex mode. The PCI controller on i.MX is based85	  on DesignWare hardware and therefore the driver re-uses the86	  DesignWare core functions to implement the driver.87 88config PCI_IMX6_EP89	bool "Freescale i.MX6/7/8 PCIe controller (endpoint mode)"90	depends on ARCH_MXC || COMPILE_TEST91	depends on PCI_ENDPOINT92	select PCIE_DW_EP93	select PCI_IMX694	help95	  Enables support for the PCIe controller in the i.MX SoCs to96	  work in endpoint mode. The PCI controller on i.MX is based97	  on DesignWare hardware and therefore the driver re-uses the98	  DesignWare core functions to implement the driver.99 100config PCI_LAYERSCAPE101	bool "Freescale Layerscape PCIe controller (host mode)"102	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)103	depends on PCI_MSI104	select PCIE_DW_HOST105	select MFD_SYSCON106	help107	  Say Y here if you want to enable PCIe controller support on Layerscape108	  SoCs to work in Host mode.109	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]110	  determines which PCIe controller works in EP mode and which PCIe111	  controller works in RC mode.112 113config PCI_LAYERSCAPE_EP114	bool "Freescale Layerscape PCIe controller (endpoint mode)"115	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)116	depends on PCI_ENDPOINT117	select PCIE_DW_EP118	help119	  Say Y here if you want to enable PCIe controller support on Layerscape120	  SoCs to work in Endpoint mode.121	  This controller can work either as EP or RC. The RCW[HOST_AGT_PEX]122	  determines which PCIe controller works in EP mode and which PCIe123	  controller works in RC mode.124 125config PCI_HISI126	depends on OF && (ARM64 || COMPILE_TEST)127	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controller"128	depends on PCI_MSI129	select PCIE_DW_HOST130	select PCI_HOST_COMMON131	help132	  Say Y here if you want PCIe controller support on HiSilicon133	  Hip05 and Hip06 SoCs134 135config PCIE_KIRIN136	depends on OF && (ARM64 || COMPILE_TEST)137	tristate "HiSilicon Kirin PCIe controller"138	depends on PCI_MSI139	select PCIE_DW_HOST140	select REGMAP_MMIO141	help142	  Say Y here if you want PCIe controller support143	  on HiSilicon Kirin series SoCs.144 145config PCIE_HISI_STB146	bool "HiSilicon STB PCIe controller"147	depends on ARCH_HISI || COMPILE_TEST148	depends on PCI_MSI149	select PCIE_DW_HOST150	help151	  Say Y here if you want PCIe controller support on HiSilicon STB SoCs152 153config PCIE_INTEL_GW154	bool "Intel Gateway PCIe controller "155	depends on OF && (X86 || COMPILE_TEST)156	depends on PCI_MSI157	select PCIE_DW_HOST158	help159	  Say 'Y' here to enable PCIe Host controller support on Intel160	  Gateway SoCs.161	  The PCIe controller uses the DesignWare core plus Intel-specific162	  hardware wrappers.163 164config PCIE_KEEMBAY165	bool166 167config PCIE_KEEMBAY_HOST168	bool "Intel Keem Bay PCIe controller (host mode)"169	depends on ARCH_KEEMBAY || COMPILE_TEST170	depends on PCI_MSI171	select PCIE_DW_HOST172	select PCIE_KEEMBAY173	help174	  Say 'Y' here to enable support for the PCIe controller in Keem Bay175	  to work in host mode.176	  The PCIe controller is based on DesignWare Hardware and uses177	  DesignWare core functions.178 179config PCIE_KEEMBAY_EP180	bool "Intel Keem Bay PCIe controller (endpoint mode)"181	depends on ARCH_KEEMBAY || COMPILE_TEST182	depends on PCI_MSI183	depends on PCI_ENDPOINT184	select PCIE_DW_EP185	select PCIE_KEEMBAY186	help187	  Say 'Y' here to enable support for the PCIe controller in Keem Bay188	  to work in endpoint mode.189	  The PCIe controller is based on DesignWare Hardware and uses190	  DesignWare core functions.191 192config PCIE_ARMADA_8K193	bool "Marvell Armada-8K PCIe controller"194	depends on ARCH_MVEBU || COMPILE_TEST195	depends on PCI_MSI196	select PCIE_DW_HOST197	help198	  Say Y here if you want to enable PCIe controller support on199	  Armada-8K SoCs. The PCIe controller on Armada-8K is based on200	  DesignWare hardware and therefore the driver re-uses the201	  DesignWare core functions to implement the driver.202 203config PCIE_TEGRA194204	tristate205 206config PCIE_TEGRA194_HOST207	tristate "NVIDIA Tegra194 (and later) PCIe controller (host mode)"208	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST209	depends on PCI_MSI210	select PCIE_DW_HOST211	select PHY_TEGRA194_P2U212	select PCIE_TEGRA194213	help214	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to215	  work in host mode. There are two instances of PCIe controllers in216	  Tegra194. This controller can work either as EP or RC. In order to217	  enable host-specific features PCIE_TEGRA194_HOST must be selected and218	  in order to enable device-specific features PCIE_TEGRA194_EP must be219	  selected. This uses the DesignWare core.220 221config PCIE_TEGRA194_EP222	tristate "NVIDIA Tegra194 (and later) PCIe controller (endpoint mode)"223	depends on ARCH_TEGRA_194_SOC || COMPILE_TEST224	depends on PCI_ENDPOINT225	select PCIE_DW_EP226	select PHY_TEGRA194_P2U227	select PCIE_TEGRA194228	help229	  Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to230	  work in endpoint mode. There are two instances of PCIe controllers in231	  Tegra194. This controller can work either as EP or RC. In order to232	  enable host-specific features PCIE_TEGRA194_HOST must be selected and233	  in order to enable device-specific features PCIE_TEGRA194_EP must be234	  selected. This uses the DesignWare core.235 236config PCIE_DW_PLAT237	bool238 239config PCIE_DW_PLAT_HOST240	bool "Platform bus based DesignWare PCIe controller (host mode)"241	depends on PCI_MSI242	select PCIE_DW_HOST243	select PCIE_DW_PLAT244	help245	  Enables support for the PCIe controller in the Designware IP to246	  work in host mode. There are two instances of PCIe controller in247	  Designware IP.248	  This controller can work either as EP or RC. In order to enable249	  host-specific features PCIE_DW_PLAT_HOST must be selected and in250	  order to enable device-specific features PCI_DW_PLAT_EP must be251	  selected.252 253config PCIE_DW_PLAT_EP254	bool "Platform bus based DesignWare PCIe controller (endpoint mode)"255	depends on PCI && PCI_MSI256	depends on PCI_ENDPOINT257	select PCIE_DW_EP258	select PCIE_DW_PLAT259	help260	  Enables support for the PCIe controller in the Designware IP to261	  work in endpoint mode. There are two instances of PCIe controller262	  in Designware IP.263	  This controller can work either as EP or RC. In order to enable264	  host-specific features PCIE_DW_PLAT_HOST must be selected and in265	  order to enable device-specific features PCI_DW_PLAT_EP must be266	  selected.267 268config PCIE_QCOM_COMMON269	bool270 271config PCIE_QCOM272	bool "Qualcomm PCIe controller (host mode)"273	depends on OF && (ARCH_QCOM || COMPILE_TEST)274	depends on PCI_MSI275	select PCIE_DW_HOST276	select CRC8277	select PCIE_QCOM_COMMON278	help279	  Say Y here to enable PCIe controller support on Qualcomm SoCs. The280	  PCIe controller uses the DesignWare core plus Qualcomm-specific281	  hardware wrappers.282 283config PCIE_QCOM_EP284	tristate "Qualcomm PCIe controller (endpoint mode)"285	depends on OF && (ARCH_QCOM || COMPILE_TEST)286	depends on PCI_ENDPOINT287	select PCIE_DW_EP288	select PCIE_QCOM_COMMON289	help290	  Say Y here to enable support for the PCIe controllers on Qualcomm SoCs291	  to work in endpoint mode. The PCIe controller uses the DesignWare core292	  plus Qualcomm-specific hardware wrappers.293 294config PCIE_RCAR_GEN4295	tristate296 297config PCIE_RCAR_GEN4_HOST298	tristate "Renesas R-Car Gen4 PCIe controller (host mode)"299	depends on ARCH_RENESAS || COMPILE_TEST300	depends on PCI_MSI301	select PCIE_DW_HOST302	select PCIE_RCAR_GEN4303	help304	  Say Y here if you want PCIe controller (host mode) on R-Car Gen4 SoCs.305	  To compile this driver as a module, choose M here: the module will be306	  called pcie-rcar-gen4.ko. This uses the DesignWare core.307 308config PCIE_RCAR_GEN4_EP309	tristate "Renesas R-Car Gen4 PCIe controller (endpoint mode)"310	depends on ARCH_RENESAS || COMPILE_TEST311	depends on PCI_ENDPOINT312	select PCIE_DW_EP313	select PCIE_RCAR_GEN4314	help315	  Say Y here if you want PCIe controller (endpoint mode) on R-Car Gen4316	  SoCs. To compile this driver as a module, choose M here: the module317	  will be called pcie-rcar-gen4.ko. This uses the DesignWare core.318 319config PCIE_ROCKCHIP_DW320	bool321 322config PCIE_ROCKCHIP_DW_HOST323	bool "Rockchip DesignWare PCIe controller (host mode)"324	depends on PCI_MSI325	depends on ARCH_ROCKCHIP || COMPILE_TEST326	depends on OF327	select PCIE_DW_HOST328	select PCIE_ROCKCHIP_DW329	help330	  Enables support for the DesignWare PCIe controller in the331	  Rockchip SoC (except RK3399) to work in host mode.332 333config PCIE_ROCKCHIP_DW_EP334	bool "Rockchip DesignWare PCIe controller (endpoint mode)"335	depends on ARCH_ROCKCHIP || COMPILE_TEST336	depends on OF337	depends on PCI_ENDPOINT338	select PCIE_DW_EP339	select PCIE_ROCKCHIP_DW340	help341	  Enables support for the DesignWare PCIe controller in the342	  Rockchip SoC (except RK3399) to work in endpoint mode.343 344config PCI_EXYNOS345	tristate "Samsung Exynos PCIe controller"346	depends on ARCH_EXYNOS || COMPILE_TEST347	depends on PCI_MSI348	select PCIE_DW_HOST349	help350	  Enables support for the PCIe controller in the Samsung Exynos SoCs351	  to work in host mode. The PCI controller is based on the DesignWare352	  hardware and therefore the driver re-uses the DesignWare core353	  functions to implement the driver.354 355config PCIE_FU740356	bool "SiFive FU740 PCIe controller"357	depends on PCI_MSI358	depends on ARCH_SIFIVE || COMPILE_TEST359	select PCIE_DW_HOST360	help361	  Say Y here if you want PCIe controller support for the SiFive362	  FU740.363 364config PCIE_UNIPHIER365	bool "Socionext UniPhier PCIe controller (host mode)"366	depends on ARCH_UNIPHIER || COMPILE_TEST367	depends on OF && HAS_IOMEM368	depends on PCI_MSI369	select PCIE_DW_HOST370	help371	  Say Y here if you want PCIe host controller support on UniPhier SoCs.372	  This driver supports LD20 and PXs3 SoCs.373 374config PCIE_UNIPHIER_EP375	bool "Socionext UniPhier PCIe controller (endpoint mode)"376	depends on ARCH_UNIPHIER || COMPILE_TEST377	depends on OF && HAS_IOMEM378	depends on PCI_ENDPOINT379	select PCIE_DW_EP380	help381	  Say Y here if you want PCIe endpoint controller support on382	  UniPhier SoCs. This driver supports Pro5 SoC.383 384config PCIE_SPEAR13XX385	bool "STMicroelectronics SPEAr PCIe controller"386	depends on ARCH_SPEAR13XX || COMPILE_TEST387	depends on PCI_MSI388	select PCIE_DW_HOST389	help390	  Say Y here if you want PCIe support on SPEAr13XX SoCs.391 392config PCI_DRA7XX393	tristate394 395config PCI_DRA7XX_HOST396	tristate "TI DRA7xx PCIe controller (host mode)"397	depends on SOC_DRA7XX || COMPILE_TEST398	depends on OF && HAS_IOMEM && TI_PIPE3399	depends on PCI_MSI400	select PCIE_DW_HOST401	select PCI_DRA7XX402	default y if SOC_DRA7XX403	help404	  Enables support for the PCIe controller in the DRA7xx SoC to work in405	  host mode. There are two instances of PCIe controller in DRA7xx.406	  This controller can work either as EP or RC. In order to enable407	  host-specific features PCI_DRA7XX_HOST must be selected and in order408	  to enable device-specific features PCI_DRA7XX_EP must be selected.409	  This uses the DesignWare core.410 411config PCI_DRA7XX_EP412	tristate "TI DRA7xx PCIe controller (endpoint mode)"413	depends on SOC_DRA7XX || COMPILE_TEST414	depends on OF && HAS_IOMEM && TI_PIPE3415	depends on PCI_ENDPOINT416	select PCIE_DW_EP417	select PCI_DRA7XX418	help419	  Enables support for the PCIe controller in the DRA7xx SoC to work in420	  endpoint mode. There are two instances of PCIe controller in DRA7xx.421	  This controller can work either as EP or RC. In order to enable422	  host-specific features PCI_DRA7XX_HOST must be selected and in order423	  to enable device-specific features PCI_DRA7XX_EP must be selected.424	  This uses the DesignWare core.425 426config PCI_KEYSTONE427	bool428 429config PCI_KEYSTONE_HOST430	bool "TI Keystone PCIe controller (host mode)"431	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST432	depends on PCI_MSI433	select PCIE_DW_HOST434	select PCI_KEYSTONE435	help436	  Enables support for the PCIe controller in the Keystone SoC to437	  work in host mode. The PCI controller on Keystone is based on438	  DesignWare hardware and therefore the driver re-uses the439	  DesignWare core functions to implement the driver.440 441config PCI_KEYSTONE_EP442	bool "TI Keystone PCIe controller (endpoint mode)"443	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST444	depends on PCI_ENDPOINT445	select PCIE_DW_EP446	select PCI_KEYSTONE447	help448	  Enables support for the PCIe controller in the Keystone SoC to449	  work in endpoint mode. The PCI controller on Keystone is based450	  on DesignWare hardware and therefore the driver re-uses the451	  DesignWare core functions to implement the driver.452 453config PCIE_VISCONTI_HOST454	bool "Toshiba Visconti PCIe controller"455	depends on ARCH_VISCONTI || COMPILE_TEST456	depends on PCI_MSI457	select PCIE_DW_HOST458	help459	  Say Y here if you want PCIe controller support on Toshiba Visconti SoC.460	  This driver supports TMPV7708 SoC.461 462endmenu463