18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Marvell device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig NET_VENDOR_MARVELL
78c2ecf20Sopenharmony_ci	bool "Marvell devices"
88c2ecf20Sopenharmony_ci	default y
98c2ecf20Sopenharmony_ci	depends on PCI || CPU_PXA168 || MV64X60 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
148c2ecf20Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
158c2ecf20Sopenharmony_ci	  the questions about Marvell devices. If you say Y, you will be
168c2ecf20Sopenharmony_ci	  asked for your specific card in the following questions.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciif NET_VENDOR_MARVELL
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig MV643XX_ETH
218c2ecf20Sopenharmony_ci	tristate "Marvell Discovery (643XX) and Orion ethernet support"
228c2ecf20Sopenharmony_ci	depends on MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST
238c2ecf20Sopenharmony_ci	depends on INET
248c2ecf20Sopenharmony_ci	select PHYLIB
258c2ecf20Sopenharmony_ci	select MVMDIO
268c2ecf20Sopenharmony_ci	help
278c2ecf20Sopenharmony_ci	  This driver supports the gigabit ethernet MACs in the
288c2ecf20Sopenharmony_ci	  Marvell Discovery PPC/MIPS chipset family (MV643XX) and
298c2ecf20Sopenharmony_ci	  in the Marvell Orion ARM SoC family.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  Some boards that use the Discovery chipset are the Momenco
328c2ecf20Sopenharmony_ci	  Ocelot C and Jaguar ATX and Pegasos II.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig MVMDIO
358c2ecf20Sopenharmony_ci	tristate "Marvell MDIO interface support"
368c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
378c2ecf20Sopenharmony_ci	select PHYLIB
388c2ecf20Sopenharmony_ci	help
398c2ecf20Sopenharmony_ci	  This driver supports the MDIO interface found in the network
408c2ecf20Sopenharmony_ci	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
418c2ecf20Sopenharmony_ci	  Dove, Armada 370 and Armada XP).
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	  This driver is used by the MV643XX_ETH and MVNETA drivers.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig MVNETA_BM_ENABLE
468c2ecf20Sopenharmony_ci	tristate "Marvell Armada 38x/XP network interface BM support"
478c2ecf20Sopenharmony_ci	depends on MVNETA
488c2ecf20Sopenharmony_ci	depends on !64BIT
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  This driver supports auxiliary block of the network
518c2ecf20Sopenharmony_ci	  interface units in the Marvell ARMADA XP and ARMADA 38x SoC
528c2ecf20Sopenharmony_ci	  family, which is called buffer manager.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	  This driver, when enabled, strictly cooperates with mvneta
558c2ecf20Sopenharmony_ci	  driver and is common for all network ports of the devices,
568c2ecf20Sopenharmony_ci	  even for Armada 370 SoC, which doesn't support hardware
578c2ecf20Sopenharmony_ci	  buffer management.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig MVNETA
608c2ecf20Sopenharmony_ci	tristate "Marvell Armada 370/38x/XP/37xx network interface support"
618c2ecf20Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
628c2ecf20Sopenharmony_ci	select MVMDIO
638c2ecf20Sopenharmony_ci	select PHYLINK
648c2ecf20Sopenharmony_ci	select PAGE_POOL
658c2ecf20Sopenharmony_ci	help
668c2ecf20Sopenharmony_ci	  This driver supports the network interface units in the
678c2ecf20Sopenharmony_ci	  Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
688c2ecf20Sopenharmony_ci	  ARMADA 37xx SoC family.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	  Note that this driver is distinct from the mv643xx_eth
718c2ecf20Sopenharmony_ci	  driver, which should be used for the older Marvell SoCs
728c2ecf20Sopenharmony_ci	  (Dove, Orion, Discovery, Kirkwood).
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciconfig MVNETA_BM
758c2ecf20Sopenharmony_ci	tristate
768c2ecf20Sopenharmony_ci	depends on !64BIT
778c2ecf20Sopenharmony_ci	default y if MVNETA=y && MVNETA_BM_ENABLE!=n
788c2ecf20Sopenharmony_ci	default MVNETA_BM_ENABLE
798c2ecf20Sopenharmony_ci	select HWBM
808c2ecf20Sopenharmony_ci	select GENERIC_ALLOCATOR
818c2ecf20Sopenharmony_ci	help
828c2ecf20Sopenharmony_ci	  MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
838c2ecf20Sopenharmony_ci	  that all dependencies are met.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig MVPP2
868c2ecf20Sopenharmony_ci	tristate "Marvell Armada 375/7K/8K network interface support"
878c2ecf20Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
888c2ecf20Sopenharmony_ci	select MVMDIO
898c2ecf20Sopenharmony_ci	select PHYLINK
908c2ecf20Sopenharmony_ci	select PAGE_POOL
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  This driver supports the network interface units in the
938c2ecf20Sopenharmony_ci	  Marvell ARMADA 375, 7K and 8K SoCs.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig MVPP2_PTP
968c2ecf20Sopenharmony_ci	bool "Marvell Armada 8K Enable PTP support"
978c2ecf20Sopenharmony_ci	depends on NETWORK_PHY_TIMESTAMPING
988c2ecf20Sopenharmony_ci	depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
998c2ecf20Sopenharmony_ci		   (PTP_1588_CLOCK && MVPP2 = m)
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig PXA168_ETH
1028c2ecf20Sopenharmony_ci	tristate "Marvell pxa168 ethernet support"
1038c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1048c2ecf20Sopenharmony_ci	depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
1058c2ecf20Sopenharmony_ci	select PHYLIB
1068c2ecf20Sopenharmony_ci	help
1078c2ecf20Sopenharmony_ci	  This driver supports the pxa168 Ethernet ports.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
1108c2ecf20Sopenharmony_ci	  will be called pxa168_eth.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig SKGE
1138c2ecf20Sopenharmony_ci	tristate "Marvell Yukon Gigabit Ethernet support"
1148c2ecf20Sopenharmony_ci	depends on PCI
1158c2ecf20Sopenharmony_ci	select CRC32
1168c2ecf20Sopenharmony_ci	help
1178c2ecf20Sopenharmony_ci	  This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
1188c2ecf20Sopenharmony_ci	  and related Gigabit Ethernet adapters. It is a new smaller driver
1198c2ecf20Sopenharmony_ci	  with better performance and more complete ethtool support.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	  It does not support the link failover and network management
1228c2ecf20Sopenharmony_ci	  features that "portable" vendor supplied sk98lin driver does.
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci	  This driver supports adapters based on the original Yukon chipset:
1258c2ecf20Sopenharmony_ci	  Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
1268c2ecf20Sopenharmony_ci	  Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci	  It does not support the newer Yukon2 chipset: a separate driver,
1298c2ecf20Sopenharmony_ci	  sky2, is provided for these adapters.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1328c2ecf20Sopenharmony_ci	  will be called skge.  This is recommended.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciconfig SKGE_DEBUG
1358c2ecf20Sopenharmony_ci	bool "Debugging interface"
1368c2ecf20Sopenharmony_ci	depends on SKGE && DEBUG_FS
1378c2ecf20Sopenharmony_ci	help
1388c2ecf20Sopenharmony_ci	  This option adds the ability to dump driver state for debugging.
1398c2ecf20Sopenharmony_ci	  The file /sys/kernel/debug/skge/ethX displays the state of the internal
1408c2ecf20Sopenharmony_ci	  transmit and receive rings.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci	  If unsure, say N.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig SKGE_GENESIS
1458c2ecf20Sopenharmony_ci	bool "Support for older SysKonnect Genesis boards"
1468c2ecf20Sopenharmony_ci	depends on SKGE
1478c2ecf20Sopenharmony_ci	help
1488c2ecf20Sopenharmony_ci	 This enables support for the older and uncommon SysKonnect Genesis
1498c2ecf20Sopenharmony_ci	 chips, which support MII via an external transceiver, instead of
1508c2ecf20Sopenharmony_ci	 an internal one. Disabling this option will save some memory
1518c2ecf20Sopenharmony_ci	 by making code smaller. If unsure say Y.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig SKY2
1548c2ecf20Sopenharmony_ci	tristate "Marvell Yukon 2 support"
1558c2ecf20Sopenharmony_ci	depends on PCI
1568c2ecf20Sopenharmony_ci	select CRC32
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  This driver supports Gigabit Ethernet adapters based on the
1598c2ecf20Sopenharmony_ci	  Marvell Yukon 2 chipset:
1608c2ecf20Sopenharmony_ci	  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
1618c2ecf20Sopenharmony_ci	  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci	  There is companion driver for the older Marvell Yukon and
1648c2ecf20Sopenharmony_ci	  SysKonnect Genesis based adapters: skge.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1678c2ecf20Sopenharmony_ci	  will be called sky2.  This is recommended.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ciconfig SKY2_DEBUG
1708c2ecf20Sopenharmony_ci	bool "Debugging interface"
1718c2ecf20Sopenharmony_ci	depends on SKY2 && DEBUG_FS
1728c2ecf20Sopenharmony_ci	help
1738c2ecf20Sopenharmony_ci	  This option adds the ability to dump driver state for debugging.
1748c2ecf20Sopenharmony_ci	  The file /sys/kernel/debug/sky2/ethX displays the state of the internal
1758c2ecf20Sopenharmony_ci	  transmit and receive rings.
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ci	  If unsure, say N.
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_cisource "drivers/net/ethernet/marvell/octeontx2/Kconfig"
1818c2ecf20Sopenharmony_cisource "drivers/net/ethernet/marvell/prestera/Kconfig"
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciendif # NET_VENDOR_MARVELL
184