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