configs: Migrate CONFIG_FMAN_ENET and some related options to Kconfig
[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         imply ETH_DESIGNWARE_SOCFPGA if ARCH_SOCFPGA
160         help
161           This MAC is present in SoCs from various vendors. It supports
162           100Mbit and 1 Gbit operation. You must enable CONFIG_PHYLIB to
163           provide the PHY (physical media interface).
164
165 config ETH_DESIGNWARE_SOCFPGA
166         select REGMAP
167         select SYSCON
168         bool "Altera SoCFPGA extras for Synopsys Designware Ethernet MAC"
169         depends on DM_ETH && ETH_DESIGNWARE
170         help
171           The Altera SoCFPGA requires additional configuration of the
172           Altera system manager to correctly interface with the PHY.
173           This code handles those SoC specifics.
174
175 config ETHOC
176         bool "OpenCores 10/100 Mbps Ethernet MAC"
177         help
178           This MAC is present in OpenRISC and Xtensa XTFPGA boards.
179
180 config FEC_MXC_SHARE_MDIO
181         bool "Share the MDIO bus for FEC controller"
182         depends on FEC_MXC
183
184 config FEC_MXC_MDIO_BASE
185         hex "MDIO base address for the FEC controller"
186         depends on FEC_MXC_SHARE_MDIO
187         help
188           This specifies the MDIO registers base address. It is used when
189           two FEC controllers share MDIO bus.
190
191 config FEC_MXC
192         bool "FEC Ethernet controller"
193         depends on MX5 || MX6 || MX7 || IMX8 || VF610
194         help
195           This driver supports the 10/100 Fast Ethernet controller for
196           NXP i.MX processors.
197
198 config FMAN_ENET
199         bool "Freescale FMan ethernet support"
200         depends on ARM || PPC
201         help
202           This driver support the Freescale FMan Ethernet controller
203
204 config FTMAC100
205         bool "Ftmac100 Ethernet Support"
206         help
207           This MAC is present in Andestech SoCs.
208
209 config FTGMAC100
210         bool "Ftgmac100 Ethernet Support"
211         depends on DM_ETH
212         select PHYLIB
213         help
214           This driver supports the Faraday's FTGMAC100 Gigabit SoC
215           Ethernet controller that can be found on Aspeed SoCs (which
216           include NCSI).
217
218           It is fully compliant with IEEE 802.3 specification for
219           10/100 Mbps Ethernet and IEEE 802.3z specification for 1000
220           Mbps Ethernet and includes Reduced Media Independent
221           Interface (RMII) and Reduced Gigabit Media Independent
222           Interface (RGMII) interfaces. It adopts an AHB bus interface
223           and integrates a link list DMA engine with direct M-Bus
224           accesses for transmitting and receiving packets. It has
225           independent TX/RX fifos, supports half and full duplex (1000
226           Mbps mode only supports full duplex), flow control for full
227           duplex and backpressure for half duplex.
228
229           The FTGMAC100 also implements IP, TCP, UDP checksum offloads
230           and supports IEEE 802.1Q VLAN tag insertion and removal. It
231           offers high-priority transmit queue for QoS and CoS
232           applications.
233
234
235 config MVGBE
236         bool "Marvell Orion5x/Kirkwood network interface support"
237         depends on KIRKWOOD || ORION5X
238         select PHYLIB if DM_ETH
239         help
240           This driver supports the network interface units in the
241           Marvell Orion5x and Kirkwood SoCs
242
243 config MVNETA
244         bool "Marvell Armada XP/385/3700 network interface support"
245         depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
246         select PHYLIB
247         help
248           This driver supports the network interface units in the
249           Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs
250
251 config MVPP2
252         bool "Marvell Armada 375/7K/8K network interface support"
253         depends on ARMADA_375 || ARMADA_8K
254         select PHYLIB
255         help
256           This driver supports the network interface units in the
257           Marvell ARMADA 375, 7K and 8K SoCs.
258
259 config MACB
260         bool "Cadence MACB/GEM Ethernet Interface"
261         depends on DM_ETH
262         select PHYLIB
263         help
264           The Cadence MACB ethernet interface is found on many Atmel
265           AT91 and SAMA5 parts.  This driver also supports the Cadence
266           GEM (Gigabit Ethernet MAC) found in some ARM SoC devices.
267           Say Y to include support for the MACB/GEM chip.
268
269 config MACB_ZYNQ
270         bool "Cadence MACB/GEM Ethernet Interface for Xilinx Zynq"
271         depends on MACB
272         help
273           The Cadence MACB ethernet interface was used on Zynq platform.
274           Say Y to enable support for the MACB/GEM in Zynq chip.
275
276 config MT7628_ETH
277         bool "MediaTek MT7628 Ethernet Interface"
278         depends on SOC_MT7628
279         help
280           The MediaTek MT7628 ethernet interface is used on MT7628 and
281           MT7688 based boards.
282
283 config PCH_GBE
284         bool "Intel Platform Controller Hub EG20T GMAC driver"
285         depends on DM_ETH && DM_PCI
286         select PHYLIB
287         help
288           This MAC is present in Intel Platform Controller Hub EG20T. It
289           supports 10/100/1000 Mbps operation.
290
291 config RGMII
292         bool "Enable RGMII"
293         help
294           Enable the support of the Reduced Gigabit Media-Independent
295           Interface (RGMII).
296
297 config MII
298         bool "Enable MII"
299         help
300           Enable support of the Media-Independent Interface (MII)
301
302 config RTL8139
303         bool "Realtek 8139 series Ethernet controller driver"
304         help
305           This driver supports Realtek 8139 series fast ethernet family of
306           PCI chipsets/adapters.
307
308 config RTL8169
309         bool "Realtek 8169 series Ethernet controller driver"
310         help
311           This driver supports Realtek 8169 series gigabit ethernet family of
312           PCI/PCIe chipsets/adapters.
313
314 config SMC911X
315         bool "SMSC LAN911x and LAN921x controller driver"
316
317 if SMC911X
318
319 config SMC911X_BASE
320         hex "SMC911X Base Address"
321         help
322           Define this to hold the physical address
323           of the device (I/O space)
324
325 choice
326         prompt "SMC911X bus width"
327         default SMC911X_16_BIT
328
329 config SMC911X_32_BIT
330         bool "Enable 32-bit interface"
331
332 config SMC911X_16_BIT
333         bool "Enable 16-bit interface"
334         help
335           Define this if data bus is 16 bits. If your processor
336           automatically converts one 32 bit word to two 16 bit
337           words you may also try CONFIG_SMC911X_32_BIT.
338
339 endchoice
340 endif #SMC911X
341
342 config SUN7I_GMAC
343         bool "Enable Allwinner GMAC Ethernet support"
344         help
345           Enable the support for Sun7i GMAC Ethernet controller
346
347 config SUN7I_GMAC_FORCE_TXERR
348         bool "Force PA17 as gmac function"
349         depends on SUN7I_GMAC
350         help
351           Some ethernet phys needs TXERR control. Since the GMAC
352           doesn't have such signal, setting PA17 as GMAC function
353           makes the pin output low, which enables data transmission.
354
355 config SUN4I_EMAC
356         bool "Allwinner Sun4i Ethernet MAC support"
357         depends on DM_ETH
358         select PHYLIB
359         help
360           This driver supports the Allwinner based SUN4I Ethernet MAC.
361
362 config SUN8I_EMAC
363         bool "Allwinner Sun8i Ethernet MAC support"
364         depends on DM_ETH
365         select PHYLIB
366         select PHY_GIGE
367         help
368           This driver supports the  Allwinner based SUN8I/SUN50I Ethernet MAC.
369           It can be found in H3/A64/A83T based SoCs and compatible with both
370           External and Internal PHYs.
371
372 config SH_ETHER
373         bool "Renesas SH Ethernet MAC"
374         select PHYLIB
375         help
376           This driver supports the Ethernet for Renesas SH and ARM SoCs.
377
378 source "drivers/net/ti/Kconfig"
379
380 config XILINX_AXIEMAC
381         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
382         select PHYLIB
383         select MII
384         bool "Xilinx AXI Ethernet"
385         help
386           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
387
388 config XILINX_EMACLITE
389         depends on DM_ETH && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || MIPS)
390         select PHYLIB
391         select MII
392         bool "Xilinx Ethernetlite"
393         help
394           This MAC is present in Xilinx Microblaze, Zynq and ZynqMP SoCs.
395
396 config ZYNQ_GEM
397         depends on DM_ETH && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL)
398         select PHYLIB
399         bool "Xilinx Ethernet GEM"
400         help
401           This MAC is present in Xilinx Zynq and ZynqMP SoCs.
402
403 config PIC32_ETH
404         bool "Microchip PIC32 Ethernet Support"
405         depends on DM_ETH && MACH_PIC32
406         select PHYLIB
407         help
408           This driver implements 10/100 Mbps Ethernet and MAC layer for
409           Microchip PIC32 microcontrollers.
410
411 config GMAC_ROCKCHIP
412         bool "Rockchip Synopsys Designware Ethernet MAC"
413         depends on DM_ETH && ETH_DESIGNWARE
414         help
415           This driver provides Rockchip SoCs network support based on the
416           Synopsys Designware driver.
417
418 config RENESAS_RAVB
419         bool "Renesas Ethernet AVB MAC"
420         depends on DM_ETH && RCAR_GEN3
421         select PHYLIB
422         help
423           This driver implements support for the Ethernet AVB block in
424           Renesas M3 and H3 SoCs.
425
426 config MPC8XX_FEC
427         bool "Fast Ethernet Controller on MPC8XX"
428         depends on MPC8xx
429         select MII
430         help
431           This driver implements support for the Fast Ethernet Controller
432           on MPC8XX
433
434 config SNI_AVE
435         bool "Socionext AVE Ethernet support"
436         depends on DM_ETH && ARCH_UNIPHIER
437         select PHYLIB
438         select SYSCON
439         select REGMAP
440         help
441           This driver implements support for the Socionext AVE Ethernet
442           controller, as found on the Socionext UniPhier family.
443
444 source "drivers/net/mscc_eswitch/Kconfig"
445
446 config ETHER_ON_FEC1
447         bool "FEC1"
448         depends on MPC8XX_FEC
449         default y
450
451 config FEC1_PHY
452         int "FEC1 PHY"
453         depends on ETHER_ON_FEC1
454         default -1
455         help
456           Define to the hardcoded PHY address which corresponds
457           to the given FEC; i. e.
458                 #define CONFIG_FEC1_PHY 4
459           means that the PHY with address 4 is connected to FEC1
460
461           When set to -1, means to probe for first available.
462
463 config PHY_NORXERR
464         bool "PHY_NORXERR"
465         depends on ETHER_ON_FEC1
466         default n
467         help
468           The PHY does not have a RXERR line (RMII only).
469           (so program the FEC to ignore it).
470
471 config ETHER_ON_FEC2
472         bool "FEC2"
473         depends on MPC8XX_FEC && MPC885
474         default y
475
476 config FEC2_PHY
477         int "FEC2 PHY"
478         depends on ETHER_ON_FEC2
479         default -1
480         help
481           Define to the hardcoded PHY address which corresponds
482           to the given FEC; i. e.
483                 #define CONFIG_FEC1_PHY 4
484           means that the PHY with address 4 is connected to FEC1
485
486           When set to -1, means to probe for first available.
487
488 config FEC2_PHY_NORXERR
489         bool "PHY_NORXERR"
490         depends on ETHER_ON_FEC2
491         default n
492         help
493           The PHY does not have a RXERR line (RMII only).
494           (so program the FEC to ignore it).
495
496 config SYS_DPAA_QBMAN
497         bool "Device tree fixup for QBMan on freescale SOCs"
498         depends on (ARM || PPC) && !SPL_BUILD
499         default y if ARCH_B4860 || \
500                      ARCH_B4420 || \
501                      ARCH_P1023 || \
502                      ARCH_P2041 || \
503                      ARCH_T1023 || \
504                      ARCH_T1024 || \
505                      ARCH_T1040 || \
506                      ARCH_T1042 || \
507                      ARCH_T2080 || \
508                      ARCH_T2081 || \
509                      ARCH_T4240 || \
510                      ARCH_T4160 || \
511                      ARCH_P4080 || \
512                      ARCH_P3041 || \
513                      ARCH_P5040 || \
514                      ARCH_P5020 || \
515                      ARCH_LS1043A || \
516                      ARCH_LS1046A
517         help
518           QBman fixups to allow deep sleep in DPAA 1 SOCs
519
520 config TSEC_ENET
521         select PHYLIB
522         bool "Enable Three-Speed Ethernet Controller"
523         help
524           This driver implements support for the (Enhanced) Three-Speed
525           Ethernet Controller found on Freescale SoCs.
526
527 config MEDIATEK_ETH
528         bool "MediaTek Ethernet GMAC Driver"
529         depends on DM_ETH
530         select PHYLIB
531         select DM_GPIO
532         select DM_RESET
533         help
534           This Driver support MediaTek Ethernet GMAC
535           Say Y to enable support for the MediaTek Ethernet GMAC.
536
537 config HIGMACV300_ETH
538         bool "HiSilicon Gigabit Ethernet Controller"
539         depends on DM_ETH
540         select DM_RESET
541         select PHYLIB
542         help
543           This driver supports HIGMACV300 Ethernet controller found on
544           HiSilicon SoCs.
545
546 endif # NETDEVICES