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