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