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