Kconfig 17 KB

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