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