ARM: rmobile: Add Beacon EmbeddedWorks RZG2M Dev Kit
[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 DM_ETH
6         bool "Enable Driver Model for Ethernet drivers"
7         depends on DM
8         help
9           Enable driver model for Ethernet.
10
11           The eth_*() interface will be implemented by the UCLASS_ETH class
12           This is currently implemented in net/eth-uclass.c
13           Look in include/net.h for details.
14
15 config DM_MDIO
16         bool "Enable Driver Model for MDIO devices"
17         depends on DM_ETH && PHYLIB
18         help
19           Enable driver model for MDIO devices
20
21           Adds UCLASS_MDIO DM class supporting MDIO buses that are probed as
22           stand-alone devices.  Useful in particular for systems that support
23           DM_ETH and have a stand-alone MDIO hardware block shared by multiple
24           Ethernet interfaces.
25           This is currently implemented in net/mdio-uclass.c
26           Look in include/miiphy.h for details.
27
28 config DM_MDIO_MUX
29         bool "Enable Driver Model for MDIO MUX devices"
30         depends on DM_MDIO
31         help
32           Enable driver model for MDIO MUX devices
33
34           Adds UCLASS_MDIO_MUX DM class supporting MDIO MUXes.  Useful for
35           systems that support DM_MDIO and integrate one or multiple muxes on
36           the MDIO bus.
37           This is currently implemented in net/mdio-mux-uclass.c
38           Look in include/miiphy.h for details.
39
40 config MDIO_SANDBOX
41         depends on DM_MDIO && SANDBOX
42         default y
43         bool "Sandbox: Mocked MDIO driver"
44         help
45           This driver implements dummy read/write/reset MDIO functions mimicking
46           a bus with a single PHY.
47
48           This driver is used in for testing in test/dm/mdio.c
49
50 config MDIO_MUX_SANDBOX
51         depends on DM_MDIO_MUX && MDIO_SANDBOX
52         default y
53         bool "Sandbox: Mocked MDIO-MUX driver"
54         help
55           This driver implements dummy select/deselect ops mimicking a MUX on
56           the MDIO bux.  It uses mdio_sandbox driver as parent MDIO.
57
58           This driver is used for testing in test/dm/mdio.c
59
60 config DM_ETH_PHY
61         bool "Enable Driver Model for Ethernet Generic PHY drivers"
62         depends on DM
63         help
64           Enable driver model for Ethernet Generic PHY .
65
66 menuconfig NETDEVICES
67         bool "Network device support"
68         depends on NET
69         default y if DM_ETH
70         help
71           You must select Y to enable any network device support
72           Generally if you have any networking support this is a given
73
74           If unsure, say Y
75
76 if NETDEVICES
77
78 config PHY_GIGE
79         bool "Enable GbE PHY status parsing and configuration"
80         help
81           Enables support for parsing the status output and for
82           configuring GbE PHYs (affects the inner workings of some
83           commands and miiphyutil.c).
84
85 config AG7XXX
86         bool "Atheros AG7xxx Ethernet MAC support"
87         depends on DM_ETH && ARCH_ATH79
88         select PHYLIB
89         help
90           This driver supports the Atheros AG7xxx Ethernet MAC. This MAC is
91           present in the Atheros AR7xxx, AR9xxx and QCA9xxx MIPS chips.
92
93
94 config ALTERA_TSE
95         bool "Altera Triple-Speed Ethernet MAC support"
96         depends on DM_ETH
97         select PHYLIB
98         help
99           This driver supports the Altera Triple-Speed (TSE) Ethernet MAC.
100           Please find details on the "Triple-Speed Ethernet MegaCore Function
101           Resource Center" of Altera.
102
103 config BCM_SF2_ETH
104         bool "Broadcom SF2 (Starfighter2) Ethernet support"
105         select PHYLIB
106         help
107           This is an abstract framework which provides a generic interface
108           to MAC and DMA management for multiple Broadcom SoCs such as
109           Cygnus, NSP and bcm28155_ap platforms.
110
111 config BCM_SF2_ETH_DEFAULT_PORT
112         int "Broadcom SF2 (Starfighter2) Ethernet default port number"
113         depends on BCM_SF2_ETH
114         default 0
115         help
116           Default port number for the Starfighter2 ethernet driver.
117
118 config BCM_SF2_ETH_GMAC
119         bool "Broadcom SF2 (Starfighter2) GMAC Ethernet support"
120         depends on BCM_SF2_ETH
121         help
122           This flag enables the ethernet support for Broadcom platforms with
123           GMAC such as Cygnus. This driver is based on the framework provided
124           by the BCM_SF2_ETH driver.
125           Say Y to any bcmcygnus based platforms.
126
127 config BCM6348_ETH
128         bool "BCM6348 EMAC support"
129         depends on DM_ETH && ARCH_BMIPS
130         select DMA
131         select DMA_CHANNELS
132         select MII
133         select PHYLIB
134         help
135           This driver supports the BCM6348 Ethernet MAC.
136
137 config BCM6368_ETH
138         bool "BCM6368 EMAC support"
139         depends on DM_ETH && ARCH_BMIPS
140         select DMA
141         select MII
142         help
143           This driver supports the BCM6368 Ethernet MAC.
144
145 config BCMGENET
146         bool "BCMGENET V5 support"
147         depends on DM_ETH
148         select PHYLIB
149         help
150           This driver supports the BCMGENET Ethernet MAC.
151
152 config DWC_ETH_QOS
153         bool "Synopsys DWC Ethernet QOS device support"
154         depends on DM_ETH
155         select PHYLIB
156         help
157           This driver supports the Synopsys Designware Ethernet QOS (Quality
158           Of Service) IP block. The IP supports many options for bus type,
159           clocking/reset structure, and feature list. This driver currently
160           supports the specific configuration used in NVIDIA's Tegra186 chip,
161           but should be extensible to other combinations quite easily.
162
163 config E1000
164         bool "Intel PRO/1000 Gigabit Ethernet support"
165         depends on (DM_ETH && DM_PCI) || !DM_ETH
166         help
167           This driver supports Intel(R) PRO/1000 gigabit ethernet family of
168           adapters.  For more information on how to identify your adapter, go
169           to the Adapter & Driver ID Guide at:
170
171           <http://support.intel.com/support/network/adapter/pro100/21397.htm>
172
173 config E1000_SPI_GENERIC
174         bool "Allow access to the Intel 8257x SPI bus"
175         depends on E1000
176         help
177           Allow generic access to the SPI bus on the Intel 8257x, for
178           example with the "sspi" command.
179
180 config E1000_SPI
181         bool "Enable SPI bus utility code"
182         depends on E1000
183         help
184           Utility code for direct access to the SPI bus on Intel 8257x.
185           This does not do anything useful unless you set at least one
186           of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
187
188 config CMD_E1000
189         bool "Enable the e1000 command"
190         depends on E1000
191         help
192           This enables the 'e1000' management command for E1000 devices. When
193           used on devices with SPI support you can reprogram the EEPROM from
194           U-Boot.
195
196 config EEPRO100
197         bool "Intel PRO/100 82557/82559/82559ER Fast Ethernet support"
198         help
199           This driver supports Intel(R) PRO/100 82557/82559/82559ER fast
200           ethernet family of adapters.
201
202 config ETH_SANDBOX
203         depends on DM_ETH && SANDBOX
204         default y
205         bool "Sandbox: Mocked Ethernet driver"
206         help
207           This driver simply responds with fake ARP replies and ping
208           replies that are used to verify network stack functionality
209
210           This driver is particularly useful in the test/dm/eth.c tests
211
212 config ETH_SANDBOX_RAW
213         depends on DM_ETH && SANDBOX
214         default y
215         bool "Sandbox: Bridge to Linux Raw Sockets"
216         help
217           This driver is a bridge from the bottom of the network stack
218           in U-Boot to the RAW AF_PACKET API in Linux. This allows real
219           network traffic to be tested from within sandbox. See
220           doc/arch/index.rst for more details.
221
222 config ETH_DESIGNWARE
223         bool "Synopsys Designware Ethernet MAC"
224         select PHYLIB
225         imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
226         help
227           This MAC is present in SoCs from various vendors. It supports
228           100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
229           provide the PHY (physical media interface).
230
231 config ETH_DESIGNWARE_SOCFPGA
232         select REGMAP
233         select SYSCON
234         bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
235         depends on DM_ETH && ETH_DESIGNWARE
236         help
237           The Altera SoCFPGA requires additional configuration of the
238           Altera system manager to correctly interface with the PHY.
239           This code handles those SoC specifics.
240
241 config ETH_DESIGNWARE_S700
242         bool "Actins S700 glue driver for Synopsys Designware Ethernet MAC"
243         depends on DM_ETH && ETH_DESIGNWARE
244         help
245           This provides glue layer to use Synopsys Designware Ethernet MAC
246           present on Actions S700 SoC.
247
248 config ETHOC
249         bool "OpenCores 10/100 Mbps Ethernet MAC"
250         help
251           This MAC is present in OpenRISC and Xtensa XTFPGA boards.
252
253 config FEC_MXC_SHARE_MDIO
254         bool "Share the MDIO bus for FEC controller"
255         depends on FEC_MXC
256
257 config FEC_MXC_MDIO_BASE
258         hex "MDIO base address for the FEC controller"
259         depends on FEC_MXC_SHARE_MDIO
260         help
261           This specifies the MDIO registers base address. It is used when
262           two FEC controllers share MDIO bus.
263
264 config FEC_MXC
265         bool "FEC Ethernet controller"
266         depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || VF610
267         help
268           This driver supports the 10/100 Fast Ethernet controller for
269           NXP i.MX processors.
270
271 config FMAN_ENET
272         bool "Freescale FMan ethernet support"
273         depends on ARM || PPC
274         help
275           This driver support the Freescale FMan Ethernet controller
276
277 config FTMAC100
278         bool "Ftmac100 Ethernet Support"
279         help
280           This MAC is present in Andestech SoCs.
281
282 config FTGMAC100
283         bool "Ftgmac100 Ethernet Support"
284         depends on DM_ETH
285         select PHYLIB
286         help
287           This driver supports the Faraday's FTGMAC100 Gigabit SoC
288           Ethernet controller that can be found on Aspeed SoCs (which
289           include NCSI).
290
291           It is fully compliant with IEEE 802.3 specification for
292           10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
293           Mbps Ethernet and includes Reduced Media Independent
294           Interface (RMII) and Reduced Gigabit Media Independent
295           Interface (RGMII) interfaces. It adopts an AHB bus interface
296           and integrates a link list DMA engine with direct M-Bus
297           accesses for transmitting and receiving packets. It has
298           independent TX/RX fifos, supports half and full duplex (1000
299           Mbps mode only supports full duplex), flow control for full
300           duplex and backpressure for half duplex.
301
302           The FTGMAC100 also implements IP, TCP, UDP checksum offloads
303           and supports IEEE 802.1Q VLAN tag insertion and removal. It
304           offers high-priority transmit queue for QoS and CoS
305           applications.
306
307
308 config MCFFEC
309         bool "ColdFire Ethernet Support"
310         depends on DM_ETH
311         select PHYLIB
312         help
313           This driver supports the network interface units in the
314           ColdFire family.
315
316 config FSLDMAFEC
317         bool "ColdFire DMA Ethernet Support"
318         depends on DM_ETH
319         select PHYLIB
320         help
321           This driver supports the network interface units in the
322           ColdFire family.
323
324 config KS8851_MLL
325         bool "Microchip KS8851-MLL controller driver"
326         help
327           The Microchip KS8851 parallel bus external ethernet interface chip.
328
329 if KS8851_MLL
330 if !DM_ETH
331 config KS8851_MLL_BASEADDR
332         hex "Microchip KS8851-MLL Base Address"
333         help
334           Define this to hold the physical address of the device (I/O space)
335 endif #DM_ETH
336 endif #KS8851_MLL
337
338 config MVGBE
339         bool "Marvell Orion5x/Kirkwood network interface support"
340         depends on ARCH_KIRKWOOD || ARCH_ORION5X
341         select PHYLIB if DM_ETH
342         help
343           This driver supports the network interface units in the
344           Marvell Orion5x and Kirkwood SoCs
345
346 config MVNETA
347         bool "Marvell Armada XP/385/3700 network interface support"
348         depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
349         select PHYLIB
350         help
351           This driver supports the network interface units in the
352           Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
353
354 config MVPP2
355         bool "Marvell Armada 375/7K/8K network interface support"
356         depends on ARMADA_375 || ARMADA_8K
357         select PHYLIB
358         select MVMDIO
359         select DM_MDIO
360         help
361           This driver supports the network interface units in the
362           Marvell ARMADA 375, 7K and 8K SoCs.
363
364 config MACB
365         bool "Cadence MACB/GEM Ethernet Interface"
366         depends on DM_ETH
367         select PHYLIB
368         help
369           The Cadence MACB ethernet interface is found on many Atmel
370           AT91 and SAMA5 parts.  This driver also supports the Cadence
371           GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
372           Say Y to include support for the MACB/GEM chip.
373
374 config MACB_ZYNQ
375         bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
376         depends on MACB
377         help
378           The Cadence MACB ethernet interface was used on Zynq platform.
379           Say Y to enable support for the MACB/GEM in Zynq chip.
380
381 config MT7628_ETH
382         bool "MediaTek MT7628 Ethernet Interface"
383         depends on SOC_MT7628
384         select PHYLIB
385         help
386           The MediaTek MT7628 ethernet interface is used on MT7628 and
387           MT7688 based boards.
388
389 config PCH_GBE
390         bool "Intel Platform Controller Hub EG20T GMAC driver"
391         depends on DM_ETH && DM_PCI
392         select PHYLIB
393         help
394           This MAC is present in Intel Platform Controller Hub EG20T. It
395           supports 10/100/1000 Mbps operation.
396
397 config RGMII
398         bool "Enable RGMII"
399         help
400           Enable the support of the Reduced Gigabit Media-Independent
401           Interface (RGMII).
402
403 config MII
404         bool "Enable MII"
405         help
406           Enable support of the Media-Independent Interface (MII)
407
408 config PCNET
409         bool "AMD PCnet series Ethernet controller driver"
410         help
411           This driver supports AMD PCnet series fast ethernet family of
412           PCI chipsets/adapters.
413
414 config RTL8139
415         bool "Realtek 8139 series Ethernet controller driver"
416         help
417           This driver supports Realtek 8139 series fast ethernet family of
418           PCI chipsets/adapters.
419
420 config RTL8169
421         bool "Realtek 8169 series Ethernet controller driver"
422         help
423           This driver supports Realtek 8169 series gigabit ethernet family of
424           PCI/PCIe chipsets/adapters.
425
426 config SMC911X
427         bool "SMSC LAN911x and LAN921x controller driver"
428
429 if SMC911X
430
431 if !DM_ETH
432 config SMC911X_BASE
433         hex "SMC911X Base Address"
434         help
435           Define this to hold the physical address
436           of the device (I/O space)
437 endif #DM_ETH
438
439 choice
440         prompt "SMC911X bus width"
441         default SMC911X_16_BIT
442
443 config SMC911X_32_BIT
444         bool "Enable 32-bit interface"
445
446 config SMC911X_16_BIT
447         bool "Enable 16-bit interface"
448         help
449           Define this if data bus is 16 bits. If your processor
450           automatically converts one 32 bit word to two 16 bit
451           words you may also try CONFIG_SMC911X_32_BIT.
452
453 endchoice
454 endif #SMC911X
455
456 config SUN7I_GMAC
457         bool "Enable Allwinner GMAC Ethernet support"
458         help
459           Enable the support for Sun7i GMAC Ethernet controller
460
461 config SUN7I_GMAC_FORCE_TXERR
462         bool "Force PA17 as gmac function"
463         depends on SUN7I_GMAC
464         help
465           Some ethernet phys needs TXERR control. Since the GMAC
466           doesn't have such signal, setting PA17 as GMAC function
467           makes the pin output low, which enables data transmission.
468
469 config SUN4I_EMAC
470         bool "Allwinner Sun4i Ethernet MAC support"
471         depends on DM_ETH
472         select PHYLIB
473         help
474           This driver supports the Allwinner based SUN4I Ethernet MAC.
475
476 config SUN8I_EMAC
477         bool "Allwinner Sun8i Ethernet MAC support"
478         depends on DM_ETH
479         select PHYLIB
480         select PHY_GIGE
481         help
482           This driver supports the  Allwinner based SUN8I/SUN50I Ethernet MAC.
483           It can be found in H3/A64/A83T based SoCs and compatible with both
484           External and Internal PHYs.
485
486 config SH_ETHER
487         bool "Renesas SH Ethernet MAC"
488         select PHYLIB
489         help
490           This driver supports the Ethernet for Renesas SH and ARM SoCs.
491
492 source "drivers/net/ti/Kconfig"
493
494 config XILINX_AXIEMAC
495         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
496         select PHYLIB
497         select MII
498         bool "Xilinx AXI Ethernet"
499         help
500           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
501
502 config XILINX_EMACLITE
503         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || MIPS)
504         select PHYLIB
505         select MII
506         bool "Xilinx Ethernetlite"
507         help
508           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
509
510 config ZYNQ_GEM
511         depends on DM_ETH && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL)
512         select PHYLIB
513         bool "Xilinx Ethernet GEM"
514         help
515           This MAC is present in Xilinx Zynq and ZynqMP SoCs.
516
517 config PIC32_ETH
518         bool "Microchip PIC32 Ethernet Support"
519         depends on DM_ETH && MACH_PIC32
520         select PHYLIB
521         help
522           This driver implements 10/100 Mbps Ethernet and MAC layer for
523           Microchip PIC32 microcontrollers.
524
525 config GMAC_ROCKCHIP
526         bool "Rockchip Synopsys Designware Ethernet MAC"
527         depends on DM_ETH && ETH_DESIGNWARE
528         help
529           This driver provides Rockchip SoCs network support based on the
530           Synopsys Designware driver.
531
532 config RENESAS_RAVB
533         bool "Renesas Ethernet AVB MAC"
534         depends on DM_ETH && RCAR_GEN3
535         select PHYLIB
536         help
537           This driver implements support for the Ethernet AVB block in
538           Renesas M3 and H3 SoCs.
539
540 config MPC8XX_FEC
541         bool "Fast Ethernet Controller on MPC8XX"
542         depends on MPC8xx
543         select MII
544         help
545           This driver implements support for the Fast Ethernet Controller
546           on MPC8XX
547
548 config SNI_AVE
549         bool "Socionext AVE Ethernet support"
550         depends on DM_ETH && ARCH_UNIPHIER
551         select PHYLIB
552         select SYSCON
553         select REGMAP
554         help
555           This driver implements support for the Socionext AVE Ethernet
556           controller, as found on the Socionext UniPhier family.
557
558 source "drivers/net/mscc_eswitch/Kconfig"
559
560 config ETHER_ON_FEC1
561         bool "FEC1"
562         depends on MPC8XX_FEC
563         default y
564
565 config FEC1_PHY
566         int "FEC1 PHY"
567         depends on ETHER_ON_FEC1
568         default -1
569         help
570           Define to the hardcoded PHY address which corresponds
571           to the given FEC; i. e.
572                 #define CONFIG_FEC1_PHY 4
573           means that the PHY with address 4 is connected to FEC1
574
575           When set to -1, means to probe for first available.
576
577 config PHY_NORXERR
578         bool "PHY_NORXERR"
579         depends on ETHER_ON_FEC1
580         default n
581         help
582           The PHY does not have a RXERR line (RMII only).
583           (so program the FEC to ignore it).
584
585 config ETHER_ON_FEC2
586         bool "FEC2"
587         depends on MPC8XX_FEC && MPC885
588         default y
589
590 config FEC2_PHY
591         int "FEC2 PHY"
592         depends on ETHER_ON_FEC2
593         default -1
594         help
595           Define to the hardcoded PHY address which corresponds
596           to the given FEC; i. e.
597                 #define CONFIG_FEC1_PHY 4
598           means that the PHY with address 4 is connected to FEC1
599
600           When set to -1, means to probe for first available.
601
602 config FEC2_PHY_NORXERR
603         bool "PHY_NORXERR"
604         depends on ETHER_ON_FEC2
605         default n
606         help
607           The PHY does not have a RXERR line (RMII only).
608           (so program the FEC to ignore it).
609
610 config SYS_DPAA_QBMAN
611         bool "Device tree fixup for QBMan on freescale SOCs"
612         depends on (ARM || PPC) && !SPL_BUILD
613         default y if ARCH_B4860 || \
614                      ARCH_B4420 || \
615                      ARCH_P1023 || \
616                      ARCH_P2041 || \
617                      ARCH_T1023 || \
618                      ARCH_T1024 || \
619                      ARCH_T1040 || \
620                      ARCH_T1042 || \
621                      ARCH_T2080 || \
622                      ARCH_T2081 || \
623                      ARCH_T4240 || \
624                      ARCH_T4160 || \
625                      ARCH_P4080 || \
626                      ARCH_P3041 || \
627                      ARCH_P5040 || \
628                      ARCH_P5020 || \
629                      ARCH_LS1043A || \
630                      ARCH_LS1046A
631         help
632           QBman fixups to allow deep sleep in DPAA 1 SOCs
633
634 config TSEC_ENET
635         select PHYLIB
636         bool "Enable Three-Speed Ethernet Controller"
637         help
638           This driver implements support for the (Enhanced) Three-Speed
639           Ethernet Controller found on Freescale SoCs.
640
641 config MEDIATEK_ETH
642         bool "MediaTek Ethernet GMAC Driver"
643         depends on DM_ETH
644         select PHYLIB
645         select DM_GPIO
646         select DM_RESET
647         help
648           This Driver support MediaTek Ethernet GMAC
649           Say Y to enable support for the MediaTek Ethernet GMAC.
650
651 config HIGMACV300_ETH
652         bool "HiSilicon Gigabit Ethernet Controller"
653         depends on DM_ETH
654         select DM_RESET
655         select PHYLIB
656         help
657           This driver supports HIGMACV300 Ethernet controller found on
658           HiSilicon SoCs.
659
660 config FSL_ENETC
661         bool "NXP ENETC Ethernet controller"
662         depends on DM_PCI && DM_ETH && DM_MDIO
663         help
664           This driver supports the NXP ENETC Ethernet controller found on some
665           of the NXP SoCs.
666
667 config MDIO_MUX_I2CREG
668         bool "MDIO MUX accessed as a register over I2C"
669         depends on DM_MDIO_MUX && DM_I2C
670         help
671           This driver is used for MDIO muxes driven by writing to a register of
672           an I2C chip.  The board it was developed for uses a mux controlled by
673           on-board FPGA which in turn is accessed as a chip over I2C.
674
675 config MVMDIO
676         bool "Marvell MDIO interface support"
677         depends on DM_MDIO
678         help
679           This driver supports the MDIO interface found in the network
680           interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
681           Dove, Armada 370, Armada XP, Armada 37xx and Armada7K/8K/8KP).
682
683           This driver is used by the MVPP2 and MVNETA drivers.
684
685 config FSL_LS_MDIO
686         bool "NXP Layerscape MDIO interface support"
687         depends on DM_MDIO
688         help
689           This driver supports the MDIO bus found on the Fman 10G Ethernet MACs and
690           on the mEMAC (which supports both Clauses 22 and 45).
691
692 endif # NETDEVICES