Prepare v2023.10
[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 DWC_ETH_QOS_QCOM
246         bool "Synopsys DWC Ethernet QOS device support for Qcom SoCs"
247         depends on DWC_ETH_QOS
248         help
249           The Synopsys Designware Ethernet QOS IP block with specific
250           configuration used in Qcom QCS404 SoC.
251
252 config DWC_ETH_QOS_STARFIVE
253         bool "Synopsys DWC Ethernet QOS device support for STARFIVE"
254         depends on DWC_ETH_QOS
255         help
256           The Synopsys Designware Ethernet QOS IP block with specific
257           configuration used in STARFIVE  JH7110 soc.
258
259 config E1000
260         bool "Intel PRO/1000 Gigabit Ethernet support"
261         depends on PCI
262         help
263           This driver supports Intel(R) PRO/1000 gigabit ethernet family of
264           adapters.  For more information on how to identify your adapter, go
265           to the Adapter & Driver ID Guide at:
266
267           <http://support.intel.com/support/network/adapter/pro100/21397.htm>
268
269 config E1000_NO_NVM
270         bool "Intel PRO/1000 has no NVMEM / EEPROM"
271         depends on E1000
272
273 config E1000_SPI_GENERIC
274         bool "Allow access to the Intel 8257x SPI bus"
275         depends on E1000
276         help
277           Allow generic access to the SPI bus on the Intel 8257x, for
278           example with the "sspi" command.
279
280 config E1000_SPI
281         bool "Enable SPI bus utility code"
282         depends on E1000
283         help
284           Utility code for direct access to the SPI bus on Intel 8257x.
285           This does not do anything useful unless you set at least one
286           of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
287
288 config CMD_E1000
289         bool "Enable the e1000 command"
290         depends on E1000
291         help
292           This enables the 'e1000' management command for E1000 devices. When
293           used on devices with SPI support you can reprogram the EEPROM from
294           U-Boot.
295
296 config EEPRO100
297         bool "Intel PRO/100 82557/82559/82559ER Fast Ethernet support"
298         help
299           This driver supports Intel(R) PRO/100 82557/82559/82559ER fast
300           ethernet family of adapters.
301
302 config ETH_SANDBOX
303         depends on SANDBOX
304         default y
305         bool "Sandbox: Mocked Ethernet driver"
306         help
307           This driver simply responds with fake ARP replies and ping
308           replies that are used to verify network stack functionality
309
310           This driver is particularly useful in the test/dm/eth.c tests
311
312 config ETH_SANDBOX_RAW
313         depends on SANDBOX
314         default y
315         bool "Sandbox: Bridge to Linux Raw Sockets"
316         help
317           This driver is a bridge from the bottom of the network stack
318           in U-Boot to the RAW AF_PACKET API in Linux. This allows real
319           network traffic to be tested from within sandbox. See
320           doc/arch/index.rst for more details.
321
322 config ETH_DESIGNWARE
323         bool "Synopsys Designware Ethernet MAC"
324         select PHYLIB
325         imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
326         help
327           This MAC is present in SoCs from various vendors. It supports
328           100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
329           provide the PHY (physical media interface).
330
331 config ETH_DESIGNWARE_MESON8B
332         bool "Amlogic Meson8b and later glue driver for Synopsys Designware Ethernet MAC"
333         select ETH_DESIGNWARE
334         help
335           This provides glue layer to use Synopsys Designware Ethernet MAC
336           present on the Amlogic Meson8b, GX, AXG & G12A SoCs.
337
338 config ETH_DESIGNWARE_SOCFPGA
339         select REGMAP
340         select SYSCON
341         select DW_ALTDESCRIPTOR
342         bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
343         depends on ETH_DESIGNWARE
344         help
345           The Altera SoCFPGA requires additional configuration of the
346           Altera system manager to correctly interface with the PHY.
347           This code handles those SoC specifics.
348
349 config ETH_DESIGNWARE_S700
350         bool "Actins S700 glue driver for Synopsys Designware Ethernet MAC"
351         depends on ETH_DESIGNWARE
352         help
353           This provides glue layer to use Synopsys Designware Ethernet MAC
354           present on Actions S700 SoC.
355
356 config DW_ALTDESCRIPTOR
357         bool "Designware Ethernet MAC uses alternate (enhanced) descriptors"
358         depends on ETH_DESIGNWARE
359
360 config ETHOC
361         bool "OpenCores 10/100 Mbps Ethernet MAC"
362         help
363           This MAC is present in OpenRISC and Xtensa XTFPGA boards.
364
365 config FEC_MXC_SHARE_MDIO
366         bool "Share the MDIO bus for FEC controller"
367         depends on FEC_MXC
368
369 config FEC_MXC_MDIO_BASE
370         hex "MDIO base address for the FEC controller"
371         depends on FEC_MXC_SHARE_MDIO
372         help
373           This specifies the MDIO registers base address. It is used when
374           two FEC controllers share MDIO bus.
375
376 config FEC_MXC
377         bool "FEC Ethernet controller"
378         depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || IMX93 || VF610
379         help
380           This driver supports the 10/100 Fast Ethernet controller for
381           NXP i.MX processors.
382
383 config FMAN_ENET
384         bool "Freescale FMan ethernet support"
385         depends on ARM || PPC
386         select SYS_FMAN_V3 if ARCH_B4420 || ARCH_B4860 || ARCH_LS1043A || \
387                 ARCH_LS1046A || ARCH_T1024 || ARCH_T1040 || ARCH_T1042 || \
388                 ARCH_T2080 || ARCH_T4240
389         select FSL_FM_10GEC_REGULAR_NOTATION if ARCH_T1024
390         help
391           This driver support the Freescale FMan Ethernet controller
392
393 config SYS_FMAN_FW_ADDR
394         hex "FMAN Firmware Address"
395         depends on FMAN_ENET
396         default 0x0
397
398 config SYS_QE_FMAN_FW_LENGTH
399         hex "FMAN QE Firmware length"
400         depends on FMAN_ENET || QE || U_QE
401         default 0x10000
402
403 config SYS_FMAN_V3
404         bool
405         select FSL_MEMAC
406         help
407           SoC has FMan v3 with mEMAC
408
409 config FSL_FM_10GEC_REGULAR_NOTATION
410         bool
411         help
412           On SoCs T4240, T2080, LS1043A, etc, the notation between 10GEC and
413           MAC as below:
414                 10GEC1->MAC9, 10GEC2->MAC10, 10GEC3->MAC1, 10GEC4->MAC2
415           While on SoCs T1024, etc, the notation between 10GEC and MAC as below:
416                 10GEC1->MAC1, 10GEC2->MAC2
417           so we introduce CONFIG_FSL_FM_10GEC_REGULAR_NOTATION to identify the
418           new SoCs on which 10GEC enumeration is consistent with MAC
419           enumeration.
420
421 config FTMAC100
422         bool "Ftmac100 Ethernet Support"
423         select MII
424         help
425           This MAC is present in Andestech SoCs.
426
427 config FTGMAC100
428         bool "Ftgmac100 Ethernet Support"
429         select PHYLIB
430         help
431           This driver supports the Faraday's FTGMAC100 Gigabit SoC
432           Ethernet controller that can be found on Aspeed SoCs (which
433           include NCSI).
434
435           It is fully compliant with IEEE 802.3 specification for
436           10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
437           Mbps Ethernet and includes Reduced Media Independent
438           Interface (RMII) and Reduced Gigabit Media Independent
439           Interface (RGMII) interfaces. It adopts an AHB bus interface
440           and integrates a link list DMA engine with direct M-Bus
441           accesses for transmitting and receiving packets. It has
442           independent TX/RX fifos, supports half and full duplex (1000
443           Mbps mode only supports full duplex), flow control for full
444           duplex and backpressure for half duplex.
445
446           The FTGMAC100 also implements IP, TCP, UDP checksum offloads
447           and supports IEEE 802.1Q VLAN tag insertion and removal. It
448           offers high-priority transmit queue for QoS and CoS
449           applications.
450
451 config SYS_DISCOVER_PHY
452         bool
453
454 config MCFFEC
455         bool "ColdFire Ethernet Support"
456         select PHYLIB
457         select SYS_DISCOVER_PHY
458         help
459           This driver supports the network interface units in the
460           ColdFire family.
461
462 config SYS_UNIFY_CACHE
463         depends on MCFFEC
464         bool "Invalidate icache during ethernet operations"
465
466 config FSLDMAFEC
467         bool "ColdFire DMA Ethernet Support"
468         select PHYLIB
469         select SYS_DISCOVER_PHY
470         help
471           This driver supports the network interface units in the
472           ColdFire family.
473
474 config KS8851_MLL
475         bool "Microchip KS8851-MLL controller driver"
476         help
477           The Microchip KS8851 parallel bus external ethernet interface chip.
478
479 config 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
486 config LITEETH
487         bool "LiteX LiteEth Ethernet MAC"
488         help
489          Driver for the LiteEth Ethernet MAC from LiteX.
490
491 config 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
498 config 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
506 config 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
515 config 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
525 config 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
534 config 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
541 config 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
553 config 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
561 config NET_NPCM750
562         bool "Nuvoton NPCM750 Ethernet MAC"
563         help
564           support NPCM750 EMAC
565
566 config 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
573 config 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
581 config 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
589 config 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
596 config 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
604 config 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
611 config RGMII
612         bool "Enable RGMII"
613         help
614           Enable the support of the Reduced Gigabit Media-Independent
615           Interface (RGMII).
616
617 config MII
618         bool "Enable MII"
619         help
620           Enable support of the Media-Independent Interface (MII)
621
622 config RMII
623         bool "Enable RMII"
624         help
625           Enable support of the Reduced Media-Independent Interface (MII)
626
627 config 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
633 source "drivers/net/qe/Kconfig"
634
635 config 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
641 config 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
648 config 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
664 config SMC911X
665         bool "SMSC LAN911x and LAN921x controller driver"
666
667 config 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
675 config SUN7I_GMAC
676         bool "Enable Allwinner GMAC Ethernet support"
677         help
678           Enable the support for Sun7i GMAC Ethernet controller
679
680 config 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
688 config 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
694 config 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
703 config 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
710 source "drivers/net/ti/Kconfig"
711
712 config TULIP
713         bool "DEC Tulip DC2114x Ethernet support"
714         help
715           This driver supports DEC DC2114x Fast ethernet chips.
716
717 config 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
724 config 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
733 config VSC7385_ENET
734         bool "Vitesse 7385 Switch Firmware Upload driver"
735
736 config 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
743 config ZYNQ_GEM
744         select PHYLIB
745         bool "Xilinx Ethernet GEM"
746         help
747           This MAC is present in Xilinx Zynq and ZynqMP SoCs.
748
749 config 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
757 config 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
764 config 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
772 config 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
781 config 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
790 config 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
800 config 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
808 source "drivers/net/mscc_eswitch/Kconfig"
809
810 config ETHER_ON_FEC1
811         bool "FEC1"
812         depends on MPC8XX_FEC
813         default y
814
815 config 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
827 config 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
834 config ETHER_ON_FEC2
835         bool "FEC2"
836         depends on MPC8XX_FEC && MPC885
837         default y
838
839 config 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
851 config 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
858 config 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
878 config SYS_FSL_QMAN_V3
879         bool # QMAN version 3
880         depends on SYS_DPAA_QBMAN
881
882 config 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
889 config 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
898 config HIGMACV300_ETH
899         bool "HiSilicon Gigabit Ethernet Controller"
900         select DM_RESET
901         select PHYLIB
902         help
903           This driver supports HIGMACV300 Ethernet controller found on
904           HiSilicon SoCs.
905
906 config FSL_ENETC
907         bool "NXP ENETC Ethernet controller"
908         depends on DM_MDIO
909         help
910           This driver supports the NXP ENETC Ethernet controller found on some
911           of the NXP SoCs.
912
913 config MDIO_MUX_I2CREG
914         bool "MDIO MUX accessed as a register over I2C"
915         depends on DM_MDIO_MUX && DM_I2C
916         help
917           This driver is used for MDIO muxes driven by writing to a register of
918           an I2C chip.  The board it was developed for uses a mux controlled by
919           on-board FPGA which in turn is accessed as a chip over I2C.
920
921 config MDIO_IPQ4019
922         bool "Qualcomm IPQ4019 MDIO interface support"
923         depends on DM_MDIO
924         help
925           This driver supports the MDIO interface found in Qualcomm
926           IPQ40xx series Soc-s.
927
928 config MVMDIO
929         bool "Marvell MDIO interface support"
930         depends on DM_MDIO
931         help
932           This driver supports the MDIO interface found in the network
933           interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
934           Dove, Armada 370, Armada XP, Armada 37xx and Armada7K/8K/8KP).
935
936           This driver is used by the MVPP2 and MVNETA drivers.
937
938 config FSL_LS_MDIO
939         bool "NXP Layerscape MDIO interface support"
940         depends on DM_MDIO
941         help
942           This driver supports the MDIO bus found on the Fman 10G Ethernet MACs and
943           on the mEMAC (which supports both Clauses 22 and 45).
944
945 config ASPEED_MDIO
946         bool "Aspeed MDIO interface support"
947         depends on DM_MDIO
948         help
949           This driver supports the MDIO bus of Aspeed AST2600 SOC.  The driver
950           currently supports Clause 22.
951
952 config MDIO_MUX_MMIOREG
953         bool "MDIO MUX accessed as a MMIO register access"
954         depends on DM_MDIO_MUX
955         help
956           This driver is used for MDIO muxes driven by writing to a register in
957           the MMIO physical memory.
958
959 config MDIO_MUX_MESON_G12A
960         bool "MDIO MUX for Amlogic Meson G12A SoCs"
961         depends on DM_MDIO_MUX
962         help
963           This driver is used for the MDIO mux found on the Amlogic G12A & compatible
964           SoCs.
965
966 endif # NETDEVICES