1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Marvell device configuration
4#
5
6config NET_VENDOR_MARVELL
7	bool "Marvell devices"
8	default y
9	depends on PCI || CPU_PXA168 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
10	help
11	  If you have a network (Ethernet) card belonging to this class, say Y.
12
13	  Note that the answer to this question doesn't directly affect the
14	  kernel: saying N will just cause the configurator to skip all
15	  the questions about Marvell devices. If you say Y, you will be
16	  asked for your specific card in the following questions.
17
18if NET_VENDOR_MARVELL
19
20config MV643XX_ETH
21	tristate "Marvell Discovery (643XX) and Orion ethernet support"
22	depends on PPC32 || PLAT_ORION || COMPILE_TEST
23	depends on INET
24	select PHYLIB
25	select MVMDIO
26	help
27	  This driver supports the gigabit ethernet MACs in the
28	  Marvell Discovery PPC/MIPS chipset family (MV643XX) and
29	  in the Marvell Orion ARM SoC family.
30
31	  Some boards that use the Discovery chipset are the Momenco
32	  Ocelot C and Jaguar ATX and Pegasos II.
33
34config MVMDIO
35	tristate "Marvell MDIO interface support"
36	depends on HAS_IOMEM
37	select PHYLIB
38	help
39	  This driver supports the MDIO interface found in the network
40	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
41	  Dove, Armada 370 and Armada XP).
42
43	  This driver is used by the MV643XX_ETH and MVNETA drivers.
44
45config MVNETA_BM_ENABLE
46	tristate "Marvell Armada 38x/XP network interface BM support"
47	depends on MVNETA
48	depends on !64BIT
49	help
50	  This driver supports auxiliary block of the network
51	  interface units in the Marvell ARMADA XP and ARMADA 38x SoC
52	  family, which is called buffer manager.
53
54	  This driver, when enabled, strictly cooperates with mvneta
55	  driver and is common for all network ports of the devices,
56	  even for Armada 370 SoC, which doesn't support hardware
57	  buffer management.
58
59config MVNETA
60	tristate "Marvell Armada 370/38x/XP/37xx network interface support"
61	depends on ARCH_MVEBU || COMPILE_TEST
62	select MVMDIO
63	select PHYLINK
64	select PAGE_POOL
65	select PAGE_POOL_STATS
66	help
67	  This driver supports the network interface units in the
68	  Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
69	  ARMADA 37xx SoC family.
70
71	  Note that this driver is distinct from the mv643xx_eth
72	  driver, which should be used for the older Marvell SoCs
73	  (Dove, Orion, Discovery, Kirkwood).
74
75config MVNETA_BM
76	tristate
77	depends on !64BIT
78	default y if MVNETA=y && MVNETA_BM_ENABLE!=n
79	default MVNETA_BM_ENABLE
80	select HWBM
81	select GENERIC_ALLOCATOR
82	help
83	  MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
84	  that all dependencies are met.
85
86config MVPP2
87	tristate "Marvell Armada 375/7K/8K network interface support"
88	depends on ARCH_MVEBU || COMPILE_TEST
89	select MVMDIO
90	select PHYLINK
91	select PAGE_POOL
92	help
93	  This driver supports the network interface units in the
94	  Marvell ARMADA 375, 7K and 8K SoCs.
95
96config MVPP2_PTP
97	bool "Marvell Armada 8K Enable PTP support"
98	depends on (PTP_1588_CLOCK = y && MVPP2 = y) || \
99		   (PTP_1588_CLOCK && MVPP2 = m)
100
101config PXA168_ETH
102	tristate "Marvell pxa168 ethernet support"
103	depends on HAS_IOMEM
104	depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
105	select PHYLIB
106	help
107	  This driver supports the pxa168 Ethernet ports.
108
109	  To compile this driver as a module, choose M here. The module
110	  will be called pxa168_eth.
111
112config SKGE
113	tristate "Marvell Yukon Gigabit Ethernet support"
114	depends on PCI
115	select CRC32
116	help
117	  This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
118	  and related Gigabit Ethernet adapters. It is a new smaller driver
119	  with better performance and more complete ethtool support.
120
121	  It does not support the link failover and network management
122	  features that "portable" vendor supplied sk98lin driver does.
123
124	  This driver supports adapters based on the original Yukon chipset:
125	  Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
126	  Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
127
128	  It does not support the newer Yukon2 chipset: a separate driver,
129	  sky2, is provided for these adapters.
130
131	  To compile this driver as a module, choose M here: the module
132	  will be called skge.  This is recommended.
133
134config SKGE_DEBUG
135	bool "Debugging interface"
136	depends on SKGE && DEBUG_FS
137	help
138	  This option adds the ability to dump driver state for debugging.
139	  The file /sys/kernel/debug/skge/ethX displays the state of the internal
140	  transmit and receive rings.
141
142	  If unsure, say N.
143
144config SKGE_GENESIS
145	bool "Support for older SysKonnect Genesis boards"
146	depends on SKGE
147	help
148	 This enables support for the older and uncommon SysKonnect Genesis
149	 chips, which support MII via an external transceiver, instead of
150	 an internal one. Disabling this option will save some memory
151	 by making code smaller. If unsure say Y.
152
153config SKY2
154	tristate "Marvell Yukon 2 support"
155	depends on PCI
156	select CRC32
157	help
158	  This driver supports Gigabit Ethernet adapters based on the
159	  Marvell Yukon 2 chipset:
160	  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
161	  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
162
163	  There is companion driver for the older Marvell Yukon and
164	  SysKonnect Genesis based adapters: skge.
165
166	  To compile this driver as a module, choose M here: the module
167	  will be called sky2.  This is recommended.
168
169config SKY2_DEBUG
170	bool "Debugging interface"
171	depends on SKY2 && DEBUG_FS
172	help
173	  This option adds the ability to dump driver state for debugging.
174	  The file /sys/kernel/debug/sky2/ethX displays the state of the internal
175	  transmit and receive rings.
176
177	  If unsure, say N.
178
179
180source "drivers/net/ethernet/marvell/octeontx2/Kconfig"
181source "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
182source "drivers/net/ethernet/marvell/prestera/Kconfig"
183
184endif # NET_VENDOR_MARVELL
185