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