1source "drivers/net/phy/Kconfig"
2source "drivers/net/pfe_eth/Kconfig"
3source "drivers/net/fsl-mc/Kconfig"
4
5config DM_ETH
6 bool "Enable Driver Model for Ethernet drivers"
7 depends on DM
8 help
9 Enable driver model for Ethernet.
10
11 The eth_*() interface will be implemented by the UCLASS_ETH class
12 This is currently implemented in net/eth-uclass.c
13 Look in include/net.h for details.
14
15config DM_MDIO
16 bool "Enable Driver Model for MDIO devices"
17 depends on DM_ETH && PHYLIB
18 help
19 Enable driver model for MDIO devices
20
21 Adds UCLASS_MDIO DM class supporting MDIO buses that are probed as
22 stand-alone devices. Useful in particular for systems that support
23 DM_ETH and have a stand-alone MDIO hardware block shared by multiple
24 Ethernet interfaces.
25 This is currently implemented in net/mdio-uclass.c
26 Look in include/miiphy.h for details.
27
28config DM_MDIO_MUX
29 bool "Enable Driver Model for MDIO MUX devices"
30 depends on DM_MDIO
31 help
32 Enable driver model for MDIO MUX devices
33
34 Adds UCLASS_MDIO_MUX DM class supporting MDIO MUXes. Useful for
35 systems that support DM_MDIO and integrate one or multiple muxes on
36 the MDIO bus.
37 This is currently implemented in net/mdio-mux-uclass.c
38 Look in include/miiphy.h for details.
39
40config MDIO_SANDBOX
41 depends on DM_MDIO && SANDBOX
42 default y
43 bool "Sandbox: Mocked MDIO driver"
44 help
45 This driver implements dummy read/write/reset MDIO functions mimicking
46 a bus with a single PHY.
47
48 This driver is used in for testing in test/dm/mdio.c
49
50config MDIO_MUX_SANDBOX
51 depends on DM_MDIO_MUX && MDIO_SANDBOX
52 default y
53 bool "Sandbox: Mocked MDIO-MUX driver"
54 help
55 This driver implements dummy select/deselect ops mimicking a MUX on
56 the MDIO bux. It uses mdio_sandbox driver as parent MDIO.
57
58 This driver is used for testing in test/dm/mdio.c
59
60menuconfig NETDEVICES
61 bool "Network device support"
62 depends on NET
63 default y if DM_ETH
64 help
65 You must select Y to enable any network device support
66 Generally if you have any networking support this is a given
67
68 If unsure, say Y
69
70if NETDEVICES
71
72config PHY_GIGE
73 bool "Enable GbE PHY status parsing and configuration"
74 help
75 Enables support for parsing the status output and for
76 configuring GbE PHYs (affects the inner workings of some
77 commands and miiphyutil.c).
78
79config AG7XXX
80 bool "Atheros AG7xxx Ethernet MAC support"
81 depends on DM_ETH && ARCH_ATH79
82 select PHYLIB
83 help
84 This driver supports the Atheros AG7xxx Ethernet MAC. This MAC is
85 present in the Atheros AR7xxx, AR9xxx and QCA9xxx MIPS chips.
86
87
88config ALTERA_TSE
89 bool "Altera Triple-Speed Ethernet MAC support"
90 depends on DM_ETH
91 select PHYLIB
92 help
93 This driver supports the Altera Triple-Speed (TSE) Ethernet MAC.
94 Please find details on the "Triple-Speed Ethernet MegaCore Function
95 Resource Center" of Altera.
96
97config BCM_SF2_ETH
98 bool "Broadcom SF2 (Starfighter2) Ethernet support"
99 select PHYLIB
100 help
101 This is an abstract framework which provides a generic interface
102 to MAC and DMA management for multiple Broadcom SoCs such as
103 Cygnus, NSP and bcm28155_ap platforms.
104
105config BCM_SF2_ETH_DEFAULT_PORT
106 int "Broadcom SF2 (Starfighter2) Ethernet default port number"
107 depends on BCM_SF2_ETH
108 default 0
109 help
110 Default port number for the Starfighter2 ethernet driver.
111
112config BCM_SF2_ETH_GMAC
113 bool "Broadcom SF2 (Starfighter2) GMAC Ethernet support"
114 depends on BCM_SF2_ETH
115 help
116 This flag enables the ethernet support for Broadcom platforms with
117 GMAC such as Cygnus. This driver is based on the framework provided
118 by the BCM_SF2_ETH driver.
119 Say Y to any bcmcygnus based platforms.
120
121config BCM6348_ETH
122 bool "BCM6348 EMAC support"
123 depends on DM_ETH && ARCH_BMIPS
124 select DMA
125 select DMA_CHANNELS
126 select MII
127 select PHYLIB
128 help
129 This driver supports the BCM6348 Ethernet MAC.
130
131config BCM6368_ETH
132 bool "BCM6368 EMAC support"
133 depends on DM_ETH && ARCH_BMIPS
134 select DMA
135 select MII
136 help
137 This driver supports the BCM6368 Ethernet MAC.
138
139config DWC_ETH_QOS
140 bool "Synopsys DWC Ethernet QOS device support"
141 depends on DM_ETH
142 select PHYLIB
143 help
144 This driver supports the Synopsys Designware Ethernet QOS (Quality
145 Of Service) IP block. The IP supports many options for bus type,
146 clocking/reset structure, and feature list. This driver currently
147 supports the specific configuration used in NVIDIA's Tegra186 chip,
148 but should be extensible to other combinations quite easily.
149
150config E1000
151 bool "Intel PRO/1000 Gigabit Ethernet support"
152 help
153 This driver supports Intel(R) PRO/1000 gigabit ethernet family of
154 adapters. For more information on how to identify your adapter, go
155 to the Adapter & Driver ID Guide at:
156
157 <http://support.intel.com/support/network/adapter/pro100/21397.htm>
158
159config E1000_SPI_GENERIC
160 bool "Allow access to the Intel 8257x SPI bus"
161 depends on E1000
162 help
163 Allow generic access to the SPI bus on the Intel 8257x, for
164 example with the "sspi" command.
165
166config E1000_SPI
167 bool "Enable SPI bus utility code"
168 depends on E1000
169 help
170 Utility code for direct access to the SPI bus on Intel 8257x.
171 This does not do anything useful unless you set at least one
172 of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
173
174config CMD_E1000
175 bool "Enable the e1000 command"
176 depends on E1000
177 help
178 This enables the 'e1000' management command for E1000 devices. When
179 used on devices with SPI support you can reprogram the EEPROM from
180 U-Boot.
181
182config ETH_SANDBOX
183 depends on DM_ETH && SANDBOX
184 default y
185 bool "Sandbox: Mocked Ethernet driver"
186 help
187 This driver simply responds with fake ARP replies and ping
188 replies that are used to verify network stack functionality
189
190 This driver is particularly useful in the test/dm/eth.c tests
191
192config ETH_SANDBOX_RAW
193 depends on DM_ETH && SANDBOX
194 default y
195 bool "Sandbox: Bridge to Linux Raw Sockets"
196 help
197 This driver is a bridge from the bottom of the network stack
198 in U-Boot to the RAW AF_PACKET API in Linux. This allows real
199 network traffic to be tested from within sandbox. See
200 doc/arch/index.rst for more details.
201
202config ETH_DESIGNWARE
203 bool "Synopsys Designware Ethernet MAC"
204 select PHYLIB
205 imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
206 help
207 This MAC is present in SoCs from various vendors. It supports
208 100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
209 provide the PHY (physical media interface).
210
211config ETH_DESIGNWARE_SOCFPGA
212 select REGMAP
213 select SYSCON
214 bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
215 depends on DM_ETH && ETH_DESIGNWARE
216 help
217 The Altera SoCFPGA requires additional configuration of the
218 Altera system manager to correctly interface with the PHY.
219 This code handles those SoC specifics.
220
221config ETHOC
222 bool "OpenCores 10/100 Mbps Ethernet MAC"
223 help
224 This MAC is present in OpenRISC and Xtensa XTFPGA boards.
225
226config FEC_MXC_SHARE_MDIO
227 bool "Share the MDIO bus for FEC controller"
228 depends on FEC_MXC
229
230config FEC_MXC_MDIO_BASE
231 hex "MDIO base address for the FEC controller"
232 depends on FEC_MXC_SHARE_MDIO
233 help
234 This specifies the MDIO registers base address. It is used when
235 two FEC controllers share MDIO bus.
236
237config FEC_MXC
238 bool "FEC Ethernet controller"
239 depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || VF610
240 help
241 This driver supports the 10/100 Fast Ethernet controller for
242 NXP i.MX processors.
243
244config FMAN_ENET
245 bool "Freescale FMan ethernet support"
246 depends on ARM || PPC
247 help
248 This driver support the Freescale FMan Ethernet controller
249
250config FTMAC100
251 bool "Ftmac100 Ethernet Support"
252 help
253 This MAC is present in Andestech SoCs.
254
255config FTGMAC100
256 bool "Ftgmac100 Ethernet Support"
257 depends on DM_ETH
258 select PHYLIB
259 help
260 This driver supports the Faraday's FTGMAC100 Gigabit SoC
261 Ethernet controller that can be found on Aspeed SoCs (which
262 include NCSI).
263
264 It is fully compliant with IEEE 802.3 specification for
265 10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
266 Mbps Ethernet and includes Reduced Media Independent
267 Interface (RMII) and Reduced Gigabit Media Independent
268 Interface (RGMII) interfaces. It adopts an AHB bus interface
269 and integrates a link list DMA engine with direct M-Bus
270 accesses for transmitting and receiving packets. It has
271 independent TX/RX fifos, supports half and full duplex (1000
272 Mbps mode only supports full duplex), flow control for full
273 duplex and backpressure for half duplex.
274
275 The FTGMAC100 also implements IP, TCP, UDP checksum offloads
276 and supports IEEE 802.1Q VLAN tag insertion and removal. It
277 offers high-priority transmit queue for QoS and CoS
278 applications.
279
280
281config MVGBE
282 bool "Marvell Orion5x/Kirkwood network interface support"
283 depends on KIRKWOOD || ORION5X
284 select PHYLIB if DM_ETH
285 help
286 This driver supports the network interface units in the
287 Marvell Orion5x and Kirkwood SoCs
288
289config MVNETA
290 bool "Marvell Armada XP/385/3700 network interface support"
291 depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
292 select PHYLIB
293 help
294 This driver supports the network interface units in the
295 Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
296
297config MVPP2
298 bool "Marvell Armada 375/7K/8K network interface support"
299 depends on ARMADA_375 || ARMADA_8K
300 select PHYLIB
301 select MVMDIO
302 select DM_MDIO
303 help
304 This driver supports the network interface units in the
305 Marvell ARMADA 375, 7K and 8K SoCs.
306
307config MACB
308 bool "Cadence MACB/GEM Ethernet Interface"
309 depends on DM_ETH
310 select PHYLIB
311 help
312 The Cadence MACB ethernet interface is found on many Atmel
313 AT91 and SAMA5 parts. This driver also supports the Cadence
314 GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
315 Say Y to include support for the MACB/GEM chip.
316
317config MACB_ZYNQ
318 bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
319 depends on MACB
320 help
321 The Cadence MACB ethernet interface was used on Zynq platform.
322 Say Y to enable support for the MACB/GEM in Zynq chip.
323
324config MT7628_ETH
325 bool "MediaTek MT7628 Ethernet Interface"
326 depends on SOC_MT7628
327 select PHYLIB
328 help
329 The MediaTek MT7628 ethernet interface is used on MT7628 and
330 MT7688 based boards.
331
332config PCH_GBE
333 bool "Intel Platform Controller Hub EG20T GMAC driver"
334 depends on DM_ETH && DM_PCI
335 select PHYLIB
336 help
337 This MAC is present in Intel Platform Controller Hub EG20T. It
338 supports 10/100/1000 Mbps operation.
339
340config RGMII
341 bool "Enable RGMII"
342 help
343 Enable the support of the Reduced Gigabit Media-Independent
344 Interface (RGMII).
345
346config MII
347 bool "Enable MII"
348 help
349 Enable support of the Media-Independent Interface (MII)
350
351config RTL8139
352 bool "Realtek 8139 series Ethernet controller driver"
353 help
354 This driver supports Realtek 8139 series fast ethernet family of
355 PCI chipsets/adapters.
356
357config RTL8169
358 bool "Realtek 8169 series Ethernet controller driver"
359 help
360 This driver supports Realtek 8169 series gigabit ethernet family of
361 PCI/PCIe chipsets/adapters.
362
363config SMC911X
364 bool "SMSC LAN911x and LAN921x controller driver"
365
366if SMC911X
367
368config SMC911X_BASE
369 hex "SMC911X Base Address"
370 help
371 Define this to hold the physical address
372 of the device (I/O space)
373
374choice
375 prompt "SMC911X bus width"
376 default SMC911X_16_BIT
377
378config SMC911X_32_BIT
379 bool "Enable 32-bit interface"
380
381config SMC911X_16_BIT
382 bool "Enable 16-bit interface"
383 help
384 Define this if data bus is 16 bits. If your processor
385 automatically converts one 32 bit word to two 16 bit
386 words you may also try CONFIG_SMC911X_32_BIT.
387
388endchoice
389endif
390
391config SUN7I_GMAC
392 bool "Enable Allwinner GMAC Ethernet support"
393 help
394 Enable the support for Sun7i GMAC Ethernet controller
395
396config SUN7I_GMAC_FORCE_TXERR
397 bool "Force PA17 as gmac function"
398 depends on SUN7I_GMAC
399 help
400 Some ethernet phys needs TXERR control. Since the GMAC
401 doesn't have such signal, setting PA17 as GMAC function
402 makes the pin output low, which enables data transmission.
403
404config SUN4I_EMAC
405 bool "Allwinner Sun4i Ethernet MAC support"
406 depends on DM_ETH
407 select PHYLIB
408 help
409 This driver supports the Allwinner based SUN4I Ethernet MAC.
410
411config SUN8I_EMAC
412 bool "Allwinner Sun8i Ethernet MAC support"
413 depends on DM_ETH
414 select PHYLIB
415 select PHY_GIGE
416 help
417 This driver supports the Allwinner based SUN8I/SUN50I Ethernet MAC.
418 It can be found in H3/A64/A83T based SoCs and compatible with both
419 External and Internal PHYs.
420
421config SH_ETHER
422 bool "Renesas SH Ethernet MAC"
423 select PHYLIB
424 help
425 This driver supports the Ethernet for Renesas SH and ARM SoCs.
426
427source "drivers/net/ti/Kconfig"
428
429config XILINX_AXIEMAC
430 depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
431 select PHYLIB
432 select MII
433 bool "Xilinx AXI Ethernet"
434 help
435 This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
436
437config XILINX_EMACLITE
438 depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || MIPS)
439 select PHYLIB
440 select MII
441 bool "Xilinx Ethernetlite"
442 help
443 This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
444
445config ZYNQ_GEM
446 depends on DM_ETH && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL)
447 select PHYLIB
448 bool "Xilinx Ethernet GEM"
449 help
450 This MAC is present in Xilinx Zynq and ZynqMP SoCs.
451
452config PIC32_ETH
453 bool "Microchip PIC32 Ethernet Support"
454 depends on DM_ETH && MACH_PIC32
455 select PHYLIB
456 help
457 This driver implements 10/100 Mbps Ethernet and MAC layer for
458 Microchip PIC32 microcontrollers.
459
460config GMAC_ROCKCHIP
461 bool "Rockchip Synopsys Designware Ethernet MAC"
462 depends on DM_ETH && ETH_DESIGNWARE
463 help
464 This driver provides Rockchip SoCs network support based on the
465 Synopsys Designware driver.
466
467config RENESAS_RAVB
468 bool "Renesas Ethernet AVB MAC"
469 depends on DM_ETH && RCAR_GEN3
470 select PHYLIB
471 help
472 This driver implements support for the Ethernet AVB block in
473 Renesas M3 and H3 SoCs.
474
475config MPC8XX_FEC
476 bool "Fast Ethernet Controller on MPC8XX"
477 depends on MPC8xx
478 select MII
479 help
480 This driver implements support for the Fast Ethernet Controller
481 on MPC8XX
482
483config SNI_AVE
484 bool "Socionext AVE Ethernet support"
485 depends on DM_ETH && ARCH_UNIPHIER
486 select PHYLIB
487 select SYSCON
488 select REGMAP
489 help
490 This driver implements support for the Socionext AVE Ethernet
491 controller, as found on the Socionext UniPhier family.
492
493source "drivers/net/mscc_eswitch/Kconfig"
494
495config ETHER_ON_FEC1
496 bool "FEC1"
497 depends on MPC8XX_FEC
498 default y
499
500config FEC1_PHY
501 int "FEC1 PHY"
502 depends on ETHER_ON_FEC1
503 default -1
504 help
505 Define to the hardcoded PHY address which corresponds
506 to the given FEC; i. e.
507 #define CONFIG_FEC1_PHY 4
508 means that the PHY with address 4 is connected to FEC1
509
510 When set to -1, means to probe for first available.
511
512config PHY_NORXERR
513 bool "PHY_NORXERR"
514 depends on ETHER_ON_FEC1
515 default n
516 help
517 The PHY does not have a RXERR line (RMII only).
518 (so program the FEC to ignore it).
519
520config ETHER_ON_FEC2
521 bool "FEC2"
522 depends on MPC8XX_FEC && MPC885
523 default y
524
525config FEC2_PHY
526 int "FEC2 PHY"
527 depends on ETHER_ON_FEC2
528 default -1
529 help
530 Define to the hardcoded PHY address which corresponds
531 to the given FEC; i. e.
532 #define CONFIG_FEC1_PHY 4
533 means that the PHY with address 4 is connected to FEC1
534
535 When set to -1, means to probe for first available.
536
537config FEC2_PHY_NORXERR
538 bool "PHY_NORXERR"
539 depends on ETHER_ON_FEC2
540 default n
541 help
542 The PHY does not have a RXERR line (RMII only).
543 (so program the FEC to ignore it).
544
545config SYS_DPAA_QBMAN
546 bool "Device tree fixup for QBMan on freescale SOCs"
547 depends on (ARM || PPC) && !SPL_BUILD
548 default y if ARCH_B4860 || \
549 ARCH_B4420 || \
550 ARCH_P1023 || \
551 ARCH_P2041 || \
552 ARCH_T1023 || \
553 ARCH_T1024 || \
554 ARCH_T1040 || \
555 ARCH_T1042 || \
556 ARCH_T2080 || \
557 ARCH_T2081 || \
558 ARCH_T4240 || \
559 ARCH_T4160 || \
560 ARCH_P4080 || \
561 ARCH_P3041 || \
562 ARCH_P5040 || \
563 ARCH_P5020 || \
564 ARCH_LS1043A || \
565 ARCH_LS1046A
566 help
567 QBman fixups to allow deep sleep in DPAA 1 SOCs
568
569config TSEC_ENET
570 select PHYLIB
571 bool "Enable Three-Speed Ethernet Controller"
572 help
573 This driver implements support for the (Enhanced) Three-Speed
574 Ethernet Controller found on Freescale SoCs.
575
576config MEDIATEK_ETH
577 bool "MediaTek Ethernet GMAC Driver"
578 depends on DM_ETH
579 select PHYLIB
580 select DM_GPIO
581 select DM_RESET
582 help
583 This Driver support MediaTek Ethernet GMAC
584 Say Y to enable support for the MediaTek Ethernet GMAC.
585
586config HIGMACV300_ETH
587 bool "HiSilicon Gigabit Ethernet Controller"
588 depends on DM_ETH
589 select DM_RESET
590 select PHYLIB
591 help
592 This driver supports HIGMACV300 Ethernet controller found on
593 HiSilicon SoCs.
594
595config FSL_ENETC
596 bool "NXP ENETC Ethernet controller"
597 depends on DM_PCI && DM_ETH && DM_MDIO
598 help
599 This driver supports the NXP ENETC Ethernet controller found on some
600 of the NXP SoCs.
601
602config MDIO_MUX_I2CREG
603 bool "MDIO MUX accessed as a register over I2C"
604 depends on DM_MDIO_MUX && DM_I2C
605 help
606 This driver is used for MDIO muxes driven by writing to a register of
607 an I2C chip. The board it was developed for uses a mux controlled by
608 on-board FPGA which in turn is accessed as a chip over I2C.
609
610config MVMDIO
611 bool "Marvell MDIO interface support"
612 depends on DM_MDIO
613 help
614 This driver supports the MDIO interface found in the network
615 interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
616 Dove, Armada 370, Armada XP, Armada 37xx and Armada7K/8K/8KP).
617
618 This driver is used by the MVPP2 and MVNETA drivers.
619
620endif
621