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