1source "drivers/net/phy/Kconfig"
2source "drivers/net/pfe_eth/Kconfig"
3source "drivers/net/fsl-mc/Kconfig"
4
5config ETH
6	def_bool y
7
8config DM_ETH
9	bool
10	depends on DM
11	help
12	  Enable driver model for Ethernet.
13
14	  The eth_*() interface will be implemented by the UCLASS_ETH class
15	  This is currently implemented in net/eth-uclass.c
16	  Look in include/net.h for details.
17
18config SPL_DM_ETH
19	depends on SPL_NET
20	def_bool y
21
22config DM_MDIO
23	bool "Enable Driver Model for MDIO devices"
24	depends on PHYLIB
25	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
35config 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
47config DM_DSA
48	bool "Enable Driver Model for DSA switches"
49	depends on DM_MDIO
50	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
62config 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
72config 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
82config 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
88config 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
97menuconfig NETDEVICES
98	bool "Network device support"
99	depends on NET
100	select DM_ETH
101	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
109config 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
116config AG7XXX
117	bool "Atheros AG7xxx Ethernet MAC support"
118	depends on ARCH_ATH79
119	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
125config ALTERA_TSE
126	bool "Altera Triple-Speed Ethernet MAC support"
127	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
133config 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
157config BCM6348_ETH
158	bool "BCM6348 EMAC support"
159	depends on ARCH_BMIPS
160	select DMA
161	select DMA_CHANNELS
162	select MII
163	select PHYLIB
164	help
165	  This driver supports the BCM6348 Ethernet MAC.
166
167config BCM6368_ETH
168	bool "BCM6368 EMAC support"
169	depends on ARCH_BMIPS
170	select DMA
171	select MII
172	help
173	  This driver supports the BCM6368 Ethernet MAC.
174
175config BCMGENET
176	bool "BCMGENET V5 support"
177	select PHYLIB
178	help
179	  This driver supports the BCMGENET Ethernet MAC.
180
181source "drivers/net/bnxt/Kconfig"
182
183config CORTINA_NI_ENET
184	bool "Cortina-Access Ethernet driver"
185	depends on CORTINA_PLATFORM
186	help
187	  This driver supports the Cortina-Access Ethernet MAC for
188	  all supported CAxxxx SoCs.
189
190config CALXEDA_XGMAC
191	bool "Calxeda XGMAC support"
192	help
193	  This driver supports the XGMAC in Calxeda Highbank and Midway
194	  machines.
195
196config DRIVER_DM9000
197	bool "Davicom DM9000 controller driver"
198	help
199	  The Davicom DM9000 parallel bus external ethernet interface chip.
200
201config DM9000_BYTE_SWAPPED
202	bool "Byte swapped access for DM9000"
203	depends on DRIVER_DM9000
204
205config DM9000_NO_SROM
206	bool "No SROM on DM9000"
207	depends on DRIVER_DM9000
208
209config DM9000_USE_16BIT
210	bool "Use 16bit access in DM9000"
211	depends on DRIVER_DM9000
212
213config DWC_ETH_QOS
214	bool "Synopsys DWC Ethernet QOS device support"
215	select PHYLIB
216	help
217	  This driver supports the Synopsys Designware Ethernet QOS (Quality
218	  Of Service) IP block. The IP supports many options for bus type,
219	  clocking/reset structure, and feature list.
220
221config DWC_ETH_QOS_IMX
222	bool "Synopsys DWC Ethernet QOS device support for IMX"
223	depends on DWC_ETH_QOS
224	help
225	  The Synopsys Designware Ethernet QOS IP block with the specific
226	  configuration used in IMX soc.
227
228config DWC_ETH_QOS_STM32
229	bool "Synopsys DWC Ethernet QOS device support for STM32"
230	depends on DWC_ETH_QOS
231	select DM_ETH_PHY
232	default y if ARCH_STM32MP
233	help
234	  The Synopsys Designware Ethernet QOS IP block with the specific
235	  configuration used in STM32MP soc.
236
237config DWC_ETH_QOS_TEGRA186
238	bool "Synopsys DWC Ethernet QOS device support for TEGRA186"
239	depends on DWC_ETH_QOS
240	default y if TEGRA186
241	help
242	  The Synopsys Designware Ethernet QOS IP block with specific
243	  configuration used in NVIDIA's Tegra186 chip.
244
245config DWC_ETH_QOS_QCOM
246	bool "Synopsys DWC Ethernet QOS device support for Qcom SoCs"
247	depends on DWC_ETH_QOS
248	help
249	  The Synopsys Designware Ethernet QOS IP block with specific
250	  configuration used in Qcom QCS404 SoC.
251
252config E1000
253	bool "Intel PRO/1000 Gigabit Ethernet support"
254	depends on PCI
255	help
256	  This driver supports Intel(R) PRO/1000 gigabit ethernet family of
257	  adapters.  For more information on how to identify your adapter, go
258	  to the Adapter & Driver ID Guide at:
259
260	  <http://support.intel.com/support/network/adapter/pro100/21397.htm>
261
262config E1000_NO_NVM
263	bool "Intel PRO/1000 has no NVMEM / EEPROM"
264	depends on E1000
265
266config E1000_SPI_GENERIC
267	bool "Allow access to the Intel 8257x SPI bus"
268	depends on E1000
269	help
270	  Allow generic access to the SPI bus on the Intel 8257x, for
271	  example with the "sspi" command.
272
273config E1000_SPI
274	bool "Enable SPI bus utility code"
275	depends on E1000
276	help
277	  Utility code for direct access to the SPI bus on Intel 8257x.
278	  This does not do anything useful unless you set at least one
279	  of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
280
281config CMD_E1000
282	bool "Enable the e1000 command"
283	depends on E1000
284	help
285	  This enables the 'e1000' management command for E1000 devices. When
286	  used on devices with SPI support you can reprogram the EEPROM from
287	  U-Boot.
288
289config EEPRO100
290	bool "Intel PRO/100 82557/82559/82559ER Fast Ethernet support"
291	help
292	  This driver supports Intel(R) PRO/100 82557/82559/82559ER fast
293	  ethernet family of adapters.
294
295config ETH_SANDBOX
296	depends on SANDBOX
297	default y
298	bool "Sandbox: Mocked Ethernet driver"
299	help
300	  This driver simply responds with fake ARP replies and ping
301	  replies that are used to verify network stack functionality
302
303	  This driver is particularly useful in the test/dm/eth.c tests
304
305config ETH_SANDBOX_RAW
306	depends on SANDBOX
307	default y
308	bool "Sandbox: Bridge to Linux Raw Sockets"
309	help
310	  This driver is a bridge from the bottom of the network stack
311	  in U-Boot to the RAW AF_PACKET API in Linux. This allows real
312	  network traffic to be tested from within sandbox. See
313	  doc/arch/index.rst for more details.
314
315config ETH_DESIGNWARE
316	bool "Synopsys Designware Ethernet MAC"
317	select PHYLIB
318	imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
319	help
320	  This MAC is present in SoCs from various vendors. It supports
321	  100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
322	  provide the PHY (physical media interface).
323
324config ETH_DESIGNWARE_MESON8B
325	bool "Amlogic Meson8b and later glue driver for Synopsys Designware Ethernet MAC"
326	select ETH_DESIGNWARE
327	help
328	  This provides glue layer to use Synopsys Designware Ethernet MAC
329	  present on the Amlogic Meson8b, GX, AXG & G12A SoCs.
330
331config ETH_DESIGNWARE_SOCFPGA
332	select REGMAP
333	select SYSCON
334	select DW_ALTDESCRIPTOR
335	bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
336	depends on ETH_DESIGNWARE
337	help
338	  The Altera SoCFPGA requires additional configuration of the
339	  Altera system manager to correctly interface with the PHY.
340	  This code handles those SoC specifics.
341
342config ETH_DESIGNWARE_S700
343	bool "Actins S700 glue driver for Synopsys Designware Ethernet MAC"
344	depends on ETH_DESIGNWARE
345	help
346	  This provides glue layer to use Synopsys Designware Ethernet MAC
347	  present on Actions S700 SoC.
348
349config DW_ALTDESCRIPTOR
350	bool "Designware Ethernet MAC uses alternate (enhanced) descriptors"
351	depends on ETH_DESIGNWARE
352
353config ETHOC
354	bool "OpenCores 10/100 Mbps Ethernet MAC"
355	help
356	  This MAC is present in OpenRISC and Xtensa XTFPGA boards.
357
358config FEC_MXC_SHARE_MDIO
359	bool "Share the MDIO bus for FEC controller"
360	depends on FEC_MXC
361
362config FEC_MXC_MDIO_BASE
363	hex "MDIO base address for the FEC controller"
364	depends on FEC_MXC_SHARE_MDIO
365	help
366	  This specifies the MDIO registers base address. It is used when
367	  two FEC controllers share MDIO bus.
368
369config FEC_MXC
370	bool "FEC Ethernet controller"
371	depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || IMX93 || VF610
372	help
373	  This driver supports the 10/100 Fast Ethernet controller for
374	  NXP i.MX processors.
375
376config FMAN_ENET
377	bool "Freescale FMan ethernet support"
378	depends on ARM || PPC
379	select SYS_FMAN_V3 if ARCH_B4420 || ARCH_B4860 || ARCH_LS1043A || \
380		ARCH_LS1046A || ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || \
381		ARCH_T2080 || ARCH_T4240
382	select FSL_FM_10GEC_REGULAR_NOTATION if ARCH_T1024
383	help
384	  This driver support the Freescale FMan Ethernet controller
385
386config SYS_FMAN_FW_ADDR
387	hex "FMAN Firmware Address"
388	depends on FMAN_ENET
389	default 0x0
390
391config SYS_QE_FMAN_FW_LENGTH
392	hex "FMAN QE Firmware length"
393	depends on FMAN_ENET || QE || U_QE
394	default 0x10000
395
396config SYS_FMAN_V3
397	bool
398	select FSL_MEMAC
399	help
400	  SoC has FMan v3 with mEMAC
401
402config FSL_FM_10GEC_REGULAR_NOTATION
403	bool
404	help
405	  On SoCs T4240, T2080, LS1043A, etc, the notation between 10GEC and
406	  MAC as below:
407		10GEC1->MAC9, 10GEC2->MAC10, 10GEC3->MAC1, 10GEC4->MAC2
408	  While on SoCs T1024, etc, the notation between 10GEC and MAC as below:
409		10GEC1->MAC1, 10GEC2->MAC2
410	  so we introduce CONFIG_FSL_FM_10GEC_REGULAR_NOTATION to identify the
411	  new SoCs on which 10GEC enumeration is consistent with MAC
412	  enumeration.
413
414config FTMAC100
415	bool "Ftmac100 Ethernet Support"
416	select MII
417	help
418	  This MAC is present in Andestech SoCs.
419
420config FTGMAC100
421	bool "Ftgmac100 Ethernet Support"
422	select PHYLIB
423	help
424	  This driver supports the Faraday's FTGMAC100 Gigabit SoC
425	  Ethernet controller that can be found on Aspeed SoCs (which
426	  include NCSI).
427
428	  It is fully compliant with IEEE 802.3 specification for
429	  10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
430	  Mbps Ethernet and includes Reduced Media Independent
431	  Interface (RMII) and Reduced Gigabit Media Independent
432	  Interface (RGMII) interfaces. It adopts an AHB bus interface
433	  and integrates a link list DMA engine with direct M-Bus
434	  accesses for transmitting and receiving packets. It has
435	  independent TX/RX fifos, supports half and full duplex (1000
436	  Mbps mode only supports full duplex), flow control for full
437	  duplex and backpressure for half duplex.
438
439	  The FTGMAC100 also implements IP, TCP, UDP checksum offloads
440	  and supports IEEE 802.1Q VLAN tag insertion and removal. It
441	  offers high-priority transmit queue for QoS and CoS
442	  applications.
443
444config SYS_DISCOVER_PHY
445	bool
446
447config MCFFEC
448	bool "ColdFire Ethernet Support"
449	select PHYLIB
450	select SYS_DISCOVER_PHY
451	help
452	  This driver supports the network interface units in the
453	  ColdFire family.
454
455config SYS_UNIFY_CACHE
456	depends on MCFFEC
457	bool "Invalidate icache during ethernet operations"
458
459config FSLDMAFEC
460        bool "ColdFire DMA Ethernet Support"
461	select PHYLIB
462	select SYS_DISCOVER_PHY
463	help
464	  This driver supports the network interface units in the
465	  ColdFire family.
466
467config KS8851_MLL
468	bool "Microchip KS8851-MLL controller driver"
469	help
470	  The Microchip KS8851 parallel bus external ethernet interface chip.
471
472config KSZ9477
473	bool "Microchip KSZ9477 I2C controller driver"
474	depends on DM_DSA && DM_I2C
475	help
476	  This driver implements a DSA switch driver for the KSZ9477 family
477	  of GbE switches using the I2C interface.
478
479config LITEETH
480	bool "LiteX LiteEth Ethernet MAC"
481	help
482	 Driver for the LiteEth Ethernet MAC from LiteX.
483
484config MV88E6XXX
485	bool "Marvell MV88E6xxx Ethernet switch DSA driver"
486	depends on DM_DSA && DM_MDIO
487	help
488	  This driver implements a DSA switch driver for the MV88E6xxx family
489	  of Ethernet switches using the MDIO interface
490
491config MVGBE
492	bool "Marvell Orion5x/Kirkwood network interface support"
493	depends on ARCH_KIRKWOOD || ARCH_ORION5X
494	select PHYLIB
495	help
496	  This driver supports the network interface units in the
497	  Marvell Orion5x and Kirkwood SoCs
498
499config MVNETA
500	bool "Marvell Armada XP/385/3700 network interface support"
501	depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 || ALLEYCAT_5
502	select PHYLIB
503	select DM_MDIO
504	help
505	  This driver supports the network interface units in the
506	  Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
507
508config MVPP2
509	bool "Marvell Armada 375/7K/8K network interface support"
510	depends on ARMADA_375 || ARMADA_8K
511	select PHYLIB
512	select MVMDIO
513	select DM_MDIO
514	help
515	  This driver supports the network interface units in the
516	  Marvell ARMADA 375, 7K and 8K SoCs.
517
518config MACB
519	bool "Cadence MACB/GEM Ethernet Interface"
520	select PHYLIB
521	help
522	  The Cadence MACB ethernet interface is found on many Atmel
523	  AT91 and SAMA5 parts.  This driver also supports the Cadence
524	  GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
525	  Say Y to include support for the MACB/GEM chip.
526
527config MACB_ZYNQ
528	bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
529	depends on MACB
530	help
531	  The Cadence MACB ethernet interface was used on Zynq platform.
532	  Say Y to enable support for the MACB/GEM in Zynq chip.
533
534config MT7620_ETH
535	bool "MediaTek MT7620 Ethernet Interface"
536	depends on SOC_MT7620
537	select PHYLIB
538	select DM_RESET
539	select DM_GPIO
540	select CLK
541	help
542	  The MediaTek MT7620 ethernet interface is used on MT7620 based
543	  boards. It has a built-in switch with two configurable ports which
544	  can connect to external PHY/MACs.
545
546config MT7628_ETH
547	bool "MediaTek MT7628 Ethernet Interface"
548	depends on SOC_MT7628
549	select PHYLIB
550	help
551	  The MediaTek MT7628 ethernet interface is used on MT7628 and
552	  MT7688 based boards.
553
554config NET_NPCM750
555	bool "Nuvoton NPCM750 Ethernet MAC"
556	help
557	  support NPCM750 EMAC
558
559config NET_OCTEON
560	bool "MIPS Octeon ethernet support"
561	depends on ARCH_OCTEON
562	help
563	  You must select Y to enable network device support for
564	  MIPS Octeon SoCs. If unsure, say n
565
566config NET_OCTEONTX
567	bool "OcteonTX Ethernet support"
568	depends on ARCH_OCTEONTX
569	depends on PCI_SRIOV
570	help
571	  You must select Y to enable network device support for
572	  OcteonTX SoCs. If unsure, say n
573
574config NET_OCTEONTX2
575	bool "OcteonTX2 Ethernet support"
576	depends on ARCH_OCTEONTX2
577	select OCTEONTX2_CGX_INTF
578	help
579	  You must select Y to enable network device support for
580	  OcteonTX2 SoCs. If unsure, say n
581
582config OCTEONTX_SMI
583	bool "OcteonTX SMI Device support"
584	depends on ARCH_OCTEONTX || ARCH_OCTEONTX2
585	help
586	  You must select Y to enable SMI controller support for
587	  OcteonTX or OcteonTX2 SoCs. If unsure, say n
588
589config OCTEONTX2_CGX_INTF
590	bool "OcteonTX2 CGX ATF interface support"
591	depends on ARCH_OCTEONTX2
592	default y if ARCH_OCTEONTX2
593	help
594	  You must select Y to enable CGX ATF interface support for
595	  OcteonTX2 SoCs. If unsure, say n
596
597config PCH_GBE
598	bool "Intel Platform Controller Hub EG20T GMAC driver"
599	select PHYLIB
600	help
601	  This MAC is present in Intel Platform Controller Hub EG20T. It
602	  supports 10/100/1000 Mbps operation.
603
604config RGMII
605	bool "Enable RGMII"
606	help
607	  Enable the support of the Reduced Gigabit Media-Independent
608	  Interface (RGMII).
609
610config MII
611	bool "Enable MII"
612	help
613	  Enable support of the Media-Independent Interface (MII)
614
615config RMII
616	bool "Enable RMII"
617	help
618	  Enable support of the Reduced Media-Independent Interface (MII)
619
620config PCNET
621	bool "AMD PCnet series Ethernet controller driver"
622	help
623	  This driver supports AMD PCnet series fast ethernet family of
624	  PCI chipsets/adapters.
625
626source "drivers/net/qe/Kconfig"
627
628config RTL8139
629	bool "Realtek 8139 series Ethernet controller driver"
630	help
631	  This driver supports Realtek 8139 series fast ethernet family of
632	  PCI chipsets/adapters.
633
634config RTL8169
635	bool "Realtek 8169 series Ethernet controller driver"
636	depends on PCI
637	help
638	  This driver supports Realtek 8169 series gigabit ethernet family of
639	  PCI/PCIe chipsets/adapters.
640
641config SJA1105
642	bool "NXP SJA1105 Ethernet switch family driver"
643	depends on DM_DSA && DM_SPI
644	select BITREVERSE
645	help
646	  This is the driver for the NXP SJA1105 automotive Ethernet switch
647	  family. These are 5-port devices and are managed over an SPI
648	  interface. Probing is handled based on OF bindings. The driver
649	  supports the following revisions:
650	    - SJA1105E (Gen. 1, No TT-Ethernet)
651	    - SJA1105T (Gen. 1, TT-Ethernet)
652	    - SJA1105P (Gen. 2, No SGMII, No TT-Ethernet)
653	    - SJA1105Q (Gen. 2, No SGMII, TT-Ethernet)
654	    - SJA1105R (Gen. 2, SGMII, No TT-Ethernet)
655	    - SJA1105S (Gen. 2, SGMII, TT-Ethernet)
656
657config SMC911X
658	bool "SMSC LAN911x and LAN921x controller driver"
659
660config SMC911X_32_BIT
661	bool "Enable SMC911X 32-bit interface"
662	depends on SMC911X
663	help
664	  Define this if data bus is 32 bits. If your processor use a
665	  narrower 16 bit bus or cannot convert one 32 bit word to two 16 bit
666	  words, leave this to "n".
667
668config SUN7I_GMAC
669	bool "Enable Allwinner GMAC Ethernet support"
670	help
671	  Enable the support for Sun7i GMAC Ethernet controller
672
673config SUN7I_GMAC_FORCE_TXERR
674	bool "Force PA17 as gmac function"
675	depends on SUN7I_GMAC
676	help
677	  Some ethernet phys needs TXERR control. Since the GMAC
678	  doesn't have such signal, setting PA17 as GMAC function
679	  makes the pin output low, which enables data transmission.
680
681config SUN4I_EMAC
682	bool "Allwinner Sun4i Ethernet MAC support"
683	select PHYLIB
684	help
685	  This driver supports the Allwinner based SUN4I Ethernet MAC.
686
687config SUN8I_EMAC
688        bool "Allwinner Sun8i Ethernet MAC support"
689        select PHYLIB
690	select PHY_GIGE
691        help
692          This driver supports the  Allwinner based SUN8I/SUN50I Ethernet MAC.
693	  It can be found in H3/A64/A83T based SoCs and compatible with both
694	  External and Internal PHYs.
695
696config SH_ETHER
697	bool "Renesas SH Ethernet MAC"
698	select PHYLIB
699	help
700	  This driver supports the Ethernet for Renesas SH and ARM SoCs.
701
702source "drivers/net/ti/Kconfig"
703
704config TULIP
705	bool "DEC Tulip DC2114x Ethernet support"
706	help
707	  This driver supports DEC DC2114x Fast ethernet chips.
708
709config XILINX_AXIEMAC
710	select PHYLIB
711	select MII
712	bool "Xilinx AXI Ethernet"
713	help
714	  This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
715
716config XILINX_AXIMRMAC
717	depends on ARCH_VERSAL
718	bool "Xilinx AXI MRMAC"
719	help
720	  MRMAC is a high performance, low latency, adaptable Ethernet
721	  integrated hard IP. This can be configured up to four ports with MAC
722	  rates from 10GE to 100GE. This could be present in some of the Xilinx
723	  Versal designs.
724
725config VSC7385_ENET
726	bool "Vitesse 7385 Switch Firmware Upload driver"
727
728config XILINX_EMACLITE
729	select PHYLIB
730	select MII
731	bool "Xilinx Ethernetlite"
732	help
733	  This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
734
735config ZYNQ_GEM
736	select PHYLIB
737	bool "Xilinx Ethernet GEM"
738	help
739	  This MAC is present in Xilinx Zynq and ZynqMP SoCs.
740
741config PIC32_ETH
742	bool "Microchip PIC32 Ethernet Support"
743	depends on MACH_PIC32
744	select PHYLIB
745	help
746	  This driver implements 10/100 Mbps Ethernet and MAC layer for
747	  Microchip PIC32 microcontrollers.
748
749config GMAC_ROCKCHIP
750	bool "Rockchip Synopsys Designware Ethernet MAC"
751	depends on ETH_DESIGNWARE
752	help
753	  This driver provides Rockchip SoCs network support based on the
754	  Synopsys Designware driver.
755
756config RENESAS_ETHER_SWITCH
757	bool "Renesas Ethernet Switch support"
758	depends on DM_ETH && R8A779F0
759	select PHYLIB
760	help
761	  This driver implements support for the Renesas Ethernet Switch
762	  which is available on R-Car S4 SoC (r8a779f0).
763
764config RENESAS_RAVB
765	bool "Renesas Ethernet AVB MAC"
766	depends on RCAR_64
767	select PHYLIB
768	help
769	  This driver implements support for the Ethernet AVB block in
770	  Renesas M3 and H3 SoCs.
771
772config MPC8XX_FEC
773	bool "Fast Ethernet Controller on MPC8XX"
774	depends on MPC8xx
775	select MII
776	select SYS_DISCOVER_PHY
777	help
778	  This driver implements support for the Fast Ethernet Controller
779	  on MPC8XX
780
781config SNI_AVE
782	bool "Socionext AVE Ethernet support"
783	depends on ARCH_UNIPHIER
784	select PHYLIB
785	select SYSCON
786	select REGMAP
787	help
788	  This driver implements support for the Socionext AVE Ethernet
789	  controller, as found on the Socionext UniPhier family.
790
791config SNI_NETSEC
792	bool "Socionext NETSEC Ethernet support"
793	depends on SYNQUACER_SPI
794	select PHYLIB
795	help
796	  This driver implements support for the Socionext SynQuacer NETSEC
797	  ethernet controller, as found on the Socionext SynQuacer family.
798
799source "drivers/net/mscc_eswitch/Kconfig"
800
801config ETHER_ON_FEC1
802	bool "FEC1"
803	depends on MPC8XX_FEC
804	default y
805
806config FEC1_PHY
807	int "FEC1 PHY"
808	depends on ETHER_ON_FEC1
809	default -1
810	help
811	  Define to the hardcoded PHY address which corresponds
812	  to the given FEC; i. e.
813		#define CONFIG_FEC1_PHY 4
814	  means that the PHY with address 4 is connected to FEC1
815
816	  When set to -1, means to probe for first available.
817
818config PHY_NORXERR
819	bool "PHY_NORXERR"
820	depends on ETHER_ON_FEC1
821	help
822	  The PHY does not have a RXERR line (RMII only).
823	  (so program the FEC to ignore it).
824
825config ETHER_ON_FEC2
826	bool "FEC2"
827	depends on MPC8XX_FEC && MPC885
828	default y
829
830config FEC2_PHY
831	int "FEC2 PHY"
832	depends on ETHER_ON_FEC2
833	default -1
834	help
835	  Define to the hardcoded PHY address which corresponds
836	  to the given FEC; i. e.
837		#define CONFIG_FEC1_PHY 4
838	  means that the PHY with address 4 is connected to FEC1
839
840	  When set to -1, means to probe for first available.
841
842config FEC2_PHY_NORXERR
843	bool "PHY_NORXERR"
844	depends on ETHER_ON_FEC2
845	help
846	  The PHY does not have a RXERR line (RMII only).
847	  (so program the FEC to ignore it).
848
849config SYS_DPAA_QBMAN
850	bool "Device tree fixup for QBMan on freescale SOCs"
851	depends on (ARM || PPC) && !SPL_BUILD
852	default y if ARCH_B4860 || \
853		     ARCH_B4420 || \
854		     ARCH_P1023 || \
855		     ARCH_P2041 || \
856		     ARCH_T1024 || \
857		     ARCH_T1040 || \
858		     ARCH_T1042 || \
859		     ARCH_T2080 || \
860		     ARCH_T4240 || \
861		     ARCH_P4080 || \
862		     ARCH_P3041 || \
863		     ARCH_P5040 || \
864		     ARCH_LS1043A || \
865		     ARCH_LS1046A
866	help
867	  QBman fixups to allow deep sleep in DPAA 1 SOCs
868
869config SYS_FSL_QMAN_V3
870	bool # QMAN version 3
871	depends on SYS_DPAA_QBMAN
872
873config TSEC_ENET
874	select PHYLIB
875	bool "Enable Three-Speed Ethernet Controller"
876	help
877	  This driver implements support for the (Enhanced) Three-Speed
878	  Ethernet Controller found on Freescale SoCs.
879
880config MEDIATEK_ETH
881	bool "MediaTek Ethernet GMAC Driver"
882	select PHYLIB
883	select DM_GPIO
884	select DM_RESET
885	help
886	  This Driver support MediaTek Ethernet GMAC
887	  Say Y to enable support for the MediaTek Ethernet GMAC.
888
889config HIGMACV300_ETH
890	bool "HiSilicon Gigabit Ethernet Controller"
891	select DM_RESET
892	select PHYLIB
893	help
894	  This driver supports HIGMACV300 Ethernet controller found on
895	  HiSilicon SoCs.
896
897config FSL_ENETC
898	bool "NXP ENETC Ethernet controller"
899	depends on DM_MDIO
900	help
901	  This driver supports the NXP ENETC Ethernet controller found on some
902	  of the NXP SoCs.
903
904config MDIO_MUX_I2CREG
905	bool "MDIO MUX accessed as a register over I2C"
906	depends on DM_MDIO_MUX && DM_I2C
907	help
908	  This driver is used for MDIO muxes driven by writing to a register of
909	  an I2C chip.  The board it was developed for uses a mux controlled by
910	  on-board FPGA which in turn is accessed as a chip over I2C.
911
912config MDIO_IPQ4019
913	bool "Qualcomm IPQ4019 MDIO interface support"
914	depends on DM_MDIO
915	help
916	  This driver supports the MDIO interface found in Qualcomm
917	  IPQ40xx series Soc-s.
918
919config MVMDIO
920	bool "Marvell MDIO interface support"
921	depends on DM_MDIO
922	help
923	  This driver supports the MDIO interface found in the network
924	  interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
925	  Dove, Armada 370, Armada XP, Armada 37xx and Armada7K/8K/8KP).
926
927	  This driver is used by the MVPP2 and MVNETA drivers.
928
929config FSL_LS_MDIO
930	bool "NXP Layerscape MDIO interface support"
931	depends on DM_MDIO
932	help
933	  This driver supports the MDIO bus found on the Fman 10G Ethernet MACs and
934	  on the mEMAC (which supports both Clauses 22 and 45).
935
936config ASPEED_MDIO
937	bool "Aspeed MDIO interface support"
938	depends on DM_MDIO
939	help
940	  This driver supports the MDIO bus of Aspeed AST2600 SOC.  The driver
941	  currently supports Clause 22.
942
943config MDIO_MUX_MMIOREG
944	bool "MDIO MUX accessed as a MMIO register access"
945	depends on DM_MDIO_MUX
946	help
947	  This driver is used for MDIO muxes driven by writing to a register in
948	  the MMIO physical memory.
949
950config MDIO_MUX_MESON_G12A
951	bool "MDIO MUX for Amlogic Meson G12A SoCs"
952	depends on DM_MDIO_MUX
953	help
954	  This driver is used for the MDIO mux found on the Amlogic G12A & compatible
955	  SoCs.
956
957endif # NETDEVICES
958