162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Marvell device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_VENDOR_MARVELL
762306a36Sopenharmony_ci	bool "Marvell devices"
862306a36Sopenharmony_ci	default y
962306a36Sopenharmony_ci	depends on PCI || CPU_PXA168 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
1462306a36Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1562306a36Sopenharmony_ci	  the questions about Marvell devices. If you say Y, you will be
1662306a36Sopenharmony_ci	  asked for your specific card in the following questions.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciif NET_VENDOR_MARVELL
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig MV643XX_ETH
2162306a36Sopenharmony_ci	tristate "Marvell Discovery (643XX) and Orion ethernet support"
2262306a36Sopenharmony_ci	depends on PPC32 || PLAT_ORION || COMPILE_TEST
2362306a36Sopenharmony_ci	depends on INET
2462306a36Sopenharmony_ci	select PHYLIB
2562306a36Sopenharmony_ci	select MVMDIO
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  This driver supports the gigabit ethernet MACs in the
2862306a36Sopenharmony_ci	  Marvell Discovery PPC/MIPS chipset family (MV643XX) and
2962306a36Sopenharmony_ci	  in the Marvell Orion ARM SoC family.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  Some boards that use the Discovery chipset are the Momenco
3262306a36Sopenharmony_ci	  Ocelot C and Jaguar ATX and Pegasos II.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig MVMDIO
3562306a36Sopenharmony_ci	tristate "Marvell MDIO interface support"
3662306a36Sopenharmony_ci	depends on HAS_IOMEM
3762306a36Sopenharmony_ci	select MDIO_DEVRES
3862306a36Sopenharmony_ci	select PHYLIB
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  This driver supports the MDIO interface found in the network
4162306a36Sopenharmony_ci	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
4262306a36Sopenharmony_ci	  Dove, Armada 370 and Armada XP).
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	  This driver is used by the MV643XX_ETH and MVNETA drivers.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig MVNETA_BM_ENABLE
4762306a36Sopenharmony_ci	tristate "Marvell Armada 38x/XP network interface BM support"
4862306a36Sopenharmony_ci	depends on MVNETA
4962306a36Sopenharmony_ci	depends on !64BIT
5062306a36Sopenharmony_ci	help
5162306a36Sopenharmony_ci	  This driver supports auxiliary block of the network
5262306a36Sopenharmony_ci	  interface units in the Marvell ARMADA XP and ARMADA 38x SoC
5362306a36Sopenharmony_ci	  family, which is called buffer manager.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	  This driver, when enabled, strictly cooperates with mvneta
5662306a36Sopenharmony_ci	  driver and is common for all network ports of the devices,
5762306a36Sopenharmony_ci	  even for Armada 370 SoC, which doesn't support hardware
5862306a36Sopenharmony_ci	  buffer management.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig MVNETA
6162306a36Sopenharmony_ci	tristate "Marvell Armada 370/38x/XP/37xx network interface support"
6262306a36Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
6362306a36Sopenharmony_ci	select MVMDIO
6462306a36Sopenharmony_ci	select PHYLINK
6562306a36Sopenharmony_ci	select PAGE_POOL
6662306a36Sopenharmony_ci	select PAGE_POOL_STATS
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  This driver supports the network interface units in the
6962306a36Sopenharmony_ci	  Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
7062306a36Sopenharmony_ci	  ARMADA 37xx SoC family.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	  Note that this driver is distinct from the mv643xx_eth
7362306a36Sopenharmony_ci	  driver, which should be used for the older Marvell SoCs
7462306a36Sopenharmony_ci	  (Dove, Orion, Discovery, Kirkwood).
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig MVNETA_BM
7762306a36Sopenharmony_ci	tristate
7862306a36Sopenharmony_ci	depends on !64BIT
7962306a36Sopenharmony_ci	default y if MVNETA=y && MVNETA_BM_ENABLE!=n
8062306a36Sopenharmony_ci	default MVNETA_BM_ENABLE
8162306a36Sopenharmony_ci	select HWBM
8262306a36Sopenharmony_ci	select GENERIC_ALLOCATOR
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
8562306a36Sopenharmony_ci	  that all dependencies are met.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciconfig MVPP2
8862306a36Sopenharmony_ci	tristate "Marvell Armada 375/7K/8K network interface support"
8962306a36Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
9062306a36Sopenharmony_ci	select MVMDIO
9162306a36Sopenharmony_ci	select PHYLINK
9262306a36Sopenharmony_ci	select PAGE_POOL
9362306a36Sopenharmony_ci	help
9462306a36Sopenharmony_ci	  This driver supports the network interface units in the
9562306a36Sopenharmony_ci	  Marvell ARMADA 375, 7K and 8K SoCs.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig MVPP2_PTP
9862306a36Sopenharmony_ci	bool "Marvell Armada 8K Enable PTP support"
9962306a36Sopenharmony_ci	depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
10062306a36Sopenharmony_ci		   (PTP_1588_CLOCK && MVPP2 = m)
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ciconfig PXA168_ETH
10362306a36Sopenharmony_ci	tristate "Marvell pxa168 ethernet support"
10462306a36Sopenharmony_ci	depends on HAS_IOMEM
10562306a36Sopenharmony_ci	depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
10662306a36Sopenharmony_ci	select PHYLIB
10762306a36Sopenharmony_ci	help
10862306a36Sopenharmony_ci	  This driver supports the pxa168 Ethernet ports.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
11162306a36Sopenharmony_ci	  will be called pxa168_eth.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ciconfig SKGE
11462306a36Sopenharmony_ci	tristate "Marvell Yukon Gigabit Ethernet support"
11562306a36Sopenharmony_ci	depends on PCI
11662306a36Sopenharmony_ci	select CRC32
11762306a36Sopenharmony_ci	help
11862306a36Sopenharmony_ci	  This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
11962306a36Sopenharmony_ci	  and related Gigabit Ethernet adapters. It is a new smaller driver
12062306a36Sopenharmony_ci	  with better performance and more complete ethtool support.
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	  It does not support the link failover and network management
12362306a36Sopenharmony_ci	  features that "portable" vendor supplied sk98lin driver does.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	  This driver supports adapters based on the original Yukon chipset:
12662306a36Sopenharmony_ci	  Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
12762306a36Sopenharmony_ci	  Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci	  It does not support the newer Yukon2 chipset: a separate driver,
13062306a36Sopenharmony_ci	  sky2, is provided for these adapters.
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
13362306a36Sopenharmony_ci	  will be called skge.  This is recommended.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciconfig SKGE_DEBUG
13662306a36Sopenharmony_ci	bool "Debugging interface"
13762306a36Sopenharmony_ci	depends on SKGE && DEBUG_FS
13862306a36Sopenharmony_ci	help
13962306a36Sopenharmony_ci	  This option adds the ability to dump driver state for debugging.
14062306a36Sopenharmony_ci	  The file /sys/kernel/debug/skge/ethX displays the state of the internal
14162306a36Sopenharmony_ci	  transmit and receive rings.
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	  If unsure, say N.
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ciconfig SKGE_GENESIS
14662306a36Sopenharmony_ci	bool "Support for older SysKonnect Genesis boards"
14762306a36Sopenharmony_ci	depends on SKGE
14862306a36Sopenharmony_ci	help
14962306a36Sopenharmony_ci	 This enables support for the older and uncommon SysKonnect Genesis
15062306a36Sopenharmony_ci	 chips, which support MII via an external transceiver, instead of
15162306a36Sopenharmony_ci	 an internal one. Disabling this option will save some memory
15262306a36Sopenharmony_ci	 by making code smaller. If unsure say Y.
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig SKY2
15562306a36Sopenharmony_ci	tristate "Marvell Yukon 2 support"
15662306a36Sopenharmony_ci	depends on PCI
15762306a36Sopenharmony_ci	select CRC32
15862306a36Sopenharmony_ci	help
15962306a36Sopenharmony_ci	  This driver supports Gigabit Ethernet adapters based on the
16062306a36Sopenharmony_ci	  Marvell Yukon 2 chipset:
16162306a36Sopenharmony_ci	  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
16262306a36Sopenharmony_ci	  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci	  There is companion driver for the older Marvell Yukon and
16562306a36Sopenharmony_ci	  SysKonnect Genesis based adapters: skge.
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
16862306a36Sopenharmony_ci	  will be called sky2.  This is recommended.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciconfig SKY2_DEBUG
17162306a36Sopenharmony_ci	bool "Debugging interface"
17262306a36Sopenharmony_ci	depends on SKY2 && DEBUG_FS
17362306a36Sopenharmony_ci	help
17462306a36Sopenharmony_ci	  This option adds the ability to dump driver state for debugging.
17562306a36Sopenharmony_ci	  The file /sys/kernel/debug/sky2/ethX displays the state of the internal
17662306a36Sopenharmony_ci	  transmit and receive rings.
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci	  If unsure, say N.
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_cisource "drivers/net/ethernet/marvell/octeontx2/Kconfig"
18262306a36Sopenharmony_cisource "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
18362306a36Sopenharmony_cisource "drivers/net/ethernet/marvell/prestera/Kconfig"
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ciendif # NET_VENDOR_MARVELL
186