GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / net / ethernet / marvell / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Marvell device configuration
4 #
5
6 config 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
18 if NET_VENDOR_MARVELL
19
20 config 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
34 config 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
45 config 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
59 config 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
75 config 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
86 config 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
96 config 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
101 config 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
112 config 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
134 config 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
144 config 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
153 config 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
169 config 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
180 source "drivers/net/ethernet/marvell/octeontx2/Kconfig"
181 source "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
182 source "drivers/net/ethernet/marvell/prestera/Kconfig"
183
184 endif # NET_VENDOR_MARVELL