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