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