net: designware: socfpga: adapt to Gen5
[platform/kernel/u-boot.git] / drivers / net / Kconfig
1 source "drivers/net/phy/Kconfig"
2 source "drivers/net/pfe_eth/Kconfig"
3
4 config DM_ETH
5         bool "Enable Driver Model for Ethernet drivers"
6         depends on DM
7         help
8           Enable driver model for Ethernet.
9
10           The eth_*() interface will be implemented by the UCLASS_ETH class
11           This is currently implemented in net/eth-uclass.c
12           Look in include/net.h for details.
13
14 menuconfig NETDEVICES
15         bool "Network device support"
16         depends on NET
17         default y if DM_ETH
18         help
19           You must select Y to enable any network device support
20           Generally if you have any networking support this is a given
21
22           If unsure, say Y
23
24 if NETDEVICES
25
26 config PHY_GIGE
27         bool "Enable GbE PHY status parsing and configuration"
28         help
29           Enables support for parsing the status output and for
30           configuring GbE PHYs (affects the inner workings of some
31           commands and miiphyutil.c).
32
33 config AG7XXX
34         bool "Atheros AG7xxx Ethernet MAC support"
35         depends on DM_ETH && ARCH_ATH79
36         select PHYLIB
37         help
38           This driver supports the Atheros AG7xxx Ethernet MAC. This MAC is
39           present in the Atheros AR7xxx, AR9xxx and QCA9xxx MIPS chips.
40
41
42 config ALTERA_TSE
43         bool "Altera Triple-Speed Ethernet MAC support"
44         depends on DM_ETH
45         select PHYLIB
46         help
47           This driver supports the Altera Triple-Speed (TSE) Ethernet MAC.
48           Please find details on the "Triple-Speed Ethernet MegaCore Function
49           Resource Center" of Altera.
50
51 config BCM_SF2_ETH
52         bool "Broadcom SF2 (Starfighter2) Ethernet support"
53         select PHYLIB
54         help
55           This is an abstract framework which provides a generic interface
56           to MAC and DMA management for multiple Broadcom SoCs such as
57           Cygnus, NSP and bcm28155_ap platforms.
58
59 config BCM_SF2_ETH_DEFAULT_PORT
60         int "Broadcom SF2 (Starfighter2) Ethernet default port number"
61         depends on BCM_SF2_ETH
62         default 0
63         help
64           Default port number for the Starfighter2 ethernet driver.
65
66 config BCM_SF2_ETH_GMAC
67         bool "Broadcom SF2 (Starfighter2) GMAC Ethernet support"
68         depends on BCM_SF2_ETH
69         help
70           This flag enables the ethernet support for Broadcom platforms with
71           GMAC such as Cygnus. This driver is based on the framework provided
72           by the BCM_SF2_ETH driver.
73           Say Y to any bcmcygnus based platforms.
74
75 config BCM6348_ETH
76         bool "BCM6348 EMAC support"
77         depends on DM_ETH && ARCH_BMIPS
78         select DMA
79         select DMA_CHANNELS
80         select MII
81         select PHYLIB
82         help
83           This driver supports the BCM6348 Ethernet MAC.
84
85 config BCM6368_ETH
86         bool "BCM6368 EMAC support"
87         depends on DM_ETH && ARCH_BMIPS
88         select DMA
89         select MII
90         help
91           This driver supports the BCM6368 Ethernet MAC.
92
93 config DWC_ETH_QOS
94         bool "Synopsys DWC Ethernet QOS device support"
95         depends on DM_ETH
96         select PHYLIB
97         help
98           This driver supports the Synopsys Designware Ethernet QOS (Quality
99           Of Service) IP block. The IP supports many options for bus type,
100           clocking/reset structure, and feature list. This driver currently
101           supports the specific configuration used in NVIDIA's Tegra186 chip,
102           but should be extensible to other combinations quite easily.
103
104 config E1000
105         bool "Intel PRO/1000 Gigabit Ethernet support"
106         help
107           This driver supports Intel(R) PRO/1000 gigabit ethernet family of
108           adapters.  For more information on how to identify your adapter, go
109           to the Adapter & Driver ID Guide at:
110
111           <http://support.intel.com/support/network/adapter/pro100/21397.htm>
112
113 config E1000_SPI_GENERIC
114         bool "Allow access to the Intel 8257x SPI bus"
115         depends on E1000
116         help
117           Allow generic access to the SPI bus on the Intel 8257x, for
118           example with the "sspi" command.
119
120 config E1000_SPI
121         bool "Enable SPI bus utility code"
122         depends on E1000
123         help
124           Utility code for direct access to the SPI bus on Intel 8257x.
125           This does not do anything useful unless you set at least one
126           of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC.
127
128 config CMD_E1000
129         bool "Enable the e1000 command"
130         depends on E1000
131         help
132           This enables the 'e1000' management command for E1000 devices. When
133           used on devices with SPI support you can reprogram the EEPROM from
134           U-Boot.
135
136 config ETH_SANDBOX
137         depends on DM_ETH && SANDBOX
138         default y
139         bool "Sandbox: Mocked Ethernet driver"
140         help
141           This driver simply responds with fake ARP replies and ping
142           replies that are used to verify network stack functionality
143
144           This driver is particularly useful in the test/dm/eth.c tests
145
146 config ETH_SANDBOX_RAW
147         depends on DM_ETH && SANDBOX
148         default y
149         bool "Sandbox: Bridge to Linux Raw Sockets"
150         help
151           This driver is a bridge from the bottom of the network stack
152           in U-Boot to the RAW AF_PACKET API in Linux. This allows real
153           network traffic to be tested from within sandbox. See
154           board/sandbox/README.sandbox for more details.
155
156 config ETH_DESIGNWARE
157         bool "Synopsys Designware Ethernet MAC"
158         select PHYLIB
159         help
160           This MAC is present in SoCs from various vendors. It supports
161           100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
162           provide the PHY (physical media interface).
163
164 config ETH_DESIGNWARE_SOCFPGA
165         select REGMAP
166         select SYSCON
167         bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
168         depends on DM_ETH && ETH_DESIGNWARE
169         help
170           The Altera SoCFPGA requires additional configuration of the
171           Altera system manager to correctly interface with the PHY.
172           This code handles those SoC specifics.
173
174 config ETHOC
175         bool "OpenCores 10/100 Mbps Ethernet MAC"
176         help
177           This MAC is present in OpenRISC and Xtensa XTFPGA boards.
178
179 config FEC_MXC_SHARE_MDIO
180         bool "Share the MDIO bus for FEC controller"
181         depends on FEC_MXC
182
183 config FEC_MXC_MDIO_BASE
184         hex "MDIO base address for the FEC controller"
185         depends on FEC_MXC_SHARE_MDIO
186         help
187           This specifies the MDIO registers base address. It is used when
188           two FEC controllers share MDIO bus.
189
190 config FEC_MXC
191         bool "FEC Ethernet controller"
192         depends on MX5 || MX6 || MX7 || IMX8
193         help
194           This driver supports the 10/100 Fast Ethernet controller for
195           NXP i.MX processors.
196
197 config FTMAC100
198         bool "Ftmac100 Ethernet Support"
199         help
200           This MAC is present in Andestech SoCs.
201
202 config FTGMAC100
203         bool "Ftgmac100 Ethernet Support"
204         depends on DM_ETH
205         select PHYLIB
206         help
207           This driver supports the Faraday's FTGMAC100 Gigabit SoC
208           Ethernet controller that can be found on Aspeed SoCs (which
209           include NCSI).
210
211           It is fully compliant with IEEE 802.3 specification for
212           10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
213           Mbps Ethernet and includes Reduced Media Independent
214           Interface (RMII) and Reduced Gigabit Media Independent
215           Interface (RGMII) interfaces. It adopts an AHB bus interface
216           and integrates a link list DMA engine with direct M-Bus
217           accesses for transmitting and receiving packets. It has
218           independent TX/RX fifos, supports half and full duplex (1000
219           Mbps mode only supports full duplex), flow control for full
220           duplex and backpressure for half duplex.
221
222           The FTGMAC100 also implements IP, TCP, UDP checksum offloads
223           and supports IEEE 802.1Q VLAN tag insertion and removal. It
224           offers high-priority transmit queue for QoS and CoS
225           applications.
226
227
228 config MVGBE
229         bool "Marvell Orion5x/Kirkwood network interface support"
230         depends on KIRKWOOD || ORION5X
231         select PHYLIB if DM_ETH
232         help
233           This driver supports the network interface units in the
234           Marvell Orion5x and Kirkwood SoCs
235
236 config MVNETA
237         bool "Marvell Armada XP/385/3700 network interface support"
238         depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
239         select PHYLIB
240         help
241           This driver supports the network interface units in the
242           Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
243
244 config MVPP2
245         bool "Marvell Armada 375/7K/8K network interface support"
246         depends on ARMADA_375 || ARMADA_8K
247         select PHYLIB
248         help
249           This driver supports the network interface units in the
250           Marvell ARMADA 375, 7K and 8K SoCs.
251
252 config MACB
253         bool "Cadence MACB/GEM Ethernet Interface"
254         depends on DM_ETH
255         select PHYLIB
256         help
257           The Cadence MACB ethernet interface is found on many Atmel
258           AT91 and SAMA5 parts.  This driver also supports the Cadence
259           GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
260           Say Y to include support for the MACB/GEM chip.
261
262 config MACB_ZYNQ
263         bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
264         depends on MACB
265         help
266           The Cadence MACB ethernet interface was used on Zynq platform.
267           Say Y to enable support for the MACB/GEM in Zynq chip.
268
269 config MT7628_ETH
270         bool "MediaTek MT7628 Ethernet Interface"
271         depends on ARCH_MT7620
272         help
273           The MediaTek MT7628 ethernet interface is used on MT7628 and
274           MT7688 based boards.
275
276 config PCH_GBE
277         bool "Intel Platform Controller Hub EG20T GMAC driver"
278         depends on DM_ETH && DM_PCI
279         select PHYLIB
280         help
281           This MAC is present in Intel Platform Controller Hub EG20T. It
282           supports 10/100/1000 Mbps operation.
283
284 config RGMII
285         bool "Enable RGMII"
286         help
287           Enable the support of the Reduced Gigabit Media-Independent
288           Interface (RGMII).
289
290 config MII
291         bool "Enable MII"
292         help
293           Enable support of the Media-Independent Interface (MII)
294
295 config RTL8139
296         bool "Realtek 8139 series Ethernet controller driver"
297         help
298           This driver supports Realtek 8139 series fast ethernet family of
299           PCI chipsets/adapters.
300
301 config RTL8169
302         bool "Realtek 8169 series Ethernet controller driver"
303         help
304           This driver supports Realtek 8169 series gigabit ethernet family of
305           PCI/PCIe chipsets/adapters.
306
307 config SMC911X
308         bool "SMSC LAN911x and LAN921x controller driver"
309
310 if SMC911X
311
312 config SMC911X_BASE
313         hex "SMC911X Base Address"
314         help
315           Define this to hold the physical address
316           of the device (I/O space)
317
318 choice
319         prompt "SMC911X bus width"
320         default SMC911X_16_BIT
321
322 config SMC911X_32_BIT
323         bool "Enable 32-bit interface"
324
325 config SMC911X_16_BIT
326         bool "Enable 16-bit interface"
327         help
328           Define this if data bus is 16 bits. If your processor
329           automatically converts one 32 bit word to two 16 bit
330           words you may also try CONFIG_SMC911X_32_BIT.
331
332 endchoice
333 endif #SMC911X
334
335 config SUN7I_GMAC
336         bool "Enable Allwinner GMAC Ethernet support"
337         help
338           Enable the support for Sun7i GMAC Ethernet controller
339
340 config SUN7I_GMAC_FORCE_TXERR
341         bool "Force PA17 as gmac function"
342         depends on SUN7I_GMAC
343         help
344           Some ethernet phys needs TXERR control. Since the GMAC
345           doesn't have such signal, setting PA17 as GMAC function
346           makes the pin output low, which enables data transmission.
347
348 config SUN4I_EMAC
349         bool "Allwinner Sun4i Ethernet MAC support"
350         depends on DM_ETH
351         select PHYLIB
352         help
353           This driver supports the Allwinner based SUN4I Ethernet MAC.
354
355 config SUN8I_EMAC
356         bool "Allwinner Sun8i Ethernet MAC support"
357         depends on DM_ETH
358         select PHYLIB
359         select PHY_GIGE
360         help
361           This driver supports the  Allwinner based SUN8I/SUN50I Ethernet MAC.
362           It can be found in H3/A64/A83T based SoCs and compatible with both
363           External and Internal PHYs.
364
365 config SH_ETHER
366         bool "Renesas SH Ethernet MAC"
367         select PHYLIB
368         help
369           This driver supports the Ethernet for Renesas SH and ARM SoCs.
370
371 source "drivers/net/ti/Kconfig"
372
373 config XILINX_AXIEMAC
374         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
375         select PHYLIB
376         select MII
377         bool "Xilinx AXI Ethernet"
378         help
379           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
380
381 config XILINX_EMACLITE
382         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || MIPS)
383         select PHYLIB
384         select MII
385         bool "Xilinx Ethernetlite"
386         help
387           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
388
389 config ZYNQ_GEM
390         depends on DM_ETH && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL)
391         select PHYLIB
392         bool "Xilinx Ethernet GEM"
393         help
394           This MAC is present in Xilinx Zynq and ZynqMP SoCs.
395
396 config PIC32_ETH
397         bool "Microchip PIC32 Ethernet Support"
398         depends on DM_ETH && MACH_PIC32
399         select PHYLIB
400         help
401           This driver implements 10/100 Mbps Ethernet and MAC layer for
402           Microchip PIC32 microcontrollers.
403
404 config GMAC_ROCKCHIP
405         bool "Rockchip Synopsys Designware Ethernet MAC"
406         depends on DM_ETH && ETH_DESIGNWARE
407         help
408           This driver provides Rockchip SoCs network support based on the
409           Synopsys Designware driver.
410
411 config RENESAS_RAVB
412         bool "Renesas Ethernet AVB MAC"
413         depends on DM_ETH && RCAR_GEN3
414         select PHYLIB
415         help
416           This driver implements support for the Ethernet AVB block in
417           Renesas M3 and H3 SoCs.
418
419 config MPC8XX_FEC
420         bool "Fast Ethernet Controller on MPC8XX"
421         depends on MPC8xx
422         select MII
423         help
424           This driver implements support for the Fast Ethernet Controller
425           on MPC8XX
426
427 config SNI_AVE
428         bool "Socionext AVE Ethernet support"
429         depends on DM_ETH && ARCH_UNIPHIER
430         select PHYLIB
431         select SYSCON
432         select REGMAP
433         help
434           This driver implements support for the Socionext AVE Ethernet
435           controller, as found on the Socionext UniPhier family.
436
437 source "drivers/net/mscc_eswitch/Kconfig"
438
439 config ETHER_ON_FEC1
440         bool "FEC1"
441         depends on MPC8XX_FEC
442         default y
443
444 config FEC1_PHY
445         int "FEC1 PHY"
446         depends on ETHER_ON_FEC1
447         default -1
448         help
449           Define to the hardcoded PHY address which corresponds
450           to the given FEC; i. e.
451                 #define CONFIG_FEC1_PHY 4
452           means that the PHY with address 4 is connected to FEC1
453
454           When set to -1, means to probe for first available.
455
456 config PHY_NORXERR
457         bool "PHY_NORXERR"
458         depends on ETHER_ON_FEC1
459         default n
460         help
461           The PHY does not have a RXERR line (RMII only).
462           (so program the FEC to ignore it).
463
464 config ETHER_ON_FEC2
465         bool "FEC2"
466         depends on MPC8XX_FEC && MPC885
467         default y
468
469 config FEC2_PHY
470         int "FEC2 PHY"
471         depends on ETHER_ON_FEC2
472         default -1
473         help
474           Define to the hardcoded PHY address which corresponds
475           to the given FEC; i. e.
476                 #define CONFIG_FEC1_PHY 4
477           means that the PHY with address 4 is connected to FEC1
478
479           When set to -1, means to probe for first available.
480
481 config FEC2_PHY_NORXERR
482         bool "PHY_NORXERR"
483         depends on ETHER_ON_FEC2
484         default n
485         help
486           The PHY does not have a RXERR line (RMII only).
487           (so program the FEC to ignore it).
488
489 config SYS_DPAA_QBMAN
490         bool "Device tree fixup for QBMan on freescale SOCs"
491         depends on (ARM || PPC) && !SPL_BUILD
492         default y if ARCH_B4860 || \
493                      ARCH_B4420 || \
494                      ARCH_P1023 || \
495                      ARCH_P2041 || \
496                      ARCH_T1023 || \
497                      ARCH_T1024 || \
498                      ARCH_T1040 || \
499                      ARCH_T1042 || \
500                      ARCH_T2080 || \
501                      ARCH_T2081 || \
502                      ARCH_T4240 || \
503                      ARCH_T4160 || \
504                      ARCH_P4080 || \
505                      ARCH_P3041 || \
506                      ARCH_P5040 || \
507                      ARCH_P5020 || \
508                      ARCH_LS1043A || \
509                      ARCH_LS1046A
510         help
511           QBman fixups to allow deep sleep in DPAA 1 SOCs
512
513 config TSEC_ENET
514         select PHYLIB
515         bool "Enable Three-Speed Ethernet Controller"
516         help
517           This driver implements support for the (Enhanced) Three-Speed
518           Ethernet Controller found on Freescale SoCs.
519
520 config MEDIATEK_ETH
521         bool "MediaTek Ethernet GMAC Driver"
522         depends on DM_ETH
523         select PHYLIB
524         select DM_GPIO
525         select DM_RESET
526         help
527           This Driver support MediaTek Ethernet GMAC
528           Say Y to enable support for the MediaTek Ethernet GMAC.
529
530 endif # NETDEVICES