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