uboot/drivers/net/Kconfig
<<
>>
Prefs
   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