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