Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config STMMAC_ETH
  3. tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
  4. depends on HAS_IOMEM && HAS_DMA
  5. depends on PTP_1588_CLOCK_OPTIONAL
  6. depends on ETHTOOL_NETLINK
  7. select MII
  8. select PCS_XPCS
  9. select PAGE_POOL
  10. select PHYLINK
  11. select CRC32
  12. select RESET_CONTROLLER
  13. select NET_DEVLINK
  14. help
  15. This is the driver for the Ethernet IPs built around a
  16. Synopsys IP Core.
  17. if STMMAC_ETH
  18. config STMMAC_SELFTESTS
  19. bool "Support for STMMAC Selftests"
  20. depends on INET
  21. depends on STMMAC_ETH
  22. default n
  23. help
  24. This adds support for STMMAC Selftests using ethtool. Enable this
  25. feature if you are facing problems with your HW and submit the test
  26. results to the netdev Mailing List.
  27. config STMMAC_PLATFORM
  28. tristate "STMMAC Platform bus support"
  29. depends on STMMAC_ETH
  30. select MFD_SYSCON
  31. default y
  32. help
  33. This selects the platform specific bus support for the stmmac driver.
  34. This is the driver used on several SoCs:
  35. STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
  36. If you have a controller with this interface, say Y or M here.
  37. If unsure, say N.
  38. if STMMAC_PLATFORM
  39. config DWMAC_DWC_QOS_ETH
  40. tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
  41. select CRC32
  42. select MII
  43. depends on OF && HAS_DMA
  44. help
  45. Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
  46. config DWMAC_GENERIC
  47. tristate "Generic driver for DWMAC"
  48. default STMMAC_PLATFORM
  49. help
  50. Generic DWMAC driver for platforms that don't require any
  51. platform specific code to function or is using platform
  52. data for setup.
  53. config DWMAC_ANARION
  54. tristate "Adaptrum Anarion GMAC support"
  55. default ARC
  56. depends on OF && (ARC || COMPILE_TEST)
  57. help
  58. Support for Adaptrum Anarion GMAC Ethernet controller.
  59. This selects the Anarion SoC glue layer support for the stmmac driver.
  60. config DWMAC_EIC7700
  61. tristate "Support for Eswin eic7700 ethernet driver"
  62. depends on OF && HAS_DMA && ARCH_ESWIN || COMPILE_TEST
  63. help
  64. This driver supports the Eswin EIC7700 Ethernet controller,
  65. which integrates Synopsys DesignWare QoS features. It enables
  66. high-speed networking with DMA acceleration and is optimized
  67. for embedded systems.
  68. config DWMAC_INGENIC
  69. tristate "Ingenic MAC support"
  70. default MACH_INGENIC
  71. depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)
  72. select MFD_SYSCON
  73. help
  74. Support for ethernet controller on Ingenic SoCs.
  75. This selects Ingenic SoCs glue layer support for the stmmac
  76. device driver. This driver is used on for the Ingenic SoCs
  77. MAC ethernet controller.
  78. config DWMAC_IPQ806X
  79. tristate "QCA IPQ806x DWMAC support"
  80. default ARCH_QCOM
  81. depends on OF && (ARCH_QCOM || COMPILE_TEST)
  82. select MFD_SYSCON
  83. help
  84. Support for QCA IPQ806X DWMAC Ethernet.
  85. This selects the IPQ806x SoC glue layer support for the stmmac
  86. device driver. This driver does not use any of the hardware
  87. acceleration features available on this SoC. Network devices
  88. will behave like standard non-accelerated ethernet interfaces.
  89. Select the QCOM_SOCINFO config flag to enable specific dwmac
  90. fixup based on the ipq806x SoC revision.
  91. config DWMAC_LPC18XX
  92. tristate "NXP LPC18xx/43xx DWMAC support"
  93. default ARCH_LPC18XX
  94. depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
  95. select MFD_SYSCON
  96. help
  97. Support for NXP LPC18xx/43xx DWMAC Ethernet.
  98. config DWMAC_MEDIATEK
  99. tristate "MediaTek MT27xx GMAC support"
  100. depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
  101. help
  102. Support for MediaTek GMAC Ethernet controller.
  103. This selects the MT2712 SoC support for the stmmac driver.
  104. config DWMAC_MESON
  105. tristate "Amlogic Meson dwmac support"
  106. default ARCH_MESON
  107. depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
  108. help
  109. Support for Ethernet controller on Amlogic Meson SoCs.
  110. This selects the Amlogic Meson SoC glue layer support for
  111. the stmmac device driver. This driver is used for Meson6,
  112. Meson8, Meson8b and GXBB SoCs.
  113. config DWMAC_QCOM_ETHQOS
  114. tristate "Qualcomm ETHQOS support"
  115. default ARCH_QCOM
  116. depends on OF && (ARCH_QCOM || COMPILE_TEST)
  117. help
  118. Support for the Qualcomm ETHQOS core.
  119. This selects the Qualcomm ETHQOS glue layer support for the
  120. stmmac device driver.
  121. config DWMAC_RENESAS_GBETH
  122. tristate "Renesas RZ/V2H(P) GBETH and RZ/T2H, RZ/N2H GMAC support"
  123. default ARCH_RENESAS
  124. depends on OF && (ARCH_RENESAS || COMPILE_TEST)
  125. select PCS_RZN1_MIIC
  126. help
  127. Support for Gigabit Ethernet Interface (GBETH)/ Ethernet MAC (GMAC)
  128. on Renesas SoCs.
  129. This selects Renesas SoC glue layer support for the stmmac device
  130. driver. This driver is used for the RZ/V2H(P) family, RZ/T2H and
  131. RZ/N2H SoCs.
  132. config DWMAC_ROCKCHIP
  133. tristate "Rockchip dwmac support"
  134. default ARCH_ROCKCHIP
  135. depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
  136. select MFD_SYSCON
  137. help
  138. Support for Ethernet controller on Rockchip RK3288 SoC.
  139. This selects the Rockchip RK3288 SoC glue layer support for
  140. the stmmac device driver.
  141. config DWMAC_RZN1
  142. tristate "Renesas RZ/N1 dwmac support"
  143. default ARCH_RZN1
  144. depends on OF && (ARCH_RZN1 || COMPILE_TEST)
  145. select PCS_RZN1_MIIC
  146. help
  147. Support for Ethernet controller on Renesas RZ/N1 SoC family.
  148. This selects the Renesas RZ/N1 SoC glue layer support for
  149. the stmmac device driver. This support can make use of a custom MII
  150. converter PCS device.
  151. config DWMAC_S32
  152. tristate "NXP S32G/S32R GMAC support"
  153. default ARCH_S32
  154. depends on OF && (ARCH_S32 || COMPILE_TEST)
  155. help
  156. Support for ethernet controller on NXP S32CC SOCs.
  157. This selects NXP SoC glue layer support for the stmmac
  158. device driver. This driver is used for the S32CC series
  159. SOCs GMAC ethernet controller, ie. S32G2xx, S32G3xx and
  160. S32R45.
  161. config DWMAC_SOCFPGA
  162. tristate "SOCFPGA dwmac support"
  163. default ARCH_INTEL_SOCFPGA
  164. depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
  165. select MFD_SYSCON
  166. select MDIO_REGMAP
  167. select REGMAP_MMIO
  168. select PCS_LYNX
  169. help
  170. Support for ethernet controller on Altera SOCFPGA
  171. This selects the Altera SOCFPGA SoC glue layer support
  172. for the stmmac device driver. This driver is used for
  173. arria5 and cyclone5 FPGA SoCs.
  174. config DWMAC_SOPHGO
  175. tristate "Sophgo dwmac support"
  176. depends on OF && (ARCH_SOPHGO || COMPILE_TEST)
  177. default m if ARCH_SOPHGO
  178. help
  179. Support for ethernet controllers on Sophgo RISC-V SoCs
  180. This selects the Sophgo SoC specific glue layer support
  181. for the stmmac device driver. This driver is used for the
  182. ethernet controllers on various Sophgo SoCs.
  183. config DWMAC_STARFIVE
  184. tristate "StarFive dwmac support"
  185. depends on OF && (ARCH_STARFIVE || COMPILE_TEST)
  186. select MFD_SYSCON
  187. default m if ARCH_STARFIVE
  188. help
  189. Support for ethernet controllers on StarFive RISC-V SoCs
  190. This selects the StarFive platform specific glue layer support
  191. for the stmmac device driver. This driver is used for the
  192. StarFive JH7100 and JH7110 ethernet controllers.
  193. config DWMAC_STI
  194. tristate "STi GMAC support"
  195. default ARCH_STI
  196. depends on OF && (ARCH_STI || COMPILE_TEST)
  197. select MFD_SYSCON
  198. help
  199. Support for ethernet controller on STi SOCs.
  200. This selects STi SoC glue layer support for the stmmac
  201. device driver. This driver is used on for the STi series
  202. SOCs GMAC ethernet controller.
  203. config DWMAC_STM32
  204. tristate "STM32 DWMAC support"
  205. default ARCH_STM32
  206. depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
  207. select MFD_SYSCON
  208. help
  209. Support for ethernet controller on STM32 SOCs.
  210. This selects STM32 SoC glue layer support for the stmmac
  211. device driver. This driver is used on for the STM32 series
  212. SOCs GMAC ethernet controller.
  213. config DWMAC_SUNXI
  214. tristate "Allwinner GMAC support"
  215. default ARCH_SUNXI
  216. depends on OF && (ARCH_SUNXI || COMPILE_TEST)
  217. help
  218. Support for Allwinner A20/A31 GMAC ethernet controllers.
  219. This selects Allwinner SoC glue layer support for the
  220. stmmac device driver. This driver is used for A20/A31
  221. GMAC ethernet controller.
  222. config DWMAC_SUN8I
  223. tristate "Allwinner sun8i GMAC support"
  224. default ARCH_SUNXI
  225. depends on OF && (ARCH_SUNXI || COMPILE_TEST)
  226. select MDIO_BUS_MUX
  227. help
  228. Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
  229. This selects Allwinner SoC glue layer support for the
  230. stmmac device driver. This driver is used for H3/A83T/A64
  231. EMAC ethernet controller.
  232. config DWMAC_SUN55I
  233. tristate "Allwinner sun55i GMAC200 support"
  234. default ARCH_SUNXI
  235. depends on OF && (ARCH_SUNXI || COMPILE_TEST)
  236. select MDIO_BUS_MUX
  237. help
  238. Support for Allwinner A523/T527 GMAC200 ethernet controllers.
  239. This selects Allwinner SoC glue layer support for the
  240. stmmac device driver. This driver is used for A523/T527
  241. GMAC200 ethernet controller.
  242. config DWMAC_THEAD
  243. tristate "T-HEAD dwmac support"
  244. depends on OF && (ARCH_THEAD || COMPILE_TEST)
  245. help
  246. Support for ethernet controllers on T-HEAD RISC-V SoCs
  247. This selects the T-HEAD platform specific glue layer support for
  248. the stmmac device driver. This driver is used for T-HEAD TH1520
  249. ethernet controller.
  250. config DWMAC_IMX8
  251. tristate "NXP IMX8 DWMAC support"
  252. default ARCH_MXC
  253. depends on OF && (ARCH_MXC || COMPILE_TEST)
  254. select MFD_SYSCON
  255. help
  256. Support for ethernet controller on NXP i.MX8 SOCs.
  257. This selects NXP SoC glue layer support for the stmmac
  258. device driver. This driver is used for i.MX8 series like
  259. iMX8MP/iMX8DXL GMAC ethernet controller.
  260. config DWMAC_INTEL_PLAT
  261. tristate "Intel dwmac support"
  262. depends on OF && COMMON_CLK
  263. depends on STMMAC_ETH
  264. help
  265. Support for ethernet controllers on Intel SoCs
  266. This selects the Intel platform specific glue layer support for
  267. the stmmac device driver. This driver is used for the Intel Keem Bay
  268. SoC.
  269. config DWMAC_LOONGSON1
  270. tristate "Loongson1 GMAC support"
  271. default MACH_LOONGSON32
  272. depends on OF && (MACH_LOONGSON32 || COMPILE_TEST)
  273. help
  274. Support for ethernet controller on Loongson1 SoC.
  275. This selects Loongson1 SoC glue layer support for the stmmac
  276. device driver. This driver is used for Loongson1-based boards
  277. like Loongson LS1B/LS1C.
  278. config DWMAC_TEGRA
  279. tristate "NVIDIA Tegra MGBE support"
  280. depends on ARCH_TEGRA || COMPILE_TEST
  281. help
  282. This selects the Multi-GigaBit Ethernet (MGBE) Controller that is
  283. found on the NVIDIA Tegra SoC devices. This driver provides the glue
  284. layer on top of the stmmac driver required for these NVIDIA Tegra SoC
  285. devices.
  286. config DWMAC_VISCONTI
  287. tristate "Toshiba Visconti DWMAC support"
  288. default ARCH_VISCONTI
  289. depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
  290. help
  291. Support for ethernet controller on Visconti SoCs.
  292. endif
  293. config STMMAC_LIBPCI
  294. tristate
  295. help
  296. This option enables the PCI bus helpers for the stmmac driver.
  297. config DWMAC_INTEL
  298. tristate "Intel GMAC support"
  299. default X86
  300. depends on X86 && STMMAC_ETH && PCI
  301. depends on COMMON_CLK
  302. depends on ACPI
  303. help
  304. This selects the Intel platform specific bus support for the
  305. stmmac driver. This driver is used for Intel Quark/EHL/TGL.
  306. config DWMAC_LOONGSON
  307. tristate "Loongson PCI DWMAC support"
  308. default MACH_LOONGSON64
  309. depends on (MACH_LOONGSON64 || COMPILE_TEST) && PCI
  310. depends on COMMON_CLK
  311. select STMMAC_LIBPCI
  312. help
  313. This selects the LOONGSON PCI bus support for the stmmac driver,
  314. Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
  315. config DWMAC_MOTORCOMM
  316. tristate "Motorcomm PCI DWMAC support"
  317. depends on PCI
  318. select MOTORCOMM_PHY
  319. select STMMAC_LIBPCI
  320. help
  321. This enables glue driver for Motorcomm DWMAC-based PCI Ethernet
  322. controllers. Currently only YT6801 is supported.
  323. config STMMAC_PCI
  324. tristate "STMMAC PCI bus support"
  325. depends on PCI
  326. depends on COMMON_CLK
  327. select STMMAC_LIBPCI
  328. help
  329. This selects the platform specific bus support for the stmmac driver.
  330. This driver was tested on XLINX XC2V3000 FF1152AMT0221
  331. D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
  332. If you have a controller with this interface, say Y or M here.
  333. If unsure, say N.
  334. endif