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