Kconfig 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  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. select MII
  7. select PCS_XPCS
  8. select PAGE_POOL
  9. select PHYLINK
  10. select CRC32
  11. select RESET_CONTROLLER
  12. help
  13. This is the driver for the Ethernet IPs built around a
  14. Synopsys IP Core.
  15. if STMMAC_ETH
  16. config STMMAC_SELFTESTS
  17. bool "Support for STMMAC Selftests"
  18. depends on INET
  19. depends on STMMAC_ETH
  20. default n
  21. help
  22. This adds support for STMMAC Selftests using ethtool. Enable this
  23. feature if you are facing problems with your HW and submit the test
  24. results to the netdev Mailing List.
  25. config STMMAC_PLATFORM
  26. tristate "STMMAC Platform bus support"
  27. depends on STMMAC_ETH
  28. select MFD_SYSCON
  29. default y
  30. help
  31. This selects the platform specific bus support for the stmmac driver.
  32. This is the driver used on several SoCs:
  33. STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
  34. If you have a controller with this interface, say Y or M here.
  35. If unsure, say N.
  36. if STMMAC_PLATFORM
  37. config DWMAC_DWC_QOS_ETH
  38. tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
  39. select CRC32
  40. select MII
  41. depends on OF && HAS_DMA
  42. help
  43. Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
  44. config EMAC_MDIO_FE
  45. tristate "Support for the mdio front end driver"
  46. help
  47. Adding support for EMAC MDIO Front end driver. This enables single
  48. mdio for the dual mac feature support on HQX. The front end driver
  49. get request from GVM and send it to the Backend mdio driver.The
  50. request is handled on the backend for the mdio read/write operation.
  51. config DWMAC_GENERIC
  52. tristate "Generic driver for DWMAC"
  53. default STMMAC_PLATFORM
  54. help
  55. Generic DWMAC driver for platforms that don't require any
  56. platform specific code to function or is using platform
  57. data for setup.
  58. config DWMAC_ANARION
  59. tristate "Adaptrum Anarion GMAC support"
  60. default ARC
  61. depends on OF && (ARC || COMPILE_TEST)
  62. help
  63. Support for Adaptrum Anarion GMAC Ethernet controller.
  64. This selects the Anarion SoC glue layer support for the stmmac driver.
  65. config DWMAC_INGENIC
  66. tristate "Ingenic MAC support"
  67. default MACH_INGENIC
  68. depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)
  69. select MFD_SYSCON
  70. help
  71. Support for ethernet controller on Ingenic SoCs.
  72. This selects Ingenic SoCs glue layer support for the stmmac
  73. device driver. This driver is used on for the Ingenic SoCs
  74. MAC ethernet controller.
  75. config DWMAC_IPQ806X
  76. tristate "QCA IPQ806x DWMAC support"
  77. default ARCH_QCOM
  78. depends on OF && (ARCH_QCOM || COMPILE_TEST)
  79. select MFD_SYSCON
  80. help
  81. Support for QCA IPQ806X DWMAC Ethernet.
  82. This selects the IPQ806x SoC glue layer support for the stmmac
  83. device driver. This driver does not use any of the hardware
  84. acceleration features available on this SoC. Network devices
  85. will behave like standard non-accelerated ethernet interfaces.
  86. Select the QCOM_SOCINFO config flag to enable specific dwmac
  87. fixup based on the ipq806x SoC revision.
  88. config DWMAC_LPC18XX
  89. tristate "NXP LPC18xx/43xx DWMAC support"
  90. default ARCH_LPC18XX
  91. depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
  92. select MFD_SYSCON
  93. help
  94. Support for NXP LPC18xx/43xx DWMAC Ethernet.
  95. config DWMAC_MEDIATEK
  96. tristate "MediaTek MT27xx GMAC support"
  97. depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
  98. help
  99. Support for MediaTek GMAC Ethernet controller.
  100. This selects the MT2712 SoC support for the stmmac driver.
  101. config DWMAC_MESON
  102. tristate "Amlogic Meson dwmac support"
  103. default ARCH_MESON
  104. depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
  105. help
  106. Support for Ethernet controller on Amlogic Meson SoCs.
  107. This selects the Amlogic Meson SoC glue layer support for
  108. the stmmac device driver. This driver is used for Meson6,
  109. Meson8, Meson8b and GXBB SoCs.
  110. config DWMAC_OXNAS
  111. tristate "Oxford Semiconductor OXNAS dwmac support"
  112. default ARCH_OXNAS
  113. depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
  114. select MFD_SYSCON
  115. help
  116. Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
  117. This selects the Oxford Semiconductor OXNASSoC glue layer support for
  118. the stmmac device driver. This driver is used for OX820.
  119. config DWMAC_QCOM_ETHQOS
  120. tristate "Qualcomm ETHQOS support"
  121. default ARCH_QCOM
  122. depends on OF && (ARCH_QCOM || COMPILE_TEST)
  123. help
  124. Support for the Qualcomm ETHQOS core.
  125. This selects the Qualcomm ETHQOS glue layer support for the
  126. stmmac device driver.
  127. config DWMAC_QCOM_VER3
  128. tristate "EMAC ETHQOS support for direwolf"
  129. default ARCH_QCOM
  130. depends on OF && (ARCH_QCOM || COMPILE_TEST)
  131. help
  132. Support for the EMAC ETHQOS core 3.
  133. This selects the EMAC ETHQOS glue layer DMA and MTL offsets for
  134. the stmmac device driver for direwolf. With this config different
  135. base address for various MTL and DMA registers are selected.
  136. This config is only applicable for EMAC version 3.
  137. config DWMAC_ROCKCHIP
  138. tristate "Rockchip dwmac support"
  139. default ARCH_ROCKCHIP
  140. depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
  141. select MFD_SYSCON
  142. help
  143. Support for Ethernet controller on Rockchip RK3288 SoC.
  144. This selects the Rockchip RK3288 SoC glue layer support for
  145. the stmmac device driver.
  146. config DWMAC_SOCFPGA
  147. tristate "SOCFPGA dwmac support"
  148. default ARCH_INTEL_SOCFPGA
  149. depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
  150. select MFD_SYSCON
  151. help
  152. Support for ethernet controller on Altera SOCFPGA
  153. This selects the Altera SOCFPGA SoC glue layer support
  154. for the stmmac device driver. This driver is used for
  155. arria5 and cyclone5 FPGA SoCs.
  156. config DWMAC_STI
  157. tristate "STi GMAC support"
  158. default ARCH_STI
  159. depends on OF && (ARCH_STI || COMPILE_TEST)
  160. select MFD_SYSCON
  161. help
  162. Support for ethernet controller on STi SOCs.
  163. This selects STi SoC glue layer support for the stmmac
  164. device driver. This driver is used on for the STi series
  165. SOCs GMAC ethernet controller.
  166. config DWMAC_STM32
  167. tristate "STM32 DWMAC support"
  168. default ARCH_STM32
  169. depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
  170. select MFD_SYSCON
  171. help
  172. Support for ethernet controller on STM32 SOCs.
  173. This selects STM32 SoC glue layer support for the stmmac
  174. device driver. This driver is used on for the STM32 series
  175. SOCs GMAC ethernet controller.
  176. config DWMAC_SUNXI
  177. tristate "Allwinner GMAC support"
  178. default ARCH_SUNXI
  179. depends on OF && (ARCH_SUNXI || COMPILE_TEST)
  180. help
  181. Support for Allwinner A20/A31 GMAC ethernet controllers.
  182. This selects Allwinner SoC glue layer support for the
  183. stmmac device driver. This driver is used for A20/A31
  184. GMAC ethernet controller.
  185. config DWMAC_SUN8I
  186. tristate "Allwinner sun8i GMAC support"
  187. default ARCH_SUNXI
  188. depends on OF && (ARCH_SUNXI || COMPILE_TEST)
  189. select MDIO_BUS_MUX
  190. help
  191. Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
  192. This selects Allwinner SoC glue layer support for the
  193. stmmac device driver. This driver is used for H3/A83T/A64
  194. EMAC ethernet controller.
  195. config DWMAC_IMX8
  196. tristate "NXP IMX8 DWMAC support"
  197. default ARCH_MXC
  198. depends on OF && (ARCH_MXC || COMPILE_TEST)
  199. select MFD_SYSCON
  200. help
  201. Support for ethernet controller on NXP i.MX8 SOCs.
  202. This selects NXP SoC glue layer support for the stmmac
  203. device driver. This driver is used for i.MX8 series like
  204. iMX8MP/iMX8DXL GMAC ethernet controller.
  205. config DWMAC_INTEL_PLAT
  206. tristate "Intel dwmac support"
  207. depends on OF && COMMON_CLK
  208. depends on STMMAC_ETH
  209. help
  210. Support for ethernet controllers on Intel SoCs
  211. This selects the Intel platform specific glue layer support for
  212. the stmmac device driver. This driver is used for the Intel Keem Bay
  213. SoC.
  214. config DWMAC_VISCONTI
  215. tristate "Toshiba Visconti DWMAC support"
  216. default ARCH_VISCONTI
  217. depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
  218. help
  219. Support for ethernet controller on Visconti SoCs.
  220. config DWXGMAC_QCOM_4K
  221. bool "Support for 4K Virtualization of XGMAC registers"
  222. depends on (ARCH_SDXPINN || ARCH_SA525)
  223. default y
  224. help
  225. This selects 4K virtualization of DMA and MTL offsets for the
  226. stmmac device driver. With this config different base addresses
  227. for various MTL and DMA registers are selected. This config is
  228. only applicable for XGMAC2 HW version.
  229. config ETHQOS_QCOM_VER4
  230. bool "Emac ethqos support for HW version 4"
  231. depends on (ARCH_SDXPINN || ARCH_SA525)
  232. default y
  233. help
  234. Support for the EMAC ETHQOS core 4.
  235. This selects proper registers and corresponding bit mapping
  236. for the configuration of IO Macro block. This config is
  237. only applicable for EMAC version 4.
  238. config ETHQOS_QCOM_SERDES
  239. tristate "Enable Serdes driver"
  240. depends on STMMAC_ETH
  241. default n
  242. help
  243. SerDes is to provide data transmission over a single line or
  244. a differential pair in order to minimize the number of I/O pins
  245. and interconnects.
  246. Serdes driver by default comes up on 1Gbps mode in SGMII and USXGMII
  247. due to h/w limitation.
  248. endif
  249. config DWMAC_INTEL
  250. tristate "Intel GMAC support"
  251. default X86
  252. depends on X86 && STMMAC_ETH && PCI
  253. depends on COMMON_CLK
  254. help
  255. This selects the Intel platform specific bus support for the
  256. stmmac driver. This driver is used for Intel Quark/EHL/TGL.
  257. config DWMAC_LOONGSON
  258. tristate "Loongson PCI DWMAC support"
  259. default MACH_LOONGSON64
  260. depends on STMMAC_ETH && PCI
  261. depends on COMMON_CLK
  262. help
  263. This selects the LOONGSON PCI bus support for the stmmac driver,
  264. Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
  265. config STMMAC_PCI
  266. tristate "STMMAC PCI bus support"
  267. depends on STMMAC_ETH && PCI
  268. depends on COMMON_CLK
  269. help
  270. This selects the platform specific bus support for the stmmac driver.
  271. This driver was tested on XLINX XC2V3000 FF1152AMT0221
  272. D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
  273. If you have a controller with this interface, say Y or M here.
  274. If unsure, say N.
  275. endif