blob: 4e5da5ab72a5ca1b67f3d668a32caaac81da8573 [file] [log] [blame]
Alex89e50d92017-02-06 19:17:34 -08001source "drivers/net/phy/Kconfig"
Calvin Johnson0e6101a2018-03-08 15:30:35 +05302source "drivers/net/pfe_eth/Kconfig"
Florinel Iordachedfd4c0f2019-05-15 09:09:21 +00003source "drivers/net/fsl-mc/Kconfig"
Alex89e50d92017-02-06 19:17:34 -08004
Simon Glass1d926242021-08-08 12:20:31 -06005config ETH
6 def_bool y
7
Joe Hershbergerc7eceaf2015-03-22 17:09:10 -05008config DM_ETH
Tom Rini4c40e732022-08-02 07:33:47 -04009 bool
Joe Hershbergerc7eceaf2015-03-22 17:09:10 -050010 depends on DM
11 help
12 Enable driver model for Ethernet.
13
Joe Hershberger54214e62018-07-02 14:47:48 -050014 The eth_*() interface will be implemented by the UCLASS_ETH class
15 This is currently implemented in net/eth-uclass.c
Joe Hershbergerc7eceaf2015-03-22 17:09:10 -050016 Look in include/net.h for details.
Joe Hershberger6ab76992015-03-22 17:09:13 -050017
Tom Rini68fc04c2022-11-27 10:25:36 -050018config SPL_DM_ETH
19 depends on SPL_NET
20 def_bool y
21
Alex Marginean1a5b0982019-06-03 19:10:30 +030022config DM_MDIO
23 bool "Enable Driver Model for MDIO devices"
Tom Rini4c40e732022-08-02 07:33:47 -040024 depends on PHYLIB
Alex Marginean1a5b0982019-06-03 19:10:30 +030025 help
26 Enable driver model for MDIO devices
27
28 Adds UCLASS_MDIO DM class supporting MDIO buses that are probed as
29 stand-alone devices. Useful in particular for systems that support
30 DM_ETH and have a stand-alone MDIO hardware block shared by multiple
31 Ethernet interfaces.
32 This is currently implemented in net/mdio-uclass.c
33 Look in include/miiphy.h for details.
34
Alex Margineanab8c2a52019-07-12 10:13:50 +030035config DM_MDIO_MUX
36 bool "Enable Driver Model for MDIO MUX devices"
37 depends on DM_MDIO
38 help
39 Enable driver model for MDIO MUX devices
40
41 Adds UCLASS_MDIO_MUX DM class supporting MDIO MUXes. Useful for
42 systems that support DM_MDIO and integrate one or multiple muxes on
43 the MDIO bus.
44 This is currently implemented in net/mdio-mux-uclass.c
45 Look in include/miiphy.h for details.
46
Claudiu Manoilc0566c22021-01-25 14:23:53 +020047config DM_DSA
48 bool "Enable Driver Model for DSA switches"
Tom Rini4c40e732022-08-02 07:33:47 -040049 depends on DM_MDIO
Claudiu Manoilc0566c22021-01-25 14:23:53 +020050 depends on PHY_FIXED
51 help
52 Enable driver model for DSA switches
53
54 Adds UCLASS_DSA class supporting switches that follow the Distributed
55 Switch Architecture (DSA). These switches rely on the presence of a
56 management switch port connected to an Ethernet controller capable of
57 receiving frames from the switch. This host Ethernet controller is
58 called the "master" Ethernet interface in DSA terminology.
59 This is currently implemented in net/dsa-uclass.c, refer to
60 include/net/dsa.h for API details.
61
Alex Marginean0daa53a2019-06-03 19:12:28 +030062config MDIO_SANDBOX
63 depends on DM_MDIO && SANDBOX
64 default y
65 bool "Sandbox: Mocked MDIO driver"
66 help
67 This driver implements dummy read/write/reset MDIO functions mimicking
68 a bus with a single PHY.
69
70 This driver is used in for testing in test/dm/mdio.c
71
Alex Marginean0649be52019-07-12 10:13:53 +030072config MDIO_MUX_SANDBOX
73 depends on DM_MDIO_MUX && MDIO_SANDBOX
74 default y
75 bool "Sandbox: Mocked MDIO-MUX driver"
76 help
77 This driver implements dummy select/deselect ops mimicking a MUX on
78 the MDIO bux. It uses mdio_sandbox driver as parent MDIO.
79
80 This driver is used for testing in test/dm/mdio.c
81
Ye Licd5bb772020-05-03 22:41:14 +080082config DM_ETH_PHY
83 bool "Enable Driver Model for Ethernet Generic PHY drivers"
84 depends on DM
85 help
86 Enable driver model for Ethernet Generic PHY .
87
Claudiu Manoild9eaa922021-03-14 20:14:57 +080088config DSA_SANDBOX
89 depends on DM_DSA && SANDBOX
90 default y
91 bool "Sandbox: Mocked DSA driver"
92 help
93 This driver implements a dummy DSA switch connected to a dummy sandbox
94 Ethernet device used as DSA master, to test DSA class code, including
95 exported DSA API and datapath processing of Ethernet traffic.
96
Joe Hershberger6ab76992015-03-22 17:09:13 -050097menuconfig NETDEVICES
98 bool "Network device support"
99 depends on NET
Tom Rini4c40e732022-08-02 07:33:47 -0400100 select DM_ETH
Joe Hershberger6ab76992015-03-22 17:09:13 -0500101 help
102 You must select Y to enable any network device support
103 Generally if you have any networking support this is a given
104
105 If unsure, say Y
106
107if NETDEVICES
108
Philipp Tomsich00c33612017-03-26 18:50:23 +0200109config PHY_GIGE
110 bool "Enable GbE PHY status parsing and configuration"
111 help
112 Enables support for parsing the status output and for
113 configuring GbE PHYs (affects the inner workings of some
114 commands and miiphyutil.c).
115
Marek Vasut0a3d0e12016-05-24 23:29:09 +0200116config AG7XXX
117 bool "Atheros AG7xxx Ethernet MAC support"
Tom Rini4c40e732022-08-02 07:33:47 -0400118 depends on ARCH_ATH79
Marek Vasut0a3d0e12016-05-24 23:29:09 +0200119 select PHYLIB
120 help
121 This driver supports the Atheros AG7xxx Ethernet MAC. This MAC is
122 present in the Atheros AR7xxx, AR9xxx and QCA9xxx MIPS chips.
123
124
Thomas Chouec06dd82015-10-22 15:29:11 +0800125config ALTERA_TSE
126 bool "Altera Triple-Speed Ethernet MAC support"
Thomas Chouec06dd82015-10-22 15:29:11 +0800127 select PHYLIB
128 help
129 This driver supports the Altera Triple-Speed (TSE) Ethernet MAC.
130 Please find details on the "Triple-Speed Ethernet MegaCore Function
131 Resource Center" of Altera.
132
Suji Velupillaid2f677a2017-07-10 14:05:41 -0700133config BCM_SF2_ETH
134 bool "Broadcom SF2 (Starfighter2) Ethernet support"
135 select PHYLIB
136 help
137 This is an abstract framework which provides a generic interface
138 to MAC and DMA management for multiple Broadcom SoCs such as
139 Cygnus, NSP and bcm28155_ap platforms.
140
141config BCM_SF2_ETH_DEFAULT_PORT
142 int "Broadcom SF2 (Starfighter2) Ethernet default port number"
143 depends on BCM_SF2_ETH
144 default 0
145 help
146 Default port number for the Starfighter2 ethernet driver.
147
148config BCM_SF2_ETH_GMAC
149 bool "Broadcom SF2 (Starfighter2) GMAC Ethernet support"
150 depends on BCM_SF2_ETH
151 help
152 This flag enables the ethernet support for Broadcom platforms with
153 GMAC such as Cygnus. This driver is based on the framework provided
154 by the BCM_SF2_ETH driver.
155 Say Y to any bcmcygnus based platforms.
156
Álvaro Fernández Rojas204fd5e2018-12-01 19:00:24 +0100157config BCM6348_ETH
158 bool "BCM6348 EMAC support"
Tom Rini4c40e732022-08-02 07:33:47 -0400159 depends on ARCH_BMIPS
Álvaro Fernández Rojas204fd5e2018-12-01 19:00:24 +0100160 select DMA
161 select DMA_CHANNELS
162 select MII
163 select PHYLIB
164 help
165 This driver supports the BCM6348 Ethernet MAC.
166
Álvaro Fernández Rojasb0b22542018-12-01 19:00:32 +0100167config BCM6368_ETH
168 bool "BCM6368 EMAC support"
Tom Rini4c40e732022-08-02 07:33:47 -0400169 depends on ARCH_BMIPS
Álvaro Fernández Rojasb0b22542018-12-01 19:00:32 +0100170 select DMA
171 select MII
172 help
173 This driver supports the BCM6368 Ethernet MAC.
174
Amit Singh Tomar8f656c52020-01-27 01:14:42 +0000175config BCMGENET
176 bool "BCMGENET V5 support"
Amit Singh Tomar8f656c52020-01-27 01:14:42 +0000177 select PHYLIB
178 help
179 This driver supports the BCMGENET Ethernet MAC.
180
Tom Rinifc42f2c2022-11-27 10:25:02 -0500181source "drivers/net/bnxt/Kconfig"
182
Aaron Tsengebcdddd2021-01-14 13:34:11 -0800183config CORTINA_NI_ENET
184 bool "Cortina-Access Ethernet driver"
Tom Rini4c40e732022-08-02 07:33:47 -0400185 depends on CORTINA_PLATFORM
Aaron Tsengebcdddd2021-01-14 13:34:11 -0800186 help
187 This driver supports the Cortina-Access Ethernet MAC for
188 all supported CAxxxx SoCs.
189
Andre Przywara7352fb92021-04-12 01:04:52 +0100190config CALXEDA_XGMAC
191 bool "Calxeda XGMAC support"
Andre Przywara7352fb92021-04-12 01:04:52 +0100192 help
193 This driver supports the XGMAC in Calxeda Highbank and Midway
194 machines.
195
Marek Vasutd2105972022-04-13 04:15:38 +0200196config DRIVER_DM9000
197 bool "Davicom DM9000 controller driver"
198 help
199 The Davicom DM9000 parallel bus external ethernet interface chip.
200
Stephen Warren50709602016-10-21 14:46:47 -0600201config DWC_ETH_QOS
202 bool "Synopsys DWC Ethernet QOS device support"
Stephen Warren50709602016-10-21 14:46:47 -0600203 select PHYLIB
204 help
205 This driver supports the Synopsys Designware Ethernet QOS (Quality
206 Of Service) IP block. The IP supports many options for bus type,
Patrick Delaunay68083902020-06-08 11:27:19 +0200207 clocking/reset structure, and feature list.
208
209config DWC_ETH_QOS_IMX
210 bool "Synopsys DWC Ethernet QOS device support for IMX"
211 depends on DWC_ETH_QOS
212 help
213 The Synopsys Designware Ethernet QOS IP block with the specific
214 configuration used in IMX soc.
215
216config DWC_ETH_QOS_STM32
217 bool "Synopsys DWC Ethernet QOS device support for STM32"
218 depends on DWC_ETH_QOS
Patrick Delaunayd9dc80c2021-07-20 20:09:55 +0200219 select DM_ETH_PHY
Patrick Delaunay68083902020-06-08 11:27:19 +0200220 default y if ARCH_STM32MP
221 help
222 The Synopsys Designware Ethernet QOS IP block with the specific
223 configuration used in STM32MP soc.
224
225config DWC_ETH_QOS_TEGRA186
226 bool "Synopsys DWC Ethernet QOS device support for TEGRA186"
227 depends on DWC_ETH_QOS
228 default y if TEGRA186
229 help
230 The Synopsys Designware Ethernet QOS IP block with specific
231 configuration used in NVIDIA's Tegra186 chip.
Stephen Warren50709602016-10-21 14:46:47 -0600232
Simon Glassa83ccd52015-08-19 09:33:41 -0600233config E1000
234 bool "Intel PRO/1000 Gigabit Ethernet support"
Sean Andersond22315a2022-04-26 14:35:33 -0400235 depends on PCI
Simon Glassa83ccd52015-08-19 09:33:41 -0600236 help
237 This driver supports Intel(R) PRO/1000 gigabit ethernet family of
238 adapters. For more information on how to identify your adapter, go
239 to the Adapter & Driver ID Guide at:
240
241 <http://support.intel.com/support/network/adapter/pro100/21397.htm>
242
Tom Rinia35003b2022-06-08 08:24:23 -0400243config E1000_NO_NVM
244 bool "Intel PRO/1000 has no NVMEM / EEPROM"
245 depends on E1000
246
Simon Glassa83ccd52015-08-19 09:33:41 -0600247config E1000_SPI_GENERIC
248 bool "Allow access to the Intel 8257x SPI bus"
249 depends on E1000
250 help
251 Allow generic access to the SPI bus on the Intel 8257x, for
252 example with the "sspi" command.
253
254config E1000_SPI
255 bool "Enable SPI bus utility code"
256 depends on E1000
257 help
258 Utility code for direct access to the SPI bus on Intel 8257x.
259 This does not do anything useful unless you set at least one
260 of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
261
262config CMD_E1000
263 bool "Enable the e1000 command"
264 depends on E1000
265 help
266 This enables the 'e1000' management command for E1000 devices. When
267 used on devices with SPI support you can reprogram the EEPROM from
268 U-Boot.
269
Marek Vasut2dcaf852020-05-23 18:07:53 +0200270config EEPRO100
271 bool "Intel PRO/100 82557/82559/82559ER Fast Ethernet support"
272 help
273 This driver supports Intel(R) PRO/100 82557/82559/82559ER fast
274 ethernet family of adapters.
275
Joe Hershberger6ab76992015-03-22 17:09:13 -0500276config ETH_SANDBOX
Tom Rini4c40e732022-08-02 07:33:47 -0400277 depends on SANDBOX
Joe Hershberger6ab76992015-03-22 17:09:13 -0500278 default y
279 bool "Sandbox: Mocked Ethernet driver"
280 help
281 This driver simply responds with fake ARP replies and ping
282 replies that are used to verify network stack functionality
283
284 This driver is particularly useful in the test/dm/eth.c tests
285
Joe Hershberger586cbd12015-03-22 17:09:21 -0500286config ETH_SANDBOX_RAW
Tom Rini4c40e732022-08-02 07:33:47 -0400287 depends on SANDBOX
Joe Hershberger586cbd12015-03-22 17:09:21 -0500288 default y
289 bool "Sandbox: Bridge to Linux Raw Sockets"
290 help
291 This driver is a bridge from the bottom of the network stack
292 in U-Boot to the RAW AF_PACKET API in Linux. This allows real
293 network traffic to be tested from within sandbox. See
Keerthyfa002552019-07-29 13:52:04 +0530294 doc/arch/index.rst for more details.
Joe Hershberger586cbd12015-03-22 17:09:21 -0500295
Simon Glass6e378742015-04-05 16:07:34 -0600296config ETH_DESIGNWARE
297 bool "Synopsys Designware Ethernet MAC"
Thomas Chou7a0dfa62015-12-07 20:53:29 +0800298 select PHYLIB
Simon Goldschmidtad588932019-01-13 19:58:41 +0100299 imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
Simon Glass6e378742015-04-05 16:07:34 -0600300 help
301 This MAC is present in SoCs from various vendors. It supports
302 100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
303 provide the PHY (physical media interface).
304
Neil Armstrong145aff72021-02-24 20:33:56 +0100305config ETH_DESIGNWARE_MESON8B
306 bool "Amlogic Meson8b and later glue driver for Synopsys Designware Ethernet MAC"
Neil Armstrong145aff72021-02-24 20:33:56 +0100307 select ETH_DESIGNWARE
308 help
309 This provides glue layer to use Synopsys Designware Ethernet MAC
310 present on the Amlogic Meson8b, GX, AXG & G12A SoCs.
311
Marek Vasut0d9a4a02018-08-13 19:32:14 +0200312config ETH_DESIGNWARE_SOCFPGA
Simon Goldschmidtb50afc82019-01-13 19:58:40 +0100313 select REGMAP
314 select SYSCON
Tom Rini7ac21a32022-06-15 12:03:43 -0400315 select DW_ALTDESCRIPTOR
Marek Vasut0d9a4a02018-08-13 19:32:14 +0200316 bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
Tom Rini4c40e732022-08-02 07:33:47 -0400317 depends on ETH_DESIGNWARE
Marek Vasut0d9a4a02018-08-13 19:32:14 +0200318 help
319 The Altera SoCFPGA requires additional configuration of the
320 Altera system manager to correctly interface with the PHY.
321 This code handles those SoC specifics.
322
Amit Singh Tomar03d6edb2020-05-09 19:55:12 +0530323config ETH_DESIGNWARE_S700
324 bool "Actins S700 glue driver for Synopsys Designware Ethernet MAC"
Tom Rini4c40e732022-08-02 07:33:47 -0400325 depends on ETH_DESIGNWARE
Amit Singh Tomar03d6edb2020-05-09 19:55:12 +0530326 help
327 This provides glue layer to use Synopsys Designware Ethernet MAC
328 present on Actions S700 SoC.
329
Tom Rini7ac21a32022-06-15 12:03:43 -0400330config DW_ALTDESCRIPTOR
331 bool "Designware Ethernet MAC uses alternate (enhanced) descriptors"
332 depends on ETH_DESIGNWARE
333
Max Filippove07d3d22016-08-05 18:26:15 +0300334config ETHOC
335 bool "OpenCores 10/100 Mbps Ethernet MAC"
336 help
337 This MAC is present in OpenRISC and Xtensa XTFPGA boards.
338
Peng Fana65e0362018-03-28 20:54:14 +0800339config FEC_MXC_SHARE_MDIO
340 bool "Share the MDIO bus for FEC controller"
341 depends on FEC_MXC
342
343config FEC_MXC_MDIO_BASE
344 hex "MDIO base address for the FEC controller"
345 depends on FEC_MXC_SHARE_MDIO
346 help
347 This specifies the MDIO registers base address. It is used when
348 two FEC controllers share MDIO bus.
349
Jagan Tekia48af852016-10-08 18:00:12 +0530350config FEC_MXC
351 bool "FEC Ethernet controller"
Peng Fanfad6d902022-07-26 16:41:12 +0800352 depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || IMX93 || VF610
Jagan Tekia48af852016-10-08 18:00:12 +0530353 help
354 This driver supports the 10/100 Fast Ethernet controller for
355 NXP i.MX processors.
356
Tom Rinifa911f82019-05-12 07:59:12 -0400357config FMAN_ENET
358 bool "Freescale FMan ethernet support"
359 depends on ARM || PPC
Tom Rini82a703b2022-07-23 13:05:06 -0400360 select SYS_FMAN_V3 if ARCH_B4420 || ARCH_B4860 || ARCH_LS1043A || \
361 ARCH_LS1046A || ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || \
362 ARCH_T2080 || ARCH_T4240
Tom Rinifa911f82019-05-12 07:59:12 -0400363 help
364 This driver support the Freescale FMan Ethernet controller
365
Rajesh Bhagataec38012021-11-09 16:30:38 +0530366config SYS_FMAN_FW_ADDR
367 hex "FMAN Firmware Address"
368 depends on FMAN_ENET
369 default 0x0
370
371config SYS_QE_FMAN_FW_LENGTH
372 hex "FMAN QE Firmware length"
373 depends on FMAN_ENET || QE || U_QE
374 default 0x10000
375
Tom Rini82a703b2022-07-23 13:05:06 -0400376config SYS_FMAN_V3
377 bool
Tom Rini33ae6a72022-07-23 13:05:10 -0400378 select FSL_MEMAC
Tom Rini82a703b2022-07-23 13:05:06 -0400379 help
380 SoC has FMan v3 with mEMAC
381
Tom Rinic5ea8ed2017-05-26 11:18:53 -0400382config FTMAC100
383 bool "Ftmac100 Ethernet Support"
384 help
385 This MAC is present in Andestech SoCs.
386
Cédric Le Goater38b33e92018-10-29 07:06:31 +0100387config FTGMAC100
388 bool "Ftgmac100 Ethernet Support"
Cédric Le Goater38b33e92018-10-29 07:06:31 +0100389 select PHYLIB
390 help
391 This driver supports the Faraday's FTGMAC100 Gigabit SoC
392 Ethernet controller that can be found on Aspeed SoCs (which
393 include NCSI).
394
395 It is fully compliant with IEEE 802.3 specification for
396 10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
397 Mbps Ethernet and includes Reduced Media Independent
398 Interface (RMII) and Reduced Gigabit Media Independent
399 Interface (RGMII) interfaces. It adopts an AHB bus interface
400 and integrates a link list DMA engine with direct M-Bus
401 accesses for transmitting and receiving packets. It has
402 independent TX/RX fifos, supports half and full duplex (1000
403 Mbps mode only supports full duplex), flow control for full
404 duplex and backpressure for half duplex.
405
406 The FTGMAC100 also implements IP, TCP, UDP checksum offloads
407 and supports IEEE 802.1Q VLAN tag insertion and removal. It
408 offers high-priority transmit queue for QoS and CoS
409 applications.
410
Tom Rinibd8253d2022-06-25 11:02:36 -0400411config SYS_DISCOVER_PHY
412 bool
Cédric Le Goater38b33e92018-10-29 07:06:31 +0100413
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100414config MCFFEC
415 bool "ColdFire Ethernet Support"
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100416 select PHYLIB
Tom Rinibd8253d2022-06-25 11:02:36 -0400417 select SYS_DISCOVER_PHY
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100418 help
419 This driver supports the network interface units in the
420 ColdFire family.
421
Tom Rini74d888f2022-06-25 11:02:35 -0400422config SYS_UNIFY_CACHE
423 depends on MCFFEC
424 bool "Invalidate icache during ethernet operations"
425
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100426config FSLDMAFEC
427 bool "ColdFire DMA Ethernet Support"
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100428 select PHYLIB
Tom Rinibd8253d2022-06-25 11:02:36 -0400429 select SYS_DISCOVER_PHY
Angelo Durgehelloa1d3d9f2019-11-15 23:54:17 +0100430 help
431 This driver supports the network interface units in the
432 ColdFire family.
433
Marek Vasutf4622282020-03-25 19:08:59 +0100434config KS8851_MLL
435 bool "Microchip KS8851-MLL controller driver"
436 help
437 The Microchip KS8851 parallel bus external ethernet interface chip.
438
Tim Harvey06dea1e2021-06-30 16:50:08 -0700439config KSZ9477
440 bool "Microchip KSZ9477 I2C controller driver"
441 depends on DM_DSA && DM_I2C
442 help
443 This driver implements a DSA switch driver for the KSZ9477 family
444 of GbE switches using the I2C interface.
445
Joel Stanley705017a2022-09-26 15:35:58 +0930446config LITEETH
447 bool "LiteX LiteEth Ethernet MAC"
448 help
449 Driver for the LiteEth Ethernet MAC from LiteX.
450
Chris Packham943679d2018-05-03 23:00:35 +1200451config MVGBE
452 bool "Marvell Orion5x/Kirkwood network interface support"
Trevor Woernerbb7ab072020-05-06 08:02:40 -0400453 depends on ARCH_KIRKWOOD || ARCH_ORION5X
Tom Rini4c40e732022-08-02 07:33:47 -0400454 select PHYLIB
Chris Packham943679d2018-05-03 23:00:35 +1200455 help
456 This driver supports the network interface units in the
457 Marvell Orion5x and Kirkwood SoCs
458
Chris Packham919041c2017-08-21 20:17:03 +1200459config MVNETA
Miquel Raynal59d42cd2017-12-28 15:43:09 +0100460 bool "Marvell Armada XP/385/3700 network interface support"
Chris Packham44b7cc72022-11-05 17:23:56 +1300461 depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 || ALLEYCAT_5
Chris Packham919041c2017-08-21 20:17:03 +1200462 select PHYLIB
Marek Behún99e296f2022-04-27 12:41:46 +0200463 select DM_MDIO
Chris Packham919041c2017-08-21 20:17:03 +1200464 help
465 This driver supports the network interface units in the
Miquel Raynal59d42cd2017-12-28 15:43:09 +0100466 Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
Chris Packham919041c2017-08-21 20:17:03 +1200467
Stefan Roese96c19042016-02-10 07:22:10 +0100468config MVPP2
Stefan Roese78a112b2017-02-15 11:42:59 +0100469 bool "Marvell Armada 375/7K/8K network interface support"
470 depends on ARMADA_375 || ARMADA_8K
Stefan Roese96c19042016-02-10 07:22:10 +0100471 select PHYLIB
Nevo Hed5da38842019-08-15 18:08:45 -0400472 select MVMDIO
473 select DM_MDIO
Stefan Roese96c19042016-02-10 07:22:10 +0100474 help
475 This driver supports the network interface units in the
Stefan Roese78a112b2017-02-15 11:42:59 +0100476 Marvell ARMADA 375, 7K and 8K SoCs.
Stefan Roese96c19042016-02-10 07:22:10 +0100477
Wenyou Yange7183de2016-11-02 10:06:55 +0800478config MACB
479 bool "Cadence MACB/GEM Ethernet Interface"
Wenyou Yange7183de2016-11-02 10:06:55 +0800480 select PHYLIB
481 help
482 The Cadence MACB ethernet interface is found on many Atmel
483 AT91 and SAMA5 parts. This driver also supports the Cadence
484 GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
485 Say Y to include support for the MACB/GEM chip.
486
Wilson Lee41d6d1e2017-08-22 20:25:07 -0700487config MACB_ZYNQ
488 bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
489 depends on MACB
490 help
491 The Cadence MACB ethernet interface was used on Zynq platform.
492 Say Y to enable support for the MACB/GEM in Zynq chip.
493
developer7b4c8be2020-11-12 16:36:53 +0800494config MT7620_ETH
495 bool "MediaTek MT7620 Ethernet Interface"
496 depends on SOC_MT7620
497 select PHYLIB
498 select DM_RESET
499 select DM_GPIO
500 select CLK
501 help
502 The MediaTek MT7620 ethernet interface is used on MT7620 based
503 boards. It has a built-in switch with two configurable ports which
504 can connect to external PHY/MACs.
505
Stefan Roesef9947682018-10-26 14:53:27 +0200506config MT7628_ETH
507 bool "MediaTek MT7628 Ethernet Interface"
developer89f051b2019-04-30 11:13:58 +0800508 depends on SOC_MT7628
developera5644112019-09-25 17:45:33 +0800509 select PHYLIB
Stefan Roesef9947682018-10-26 14:53:27 +0200510 help
511 The MediaTek MT7628 ethernet interface is used on MT7628 and
512 MT7688 based boards.
513
Jim Liueaddbcb2022-05-17 16:28:11 +0800514config NET_NPCM750
515 bool "Nuvoton NPCM750 Ethernet MAC"
516 help
517 support NPCM750 EMAC
518
Stefan Roesec404ac72022-04-07 09:11:52 +0200519config NET_OCTEON
520 bool "MIPS Octeon ethernet support"
521 depends on ARCH_OCTEON
522 help
523 You must select Y to enable network device support for
524 MIPS Octeon SoCs. If unsure, say n
525
Suneel Garapati53dc4482020-08-26 14:37:33 +0200526config NET_OCTEONTX
527 bool "OcteonTX Ethernet support"
528 depends on ARCH_OCTEONTX
529 depends on PCI_SRIOV
530 help
531 You must select Y to enable network device support for
532 OcteonTX SoCs. If unsure, say n
Suneel Garapati8666ae82020-08-26 14:37:42 +0200533
534config NET_OCTEONTX2
535 bool "OcteonTX2 Ethernet support"
536 depends on ARCH_OCTEONTX2
537 select OCTEONTX2_CGX_INTF
538 help
539 You must select Y to enable network device support for
540 OcteonTX2 SoCs. If unsure, say n
541
Suneel Garapati53dc4482020-08-26 14:37:33 +0200542config OCTEONTX_SMI
543 bool "OcteonTX SMI Device support"
544 depends on ARCH_OCTEONTX || ARCH_OCTEONTX2
545 help
546 You must select Y to enable SMI controller support for
547 OcteonTX or OcteonTX2 SoCs. If unsure, say n
548
Suneel Garapati8666ae82020-08-26 14:37:42 +0200549config OCTEONTX2_CGX_INTF
550 bool "OcteonTX2 CGX ATF interface support"
551 depends on ARCH_OCTEONTX2
552 default y if ARCH_OCTEONTX2
553 help
554 You must select Y to enable CGX ATF interface support for
555 OcteonTX2 SoCs. If unsure, say n
556
Bin Meng64d3dca2015-08-27 22:25:58 -0700557config PCH_GBE
558 bool "Intel Platform Controller Hub EG20T GMAC driver"
Bin Meng64d3dca2015-08-27 22:25:58 -0700559 select PHYLIB
560 help
561 This MAC is present in Intel Platform Controller Hub EG20T. It
562 supports 10/100/1000 Mbps operation.
563
Mylène Josserande44eb3a2017-04-02 12:59:08 +0200564config RGMII
565 bool "Enable RGMII"
566 help
567 Enable the support of the Reduced Gigabit Media-Independent
568 Interface (RGMII).
569
Adam Ford53705472018-07-20 23:03:57 -0500570config MII
571 bool "Enable MII"
572 help
573 Enable support of the Media-Independent Interface (MII)
574
Tom Rinie09aab12022-03-18 08:38:22 -0400575config RMII
576 bool "Enable RMII"
577 help
578 Enable support of the Reduced Media-Independent Interface (MII)
579
Marek Vasut7275b622020-05-17 18:14:17 +0200580config PCNET
581 bool "AMD PCnet series Ethernet controller driver"
582 help
583 This driver supports AMD PCnet series fast ethernet family of
584 PCI chipsets/adapters.
585
Heiko Schocher41b64a82020-02-06 09:48:16 +0100586source "drivers/net/qe/Kconfig"
587
Bin Menga6448df2016-03-21 06:47:41 -0700588config RTL8139
589 bool "Realtek 8139 series Ethernet controller driver"
590 help
591 This driver supports Realtek 8139 series fast ethernet family of
592 PCI chipsets/adapters.
593
Bin Meng29971222016-03-21 06:47:42 -0700594config RTL8169
595 bool "Realtek 8169 series Ethernet controller driver"
596 help
597 This driver supports Realtek 8169 series gigabit ethernet family of
598 PCI/PCIe chipsets/adapters.
599
Vladimir Oltean67bfc852021-09-29 18:04:41 +0300600config SJA1105
601 bool "NXP SJA1105 Ethernet switch family driver"
602 depends on DM_DSA && DM_SPI
603 select BITREVERSE
604 help
605 This is the driver for the NXP SJA1105 automotive Ethernet switch
606 family. These are 5-port devices and are managed over an SPI
607 interface. Probing is handled based on OF bindings. The driver
608 supports the following revisions:
609 - SJA1105E (Gen. 1, No TT-Ethernet)
610 - SJA1105T (Gen. 1, TT-Ethernet)
611 - SJA1105P (Gen. 2, No SGMII, No TT-Ethernet)
612 - SJA1105Q (Gen. 2, No SGMII, TT-Ethernet)
613 - SJA1105R (Gen. 2, SGMII, No TT-Ethernet)
614 - SJA1105S (Gen. 2, SGMII, TT-Ethernet)
615
Adam Ford0a044f82017-09-05 15:20:44 -0500616config SMC911X
617 bool "SMSC LAN911x and LAN921x controller driver"
618
Adam Ford0a044f82017-09-05 15:20:44 -0500619config SMC911X_32_BIT
Andre Przywara30301e52021-06-28 14:30:30 +0100620 bool "Enable SMC911X 32-bit interface"
Tom Rini4c40e732022-08-02 07:33:47 -0400621 depends on SMC911X
Adam Ford0a044f82017-09-05 15:20:44 -0500622 help
Andre Przywara30301e52021-06-28 14:30:30 +0100623 Define this if data bus is 32 bits. If your processor use a
624 narrower 16 bit bus or cannot convert one 32 bit word to two 16 bit
625 words, leave this to "n".
Adam Ford0a044f82017-09-05 15:20:44 -0500626
Mylène Josserandc1506ef2017-04-02 12:59:03 +0200627config SUN7I_GMAC
628 bool "Enable Allwinner GMAC Ethernet support"
629 help
630 Enable the support for Sun7i GMAC Ethernet controller
631
Stefan Mavrodieveaee8582017-11-03 08:56:51 +0200632config SUN7I_GMAC_FORCE_TXERR
633 bool "Force PA17 as gmac function"
634 depends on SUN7I_GMAC
635 help
636 Some ethernet phys needs TXERR control. Since the GMAC
637 doesn't have such signal, setting PA17 as GMAC function
638 makes the pin output low, which enables data transmission.
639
Mylène Josserand43ef1842017-04-02 12:59:07 +0200640config SUN4I_EMAC
641 bool "Allwinner Sun4i Ethernet MAC support"
Artturi Alm8ed09172017-11-08 05:08:58 +0200642 select PHYLIB
Mylène Josserand43ef1842017-04-02 12:59:07 +0200643 help
644 This driver supports the Allwinner based SUN4I Ethernet MAC.
645
Amit Singh Tomard194c0e2016-07-06 17:59:44 +0530646config SUN8I_EMAC
647 bool "Allwinner Sun8i Ethernet MAC support"
Amit Singh Tomard194c0e2016-07-06 17:59:44 +0530648 select PHYLIB
Philipp Tomsich00c33612017-03-26 18:50:23 +0200649 select PHY_GIGE
Amit Singh Tomard194c0e2016-07-06 17:59:44 +0530650 help
651 This driver supports the Allwinner based SUN8I/SUN50I Ethernet MAC.
652 It can be found in H3/A64/A83T based SoCs and compatible with both
Tom Rini1eee1172017-02-20 09:38:03 -0500653 External and Internal PHYs.
Amit Singh Tomard194c0e2016-07-06 17:59:44 +0530654
Nobuhiro Iwamatsuf593ecb2017-12-01 16:08:03 +0900655config SH_ETHER
656 bool "Renesas SH Ethernet MAC"
657 select PHYLIB
658 help
659 This driver supports the Ethernet for Renesas SH and ARM SoCs.
660
Grygorii Strashko5693dee2018-10-31 16:21:39 -0500661source "drivers/net/ti/Kconfig"
Adam Ford53705472018-07-20 23:03:57 -0500662
Marek Vasut880287c2020-06-20 17:43:29 +0200663config TULIP
664 bool "DEC Tulip DC2114x Ethernet support"
Marek Vasut880287c2020-06-20 17:43:29 +0200665 help
666 This driver supports DEC DC2114x Fast ethernet chips.
667
Michal Simek07d204f2015-12-09 16:54:42 +0100668config XILINX_AXIEMAC
Michal Simek07d204f2015-12-09 16:54:42 +0100669 select PHYLIB
670 select MII
671 bool "Xilinx AXI Ethernet"
672 help
673 This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
674
Ashok Reddy Soma6f5480c2021-07-02 04:40:34 -0600675config XILINX_AXIMRMAC
Tom Rini4c40e732022-08-02 07:33:47 -0400676 depends on ARCH_VERSAL
Ashok Reddy Soma6f5480c2021-07-02 04:40:34 -0600677 bool "Xilinx AXI MRMAC"
678 help
679 MRMAC is a high performance, low latency, adaptable Ethernet
680 integrated hard IP. This can be configured up to four ports with MAC
681 rates from 10GE to 100GE. This could be present in some of the Xilinx
682 Versal designs.
683
Tom Rini3d439872022-11-19 18:45:39 -0500684config VSC7385_ENET
685 bool "Vitesse 7385 Switch Firmware Upload driver"
686
687config VSC9953
688 bool "Vitesse VSC9953 L2 Switch driver"
689
Michal Simekeaee95a2015-12-11 09:41:49 +0100690config XILINX_EMACLITE
Michal Simekeaee95a2015-12-11 09:41:49 +0100691 select PHYLIB
692 select MII
693 bool "Xilinx Ethernetlite"
694 help
695 This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
696
Michal Simek3d7285f2015-11-30 14:34:52 +0100697config ZYNQ_GEM
Michal Simek27ba0902015-12-11 09:14:31 +0100698 select PHYLIB
Michal Simek3d7285f2015-11-30 14:34:52 +0100699 bool "Xilinx Ethernet GEM"
700 help
Michal Simek7fb1d232015-12-09 16:53:52 +0100701 This MAC is present in Xilinx Zynq and ZynqMP SoCs.
Michal Simek3d7285f2015-11-30 14:34:52 +0100702
Purna Chandra Mandal6b731c92016-01-28 15:30:21 +0530703config PIC32_ETH
704 bool "Microchip PIC32 Ethernet Support"
Tom Rini4c40e732022-08-02 07:33:47 -0400705 depends on MACH_PIC32
Purna Chandra Mandal6b731c92016-01-28 15:30:21 +0530706 select PHYLIB
707 help
708 This driver implements 10/100 Mbps Ethernet and MAC layer for
709 Microchip PIC32 microcontrollers.
710
Sjoerd Simons54c46f92017-01-11 11:46:11 +0100711config GMAC_ROCKCHIP
712 bool "Rockchip Synopsys Designware Ethernet MAC"
Tom Rini4c40e732022-08-02 07:33:47 -0400713 depends on ETH_DESIGNWARE
Sjoerd Simons54c46f92017-01-11 11:46:11 +0100714 help
715 This driver provides Rockchip SoCs network support based on the
716 Synopsys Designware driver.
717
Marek Vasut17714cb2017-05-13 15:54:28 +0200718config RENESAS_RAVB
719 bool "Renesas Ethernet AVB MAC"
Tom Rini4c40e732022-08-02 07:33:47 -0400720 depends on RCAR_GEN3
Marek Vasut17714cb2017-05-13 15:54:28 +0200721 select PHYLIB
722 help
723 This driver implements support for the Ethernet AVB block in
724 Renesas M3 and H3 SoCs.
725
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200726config MPC8XX_FEC
727 bool "Fast Ethernet Controller on MPC8XX"
Christophe Leroyb3510fb2018-03-16 17:20:41 +0100728 depends on MPC8xx
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200729 select MII
Tom Rinibd8253d2022-06-25 11:02:36 -0400730 select SYS_DISCOVER_PHY
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200731 help
732 This driver implements support for the Fast Ethernet Controller
733 on MPC8XX
734
Kunihiko Hayashi7dcdc222018-05-24 19:24:37 +0900735config SNI_AVE
736 bool "Socionext AVE Ethernet support"
Tom Rini4c40e732022-08-02 07:33:47 -0400737 depends on ARCH_UNIPHIER
Kunihiko Hayashi7dcdc222018-05-24 19:24:37 +0900738 select PHYLIB
739 select SYSCON
740 select REGMAP
741 help
742 This driver implements support for the Socionext AVE Ethernet
743 controller, as found on the Socionext UniPhier family.
744
Jassi Brar29c58b02021-06-04 18:44:38 +0900745config SNI_NETSEC
746 bool "Socionext NETSEC Ethernet support"
Tom Rini4c40e732022-08-02 07:33:47 -0400747 depends on SYNQUACER_SPI
Jassi Brar29c58b02021-06-04 18:44:38 +0900748 select PHYLIB
749 help
750 This driver implements support for the Socionext SynQuacer NETSEC
751 ethernet controller, as found on the Socionext SynQuacer family.
752
Horatiu Vulturad2bf652019-01-31 15:30:33 +0100753source "drivers/net/mscc_eswitch/Kconfig"
Gregory CLEMENTeca26c82019-01-17 17:07:13 +0100754
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200755config ETHER_ON_FEC1
756 bool "FEC1"
757 depends on MPC8XX_FEC
758 default y
759
760config FEC1_PHY
761 int "FEC1 PHY"
762 depends on ETHER_ON_FEC1
763 default -1
764 help
765 Define to the hardcoded PHY address which corresponds
766 to the given FEC; i. e.
767 #define CONFIG_FEC1_PHY 4
768 means that the PHY with address 4 is connected to FEC1
769
770 When set to -1, means to probe for first available.
771
772config PHY_NORXERR
773 bool "PHY_NORXERR"
774 depends on ETHER_ON_FEC1
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200775 help
776 The PHY does not have a RXERR line (RMII only).
777 (so program the FEC to ignore it).
778
779config ETHER_ON_FEC2
780 bool "FEC2"
781 depends on MPC8XX_FEC && MPC885
782 default y
783
784config FEC2_PHY
785 int "FEC2 PHY"
786 depends on ETHER_ON_FEC2
787 default -1
788 help
789 Define to the hardcoded PHY address which corresponds
790 to the given FEC; i. e.
791 #define CONFIG_FEC1_PHY 4
792 means that the PHY with address 4 is connected to FEC1
793
794 When set to -1, means to probe for first available.
795
796config FEC2_PHY_NORXERR
797 bool "PHY_NORXERR"
798 depends on ETHER_ON_FEC2
Christophe Leroy56ef30a2017-07-06 10:33:23 +0200799 help
800 The PHY does not have a RXERR line (RMII only).
801 (so program the FEC to ignore it).
802
Ahmed Mansour816bc412017-12-15 16:01:01 -0500803config SYS_DPAA_QBMAN
804 bool "Device tree fixup for QBMan on freescale SOCs"
805 depends on (ARM || PPC) && !SPL_BUILD
806 default y if ARCH_B4860 || \
807 ARCH_B4420 || \
808 ARCH_P1023 || \
809 ARCH_P2041 || \
Ahmed Mansour816bc412017-12-15 16:01:01 -0500810 ARCH_T1024 || \
811 ARCH_T1040 || \
812 ARCH_T1042 || \
813 ARCH_T2080 || \
Ahmed Mansour816bc412017-12-15 16:01:01 -0500814 ARCH_T4240 || \
Ahmed Mansour816bc412017-12-15 16:01:01 -0500815 ARCH_P4080 || \
816 ARCH_P3041 || \
817 ARCH_P5040 || \
Ahmed Mansour816bc412017-12-15 16:01:01 -0500818 ARCH_LS1043A || \
819 ARCH_LS1046A
820 help
821 QBman fixups to allow deep sleep in DPAA 1 SOCs
822
Tom Rini8d7aa572022-07-31 21:08:29 -0400823config SYS_FSL_QMAN_V3
824 bool # QMAN version 3
825 depends on SYS_DPAA_QBMAN
826
Mario Sixda4fc932018-03-28 14:38:18 +0200827config TSEC_ENET
828 select PHYLIB
829 bool "Enable Three-Speed Ethernet Controller"
830 help
831 This driver implements support for the (Enhanced) Three-Speed
832 Ethernet Controller found on Freescale SoCs.
833
developerc3ac93d2018-12-20 16:12:53 +0800834config MEDIATEK_ETH
835 bool "MediaTek Ethernet GMAC Driver"
developerc3ac93d2018-12-20 16:12:53 +0800836 select PHYLIB
837 select DM_GPIO
838 select DM_RESET
839 help
840 This Driver support MediaTek Ethernet GMAC
841 Say Y to enable support for the MediaTek Ethernet GMAC.
842
Shawn Guo0e1cc912019-03-20 15:32:40 +0800843config HIGMACV300_ETH
844 bool "HiSilicon Gigabit Ethernet Controller"
Shawn Guo0e1cc912019-03-20 15:32:40 +0800845 select DM_RESET
846 select PHYLIB
847 help
848 This driver supports HIGMACV300 Ethernet controller found on
849 HiSilicon SoCs.
850
Alex Marginean7a910c12019-07-03 12:11:40 +0300851config FSL_ENETC
852 bool "NXP ENETC Ethernet controller"
Tom Rini4c40e732022-08-02 07:33:47 -0400853 depends on DM_MDIO
Alex Marginean7a910c12019-07-03 12:11:40 +0300854 help
855 This driver supports the NXP ENETC Ethernet controller found on some
856 of the NXP SoCs.
857
Alex Marginean3234a5e2019-07-16 11:21:17 +0300858config MDIO_MUX_I2CREG
859 bool "MDIO MUX accessed as a register over I2C"
860 depends on DM_MDIO_MUX && DM_I2C
861 help
862 This driver is used for MDIO muxes driven by writing to a register of
863 an I2C chip. The board it was developed for uses a mux controlled by
864 on-board FPGA which in turn is accessed as a chip over I2C.
865
Robert Marko90dfaeb2020-10-08 22:05:11 +0200866config MDIO_IPQ4019
867 bool "Qualcomm IPQ4019 MDIO interface support"
868 depends on DM_MDIO
869 help
870 This driver supports the MDIO interface found in Qualcomm
871 IPQ40xx series Soc-s.
872
Alex Margineande3e55b2019-07-25 12:33:19 +0300873config MVMDIO
874 bool "Marvell MDIO interface support"
875 depends on DM_MDIO
876 help
877 This driver supports the MDIO interface found in the network
878 interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
879 Dove, Armada 370, Armada XP, Armada 37xx and Armada7K/8K/8KP).
880
881 This driver is used by the MVPP2 and MVNETA drivers.
882
Ioana Ciornei799a4432020-03-18 16:47:36 +0200883config FSL_LS_MDIO
884 bool "NXP Layerscape MDIO interface support"
885 depends on DM_MDIO
886 help
887 This driver supports the MDIO bus found on the Fman 10G Ethernet MACs and
888 on the mEMAC (which supports both Clauses 22 and 45).
889
Dylan Hungb450ee62021-11-02 13:41:54 +0800890config ASPEED_MDIO
891 bool "Aspeed MDIO interface support"
892 depends on DM_MDIO
893 help
894 This driver supports the MDIO bus of Aspeed AST2600 SOC. The driver
895 currently supports Clause 22.
896
Neil Armstrongb66cbb32021-02-24 15:02:23 +0100897config MDIO_MUX_MMIOREG
898 bool "MDIO MUX accessed as a MMIO register access"
899 depends on DM_MDIO_MUX
900 help
901 This driver is used for MDIO muxes driven by writing to a register in
902 the MMIO physical memory.
903
Neil Armstrongd0ddbb92021-02-24 17:31:53 +0100904config MDIO_MUX_MESON_G12A
905 bool "MDIO MUX for Amlogic Meson G12A SoCs"
906 depends on DM_MDIO_MUX
907 help
908 This driver is used for the MDIO mux found on the Amlogic G12A & compatible
909 SoCs.
910
Joe Hershberger6ab76992015-03-22 17:09:13 -0500911endif # NETDEVICES