GNU Linux-libre 6.8.9-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 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
46 config 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
60 config 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
76 config 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
87 config 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
97 config 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
102 config 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
113 config 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
135 config 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
145 config 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
154 config 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
170 config 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
181 source "drivers/net/ethernet/marvell/octeontx2/Kconfig"
182 source "drivers/net/ethernet/marvell/octeon_ep/Kconfig"
183 source "drivers/net/ethernet/marvell/prestera/Kconfig"
184
185 endif # NET_VENDOR_MARVELL