xref: /openbmc/linux/drivers/net/ethernet/marvell/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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
37*37f9b2a6SAndrew Lunn	select MDIO_DEVRES
382e0cbf2cSThomas Petazzoni	select PHYLIB
39a7f7f624SMasahiro Yamada	help
40fc8f5adeSThomas Petazzoni	  This driver supports the MDIO interface found in the network
41fc8f5adeSThomas Petazzoni	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
42fc8f5adeSThomas Petazzoni	  Dove, Armada 370 and Armada XP).
43fc8f5adeSThomas Petazzoni
44c3a07134SFlorian Fainelli	  This driver is used by the MV643XX_ETH and MVNETA drivers.
45fc8f5adeSThomas Petazzoni
46019ded3aSArnd Bergmannconfig MVNETA_BM_ENABLE
47dc35a10fSMarcin Wojtas	tristate "Marvell Armada 38x/XP network interface BM support"
48dc35a10fSMarcin Wojtas	depends on MVNETA
49f34dacccSGregory CLEMENT	depends on !64BIT
50a7f7f624SMasahiro Yamada	help
51dc35a10fSMarcin Wojtas	  This driver supports auxiliary block of the network
52dc35a10fSMarcin Wojtas	  interface units in the Marvell ARMADA XP and ARMADA 38x SoC
53dc35a10fSMarcin Wojtas	  family, which is called buffer manager.
54dc35a10fSMarcin Wojtas
55dc35a10fSMarcin Wojtas	  This driver, when enabled, strictly cooperates with mvneta
56dc35a10fSMarcin Wojtas	  driver and is common for all network ports of the devices,
57dc35a10fSMarcin Wojtas	  even for Armada 370 SoC, which doesn't support hardware
58dc35a10fSMarcin Wojtas	  buffer management.
59dc35a10fSMarcin Wojtas
60c5aff182SThomas Petazzoniconfig MVNETA
612636ac3cSMarcin Wojtas	tristate "Marvell Armada 370/38x/XP/37xx network interface support"
622636ac3cSMarcin Wojtas	depends on ARCH_MVEBU || COMPILE_TEST
63c5aff182SThomas Petazzoni	select MVMDIO
64503f9aa9SRussell King	select PHYLINK
65568a3fa2SLorenzo Bianconi	select PAGE_POOL
66b3fc7922SLorenzo Bianconi	select PAGE_POOL_STATS
67a7f7f624SMasahiro Yamada	help
68c5aff182SThomas Petazzoni	  This driver supports the network interface units in the
692636ac3cSMarcin Wojtas	  Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
702636ac3cSMarcin Wojtas	  ARMADA 37xx SoC family.
71c5aff182SThomas Petazzoni
72c5aff182SThomas Petazzoni	  Note that this driver is distinct from the mv643xx_eth
73c5aff182SThomas Petazzoni	  driver, which should be used for the older Marvell SoCs
74c5aff182SThomas Petazzoni	  (Dove, Orion, Discovery, Kirkwood).
75c5aff182SThomas Petazzoni
76019ded3aSArnd Bergmannconfig MVNETA_BM
77019ded3aSArnd Bergmann	tristate
78f34dacccSGregory CLEMENT	depends on !64BIT
792073dbadSArnd Bergmann	default y if MVNETA=y && MVNETA_BM_ENABLE!=n
80019ded3aSArnd Bergmann	default MVNETA_BM_ENABLE
81019ded3aSArnd Bergmann	select HWBM
820e85663bSArnd Bergmann	select GENERIC_ALLOCATOR
83019ded3aSArnd Bergmann	help
84019ded3aSArnd Bergmann	  MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
85019ded3aSArnd Bergmann	  that all dependencies are met.
86019ded3aSArnd Bergmann
873f518509SMarcin Wojtasconfig MVPP2
88fc5e1550SThomas Petazzoni	tristate "Marvell Armada 375/7K/8K network interface support"
89d3158807SThomas Petazzoni	depends on ARCH_MVEBU || COMPILE_TEST
903f518509SMarcin Wojtas	select MVMDIO
914bb04326SAntoine Tenart	select PHYLINK
92b27db227SMatteo Croce	select PAGE_POOL
93a7f7f624SMasahiro Yamada	help
943f518509SMarcin Wojtas	  This driver supports the network interface units in the
95fc5e1550SThomas Petazzoni	  Marvell ARMADA 375, 7K and 8K SoCs.
963f518509SMarcin Wojtas
9791dd7195SRussell Kingconfig MVPP2_PTP
9891dd7195SRussell King	bool "Marvell Armada 8K Enable PTP support"
9991dd7195SRussell King	depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
10091dd7195SRussell King		   (PTP_1588_CLOCK && MVPP2 = m)
10191dd7195SRussell King
102527a6266SJeff Kirsherconfig PXA168_ETH
103527a6266SJeff Kirsher	tristate "Marvell pxa168 ethernet support"
104e020797bSGeert Uytterhoeven	depends on HAS_IOMEM
1053b3d136cSGeert Uytterhoeven	depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
106527a6266SJeff Kirsher	select PHYLIB
107a7f7f624SMasahiro Yamada	help
108527a6266SJeff Kirsher	  This driver supports the pxa168 Ethernet ports.
109527a6266SJeff Kirsher
110527a6266SJeff Kirsher	  To compile this driver as a module, choose M here. The module
111527a6266SJeff Kirsher	  will be called pxa168_eth.
112527a6266SJeff Kirsher
113527a6266SJeff Kirsherconfig SKGE
114527a6266SJeff Kirsher	tristate "Marvell Yukon Gigabit Ethernet support"
115527a6266SJeff Kirsher	depends on PCI
116527a6266SJeff Kirsher	select CRC32
117a7f7f624SMasahiro Yamada	help
118527a6266SJeff Kirsher	  This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
119527a6266SJeff Kirsher	  and related Gigabit Ethernet adapters. It is a new smaller driver
120527a6266SJeff Kirsher	  with better performance and more complete ethtool support.
121527a6266SJeff Kirsher
122527a6266SJeff Kirsher	  It does not support the link failover and network management
123527a6266SJeff Kirsher	  features that "portable" vendor supplied sk98lin driver does.
124527a6266SJeff Kirsher
125527a6266SJeff Kirsher	  This driver supports adapters based on the original Yukon chipset:
126527a6266SJeff Kirsher	  Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
127527a6266SJeff Kirsher	  Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
128527a6266SJeff Kirsher
129527a6266SJeff Kirsher	  It does not support the newer Yukon2 chipset: a separate driver,
130527a6266SJeff Kirsher	  sky2, is provided for these adapters.
131527a6266SJeff Kirsher
132527a6266SJeff Kirsher	  To compile this driver as a module, choose M here: the module
133527a6266SJeff Kirsher	  will be called skge.  This is recommended.
134527a6266SJeff Kirsher
135527a6266SJeff Kirsherconfig SKGE_DEBUG
136527a6266SJeff Kirsher	bool "Debugging interface"
137527a6266SJeff Kirsher	depends on SKGE && DEBUG_FS
138a7f7f624SMasahiro Yamada	help
139527a6266SJeff Kirsher	  This option adds the ability to dump driver state for debugging.
140527a6266SJeff Kirsher	  The file /sys/kernel/debug/skge/ethX displays the state of the internal
141527a6266SJeff Kirsher	  transmit and receive rings.
142527a6266SJeff Kirsher
143527a6266SJeff Kirsher	  If unsure, say N.
144527a6266SJeff Kirsher
145527a6266SJeff Kirsherconfig SKGE_GENESIS
146527a6266SJeff Kirsher	bool "Support for older SysKonnect Genesis boards"
147527a6266SJeff Kirsher	depends on SKGE
148a7f7f624SMasahiro Yamada	help
149527a6266SJeff Kirsher	 This enables support for the older and uncommon SysKonnect Genesis
150527a6266SJeff Kirsher	 chips, which support MII via an external transceiver, instead of
151527a6266SJeff Kirsher	 an internal one. Disabling this option will save some memory
152527a6266SJeff Kirsher	 by making code smaller. If unsure say Y.
153527a6266SJeff Kirsher
154527a6266SJeff Kirsherconfig SKY2
155527a6266SJeff Kirsher	tristate "Marvell Yukon 2 support"
156527a6266SJeff Kirsher	depends on PCI
157527a6266SJeff Kirsher	select CRC32
158a7f7f624SMasahiro Yamada	help
159527a6266SJeff Kirsher	  This driver supports Gigabit Ethernet adapters based on the
160527a6266SJeff Kirsher	  Marvell Yukon 2 chipset:
161527a6266SJeff Kirsher	  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
162527a6266SJeff Kirsher	  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
163527a6266SJeff Kirsher
164527a6266SJeff Kirsher	  There is companion driver for the older Marvell Yukon and
165527a6266SJeff Kirsher	  SysKonnect Genesis based adapters: skge.
166527a6266SJeff Kirsher
167527a6266SJeff Kirsher	  To compile this driver as a module, choose M here: the module
168527a6266SJeff Kirsher	  will be called sky2.  This is recommended.
169527a6266SJeff Kirsher
170527a6266SJeff Kirsherconfig SKY2_DEBUG
171527a6266SJeff Kirsher	bool "Debugging interface"
172527a6266SJeff Kirsher	depends on SKY2 && DEBUG_FS
173a7f7f624SMasahiro Yamada	help
174527a6266SJeff Kirsher	  This option adds the ability to dump driver state for debugging.
175527a6266SJeff Kirsher	  The file /sys/kernel/debug/sky2/ethX displays the state of the internal
176527a6266SJeff Kirsher	  transmit and receive rings.
177527a6266SJeff Kirsher
178527a6266SJeff Kirsher	  If unsure, say N.
179527a6266SJeff Kirsher
18054494aa5SSunil Goutham
18154494aa5SSunil Gouthamsource "drivers/net/ethernet/marvell/octeontx2/Kconfig"
182862cd659SVeerasenareddy Burrusource "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
183501ef306SVadym Kochansource "drivers/net/ethernet/marvell/prestera/Kconfig"
18454494aa5SSunil Goutham
185527a6266SJeff Kirsherendif # NET_VENDOR_MARVELL
186