• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #SMC911X
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 # NETDEVICES
621