xref: /linux/drivers/net/ethernet/marvell/Kconfig (revision 1b98f357dadd6ea613a435fbaef1a5dd7b35fd21)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2527a6266SJeff Kirsher#
3527a6266SJeff Kirsher# Marvell device configuration
4527a6266SJeff Kirsher#
5527a6266SJeff Kirsher
6527a6266SJeff Kirsherconfig NET_VENDOR_MARVELL
7527a6266SJeff Kirsher	bool "Marvell devices"
888f07484SJeff Kirsher	default y
9600cc3c9SChristophe Leroy	depends on PCI || CPU_PXA168 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
10a7f7f624SMasahiro Yamada	help
11138b15edSPaul Gortmaker	  If you have a network (Ethernet) card belonging to this class, say Y.
12527a6266SJeff Kirsher
13527a6266SJeff Kirsher	  Note that the answer to this question doesn't directly affect the
14527a6266SJeff Kirsher	  kernel: saying N will just cause the configurator to skip all
15527a6266SJeff Kirsher	  the questions about Marvell devices. If you say Y, you will be
16527a6266SJeff Kirsher	  asked for your specific card in the following questions.
17527a6266SJeff Kirsher
18527a6266SJeff Kirsherif NET_VENDOR_MARVELL
19527a6266SJeff Kirsher
20527a6266SJeff Kirsherconfig MV643XX_ETH
21527a6266SJeff Kirsher	tristate "Marvell Discovery (643XX) and Orion ethernet support"
22600cc3c9SChristophe Leroy	depends on PPC32 || PLAT_ORION || COMPILE_TEST
23e020797bSGeert Uytterhoeven	depends on INET
24527a6266SJeff Kirsher	select PHYLIB
25c3a07134SFlorian Fainelli	select MVMDIO
26a7f7f624SMasahiro Yamada	help
27527a6266SJeff Kirsher	  This driver supports the gigabit ethernet MACs in the
28527a6266SJeff Kirsher	  Marvell Discovery PPC/MIPS chipset family (MV643XX) and
29527a6266SJeff Kirsher	  in the Marvell Orion ARM SoC family.
30527a6266SJeff Kirsher
31527a6266SJeff Kirsher	  Some boards that use the Discovery chipset are the Momenco
32527a6266SJeff Kirsher	  Ocelot C and Jaguar ATX and Pegasos II.
33527a6266SJeff Kirsher
34fc8f5adeSThomas Petazzoniconfig MVMDIO
35fc8f5adeSThomas Petazzoni	tristate "Marvell MDIO interface support"
36af1f2d78SRichard Weinberger	depends on HAS_IOMEM
372e0cbf2cSThomas Petazzoni	select PHYLIB
38a7f7f624SMasahiro Yamada	help
39fc8f5adeSThomas Petazzoni	  This driver supports the MDIO interface found in the network
40fc8f5adeSThomas Petazzoni	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
41fc8f5adeSThomas Petazzoni	  Dove, Armada 370 and Armada XP).
42fc8f5adeSThomas Petazzoni
43c3a07134SFlorian Fainelli	  This driver is used by the MV643XX_ETH and MVNETA drivers.
44fc8f5adeSThomas Petazzoni
45019ded3aSArnd Bergmannconfig MVNETA_BM_ENABLE
46dc35a10fSMarcin Wojtas	tristate "Marvell Armada 38x/XP network interface BM support"
47dc35a10fSMarcin Wojtas	depends on MVNETA
48f34dacccSGregory CLEMENT	depends on !64BIT
49a7f7f624SMasahiro Yamada	help
50dc35a10fSMarcin Wojtas	  This driver supports auxiliary block of the network
51dc35a10fSMarcin Wojtas	  interface units in the Marvell ARMADA XP and ARMADA 38x SoC
52dc35a10fSMarcin Wojtas	  family, which is called buffer manager.
53dc35a10fSMarcin Wojtas
54dc35a10fSMarcin Wojtas	  This driver, when enabled, strictly cooperates with mvneta
55dc35a10fSMarcin Wojtas	  driver and is common for all network ports of the devices,
56dc35a10fSMarcin Wojtas	  even for Armada 370 SoC, which doesn't support hardware
57dc35a10fSMarcin Wojtas	  buffer management.
58dc35a10fSMarcin Wojtas
59c5aff182SThomas Petazzoniconfig MVNETA
602636ac3cSMarcin Wojtas	tristate "Marvell Armada 370/38x/XP/37xx network interface support"
612636ac3cSMarcin Wojtas	depends on ARCH_MVEBU || COMPILE_TEST
62c5aff182SThomas Petazzoni	select MVMDIO
63503f9aa9SRussell King	select PHYLINK
64568a3fa2SLorenzo Bianconi	select PAGE_POOL
65b3fc7922SLorenzo Bianconi	select PAGE_POOL_STATS
66a7f7f624SMasahiro Yamada	help
67c5aff182SThomas Petazzoni	  This driver supports the network interface units in the
682636ac3cSMarcin Wojtas	  Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
692636ac3cSMarcin Wojtas	  ARMADA 37xx SoC family.
70c5aff182SThomas Petazzoni
71c5aff182SThomas Petazzoni	  Note that this driver is distinct from the mv643xx_eth
72c5aff182SThomas Petazzoni	  driver, which should be used for the older Marvell SoCs
73c5aff182SThomas Petazzoni	  (Dove, Orion, Discovery, Kirkwood).
74c5aff182SThomas Petazzoni
75019ded3aSArnd Bergmannconfig MVNETA_BM
76019ded3aSArnd Bergmann	tristate
77f34dacccSGregory CLEMENT	depends on !64BIT
782073dbadSArnd Bergmann	default y if MVNETA=y && MVNETA_BM_ENABLE!=n
79019ded3aSArnd Bergmann	default MVNETA_BM_ENABLE
80019ded3aSArnd Bergmann	select HWBM
810e85663bSArnd Bergmann	select GENERIC_ALLOCATOR
82019ded3aSArnd Bergmann	help
83019ded3aSArnd Bergmann	  MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
84019ded3aSArnd Bergmann	  that all dependencies are met.
85019ded3aSArnd Bergmann
863f518509SMarcin Wojtasconfig MVPP2
87fc5e1550SThomas Petazzoni	tristate "Marvell Armada 375/7K/8K network interface support"
88d3158807SThomas Petazzoni	depends on ARCH_MVEBU || COMPILE_TEST
893f518509SMarcin Wojtas	select MVMDIO
904bb04326SAntoine Tenart	select PHYLINK
91b27db227SMatteo Croce	select PAGE_POOL
92a7f7f624SMasahiro Yamada	help
933f518509SMarcin Wojtas	  This driver supports the network interface units in the
94fc5e1550SThomas Petazzoni	  Marvell ARMADA 375, 7K and 8K SoCs.
953f518509SMarcin Wojtas
9691dd7195SRussell Kingconfig MVPP2_PTP
9791dd7195SRussell King	bool "Marvell Armada 8K Enable PTP support"
9891dd7195SRussell King	depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
9991dd7195SRussell King		   (PTP_1588_CLOCK && MVPP2 = m)
10091dd7195SRussell King
101527a6266SJeff Kirsherconfig PXA168_ETH
102527a6266SJeff Kirsher	tristate "Marvell pxa168 ethernet support"
103e020797bSGeert Uytterhoeven	depends on HAS_IOMEM
1043b3d136cSGeert Uytterhoeven	depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
105527a6266SJeff Kirsher	select PHYLIB
106a7f7f624SMasahiro Yamada	help
107527a6266SJeff Kirsher	  This driver supports the pxa168 Ethernet ports.
108527a6266SJeff Kirsher
109527a6266SJeff Kirsher	  To compile this driver as a module, choose M here. The module
110527a6266SJeff Kirsher	  will be called pxa168_eth.
111527a6266SJeff Kirsher
112527a6266SJeff Kirsherconfig SKGE
113527a6266SJeff Kirsher	tristate "Marvell Yukon Gigabit Ethernet support"
114527a6266SJeff Kirsher	depends on PCI
115527a6266SJeff Kirsher	select CRC32
116a7f7f624SMasahiro Yamada	help
117527a6266SJeff Kirsher	  This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
118527a6266SJeff Kirsher	  and related Gigabit Ethernet adapters. It is a new smaller driver
119527a6266SJeff Kirsher	  with better performance and more complete ethtool support.
120527a6266SJeff Kirsher
121527a6266SJeff Kirsher	  It does not support the link failover and network management
122527a6266SJeff Kirsher	  features that "portable" vendor supplied sk98lin driver does.
123527a6266SJeff Kirsher
124527a6266SJeff Kirsher	  This driver supports adapters based on the original Yukon chipset:
125527a6266SJeff Kirsher	  Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
126527a6266SJeff Kirsher	  Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
127527a6266SJeff Kirsher
128527a6266SJeff Kirsher	  It does not support the newer Yukon2 chipset: a separate driver,
129527a6266SJeff Kirsher	  sky2, is provided for these adapters.
130527a6266SJeff Kirsher
131527a6266SJeff Kirsher	  To compile this driver as a module, choose M here: the module
132527a6266SJeff Kirsher	  will be called skge.  This is recommended.
133527a6266SJeff Kirsher
134527a6266SJeff Kirsherconfig SKGE_DEBUG
135527a6266SJeff Kirsher	bool "Debugging interface"
136527a6266SJeff Kirsher	depends on SKGE && DEBUG_FS
137a7f7f624SMasahiro Yamada	help
138527a6266SJeff Kirsher	  This option adds the ability to dump driver state for debugging.
139527a6266SJeff Kirsher	  The file /sys/kernel/debug/skge/ethX displays the state of the internal
140527a6266SJeff Kirsher	  transmit and receive rings.
141527a6266SJeff Kirsher
142527a6266SJeff Kirsher	  If unsure, say N.
143527a6266SJeff Kirsher
144527a6266SJeff Kirsherconfig SKGE_GENESIS
145527a6266SJeff Kirsher	bool "Support for older SysKonnect Genesis boards"
146527a6266SJeff Kirsher	depends on SKGE
147a7f7f624SMasahiro Yamada	help
148527a6266SJeff Kirsher	 This enables support for the older and uncommon SysKonnect Genesis
149527a6266SJeff Kirsher	 chips, which support MII via an external transceiver, instead of
150527a6266SJeff Kirsher	 an internal one. Disabling this option will save some memory
151527a6266SJeff Kirsher	 by making code smaller. If unsure say Y.
152527a6266SJeff Kirsher
153527a6266SJeff Kirsherconfig SKY2
154527a6266SJeff Kirsher	tristate "Marvell Yukon 2 support"
155527a6266SJeff Kirsher	depends on PCI
156527a6266SJeff Kirsher	select CRC32
157a7f7f624SMasahiro Yamada	help
158527a6266SJeff Kirsher	  This driver supports Gigabit Ethernet adapters based on the
159527a6266SJeff Kirsher	  Marvell Yukon 2 chipset:
160527a6266SJeff Kirsher	  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
161527a6266SJeff Kirsher	  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
162527a6266SJeff Kirsher
163527a6266SJeff Kirsher	  There is companion driver for the older Marvell Yukon and
164527a6266SJeff Kirsher	  SysKonnect Genesis based adapters: skge.
165527a6266SJeff Kirsher
166527a6266SJeff Kirsher	  To compile this driver as a module, choose M here: the module
167527a6266SJeff Kirsher	  will be called sky2.  This is recommended.
168527a6266SJeff Kirsher
169527a6266SJeff Kirsherconfig SKY2_DEBUG
170527a6266SJeff Kirsher	bool "Debugging interface"
171527a6266SJeff Kirsher	depends on SKY2 && DEBUG_FS
172a7f7f624SMasahiro Yamada	help
173527a6266SJeff Kirsher	  This option adds the ability to dump driver state for debugging.
174527a6266SJeff Kirsher	  The file /sys/kernel/debug/sky2/ethX displays the state of the internal
175527a6266SJeff Kirsher	  transmit and receive rings.
176527a6266SJeff Kirsher
177527a6266SJeff Kirsher	  If unsure, say N.
178527a6266SJeff Kirsher
17954494aa5SSunil Goutham
18054494aa5SSunil Gouthamsource "drivers/net/ethernet/marvell/octeontx2/Kconfig"
181862cd659SVeerasenareddy Burrusource "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
182*cb7dd712SShinas Rasheedsource "drivers/net/ethernet/marvell/octeon_ep_vf/Kconfig"
183501ef306SVadym Kochansource "drivers/net/ethernet/marvell/prestera/Kconfig"
18454494aa5SSunil Goutham
185527a6266SJeff Kirsherendif # NET_VENDOR_MARVELL
186