Kconfig 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # MDIO Layer Configuration
  4. #
  5. menuconfig MDIO_DEVICE
  6. tristate "MDIO bus device drivers"
  7. help
  8. MDIO devices and driver infrastructure code.
  9. if MDIO_DEVICE
  10. config MDIO_BUS
  11. tristate
  12. default m if PHYLIB=m
  13. default MDIO_DEVICE
  14. help
  15. This internal symbol is used for link time dependencies and it
  16. reflects whether the mdio_bus/mdio_device code is built as a
  17. loadable module or built-in.
  18. config FWNODE_MDIO
  19. def_tristate PHYLIB
  20. depends on (ACPI || OF) || COMPILE_TEST
  21. select FIXED_PHY
  22. help
  23. FWNODE MDIO bus (Ethernet PHY) accessors
  24. config OF_MDIO
  25. def_tristate PHYLIB
  26. depends on OF
  27. depends on PHYLIB
  28. select FIXED_PHY
  29. help
  30. OpenFirmware MDIO bus (Ethernet PHY) accessors
  31. config ACPI_MDIO
  32. def_tristate PHYLIB
  33. depends on ACPI
  34. depends on PHYLIB
  35. help
  36. ACPI MDIO bus (Ethernet PHY) accessors
  37. if MDIO_BUS
  38. config MDIO_DEVRES
  39. tristate
  40. config MDIO_SUN4I
  41. tristate "Allwinner sun4i MDIO interface support"
  42. depends on ARCH_SUNXI || COMPILE_TEST
  43. help
  44. This driver supports the MDIO interface found in the network
  45. interface units of the Allwinner SoC that have an EMAC (A10,
  46. A12, A10s, etc.)
  47. config MDIO_XGENE
  48. tristate "APM X-Gene SoC MDIO bus controller"
  49. depends on ARCH_XGENE || COMPILE_TEST
  50. help
  51. This module provides a driver for the MDIO busses found in the
  52. APM X-Gene SoC's.
  53. config MDIO_ASPEED
  54. tristate "ASPEED MDIO bus controller"
  55. depends on ARCH_ASPEED || COMPILE_TEST
  56. depends on OF_MDIO && HAS_IOMEM
  57. help
  58. This module provides a driver for the independent MDIO bus
  59. controllers found in the ASPEED AST2600 SoC. This is a driver for the
  60. third revision of the ASPEED MDIO register interface - the first two
  61. revisions are the "old" and "new" interfaces found in the AST2400 and
  62. AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver
  63. continues to drive the embedded MDIO controller for the AST2400 and
  64. AST2500 SoCs, so say N if AST2600 support is not required.
  65. config MDIO_BITBANG
  66. tristate "Bitbanged MDIO buses"
  67. help
  68. This module implements the MDIO bus protocol in software,
  69. for use by low level drivers that export the ability to
  70. drive the relevant pins.
  71. If in doubt, say N.
  72. config MDIO_BCM_IPROC
  73. tristate "Broadcom iProc MDIO bus controller"
  74. depends on ARCH_BCM_IPROC || COMPILE_TEST
  75. depends on HAS_IOMEM && OF_MDIO
  76. default ARCH_BCM_IPROC
  77. help
  78. This module provides a driver for the MDIO busses found in the
  79. Broadcom iProc SoC's.
  80. config MDIO_BCM_UNIMAC
  81. tristate "Broadcom UniMAC MDIO bus controller"
  82. depends on HAS_IOMEM
  83. help
  84. This module provides a driver for the Broadcom UniMAC MDIO busses.
  85. This hardware can be found in the Broadcom GENET Ethernet MAC
  86. controllers as well as some Broadcom Ethernet switches such as the
  87. Starfighter 2 switches.
  88. config MDIO_CAVIUM
  89. tristate
  90. config MDIO_GPIO
  91. tristate "GPIO lib-based bitbanged MDIO buses"
  92. depends on MDIO_BITBANG
  93. depends on GPIOLIB || COMPILE_TEST
  94. help
  95. Supports GPIO lib-based MDIO busses.
  96. To compile this driver as a module, choose M here: the module
  97. will be called mdio-gpio.
  98. config MDIO_HISI_FEMAC
  99. tristate "Hisilicon FEMAC MDIO bus controller"
  100. depends on HAS_IOMEM && OF_MDIO
  101. help
  102. This module provides a driver for the MDIO busses found in the
  103. Hisilicon SoC that have an Fast Ethernet MAC.
  104. config MDIO_I2C
  105. tristate
  106. depends on I2C
  107. help
  108. Support I2C based PHYs. This provides a MDIO bus bridged
  109. to I2C to allow PHYs connected in I2C mode to be accessed
  110. using the existing infrastructure.
  111. This is library mode.
  112. config MDIO_MVUSB
  113. tristate "Marvell USB to MDIO Adapter"
  114. depends on USB
  115. select MDIO_DEVRES
  116. help
  117. A USB to MDIO converter present on development boards for
  118. Marvell's Link Street family of Ethernet switches.
  119. config MDIO_MSCC_MIIM
  120. tristate "Microsemi MIIM interface support"
  121. depends on HAS_IOMEM && REGMAP_MMIO
  122. select MDIO_DEVRES
  123. help
  124. This driver supports the MIIM (MDIO) interface found in the network
  125. switches of the Microsemi SoCs; it is recommended to switch on
  126. CONFIG_HIGH_RES_TIMERS
  127. config MDIO_MOXART
  128. tristate "MOXA ART MDIO interface support"
  129. depends on ARCH_MOXART || COMPILE_TEST
  130. help
  131. This driver supports the MDIO interface found in the network
  132. interface units of the MOXA ART SoC
  133. config MDIO_OCTEON
  134. tristate "Octeon and some ThunderX SOCs MDIO buses"
  135. depends on (64BIT && OF_MDIO) || COMPILE_TEST
  136. depends on HAS_IOMEM
  137. select MDIO_CAVIUM
  138. select MDIO_DEVRES
  139. help
  140. This module provides a driver for the Octeon and ThunderX MDIO
  141. buses. It is required by the Octeon and ThunderX ethernet device
  142. drivers on some systems.
  143. config MDIO_IPQ4019
  144. tristate "Qualcomm IPQ4019 MDIO interface support"
  145. depends on HAS_IOMEM && OF_MDIO
  146. depends on COMMON_CLK
  147. help
  148. This driver supports the MDIO interface found in Qualcomm
  149. IPQ40xx, IPQ60xx, IPQ807x and IPQ50xx series Soc-s.
  150. config MDIO_IPQ8064
  151. tristate "Qualcomm IPQ8064 MDIO interface support"
  152. depends on HAS_IOMEM && OF_MDIO
  153. depends on MFD_SYSCON
  154. help
  155. This driver supports the MDIO interface found in the network
  156. interface units of the IPQ8064 SoC
  157. config MDIO_THUNDER
  158. tristate "ThunderX SOCs MDIO buses"
  159. depends on 64BIT
  160. depends on PCI
  161. select MDIO_CAVIUM
  162. select MDIO_DEVRES
  163. help
  164. This driver supports the MDIO interfaces found on Cavium
  165. ThunderX SoCs when the MDIO bus device appears as a PCI
  166. device.
  167. comment "MDIO Multiplexers"
  168. config MDIO_BUS_MUX
  169. tristate
  170. depends on OF_MDIO
  171. help
  172. This module provides a driver framework for MDIO bus
  173. multiplexers which connect one of several child MDIO busses
  174. to a parent bus. Switching between child busses is done by
  175. device specific drivers.
  176. config MDIO_BUS_MUX_MESON_G12A
  177. tristate "Amlogic G12a based MDIO bus multiplexer"
  178. depends on ARCH_MESON || COMPILE_TEST
  179. depends on OF_MDIO && HAS_IOMEM && COMMON_CLK
  180. select MDIO_BUS_MUX
  181. default m if ARCH_MESON
  182. help
  183. This module provides a driver for the MDIO multiplexer/glue of
  184. the amlogic g12a SoC. The multiplexers connects either the external
  185. or the internal MDIO bus to the parent bus.
  186. config MDIO_BUS_MUX_BCM6368
  187. tristate "Broadcom BCM6368 MDIO bus multiplexers"
  188. depends on OF && OF_MDIO && (BMIPS_GENERIC || COMPILE_TEST)
  189. select MDIO_BUS_MUX
  190. default BMIPS_GENERIC
  191. help
  192. This module provides a driver for MDIO bus multiplexers found in
  193. BCM6368 based Broadcom SoCs. This multiplexer connects one of several
  194. child MDIO bus to a parent bus. Buses could be internal as well as
  195. external and selection logic lies inside the same multiplexer.
  196. config MDIO_BUS_MUX_BCM_IPROC
  197. tristate "Broadcom iProc based MDIO bus multiplexers"
  198. depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
  199. select MDIO_BUS_MUX
  200. default ARCH_BCM_IPROC
  201. help
  202. This module provides a driver for MDIO bus multiplexers found in
  203. iProc based Broadcom SoCs. This multiplexer connects one of several
  204. child MDIO bus to a parent bus. Buses could be internal as well as
  205. external and selection logic lies inside the same multiplexer.
  206. config MDIO_BUS_MUX_GPIO
  207. tristate "GPIO controlled MDIO bus multiplexers"
  208. depends on OF_GPIO && OF_MDIO
  209. select MDIO_BUS_MUX
  210. help
  211. This module provides a driver for MDIO bus multiplexers that
  212. are controlled via GPIO lines. The multiplexer connects one of
  213. several child MDIO busses to a parent bus. Child bus
  214. selection is under the control of GPIO lines.
  215. config MDIO_BUS_MUX_MULTIPLEXER
  216. tristate "MDIO bus multiplexer using kernel multiplexer subsystem"
  217. depends on OF_MDIO
  218. select MULTIPLEXER
  219. select MDIO_BUS_MUX
  220. help
  221. This module provides a driver for MDIO bus multiplexer
  222. that is controlled via the kernel multiplexer subsystem. The
  223. bus multiplexer connects one of several child MDIO busses to
  224. a parent bus. Child bus selection is under the control of
  225. the kernel multiplexer subsystem.
  226. config MDIO_BUS_MUX_MMIOREG
  227. tristate "MMIO device-controlled MDIO bus multiplexers"
  228. depends on OF_MDIO && HAS_IOMEM
  229. select MDIO_BUS_MUX
  230. help
  231. This module provides a driver for MDIO bus multiplexers that
  232. are controlled via a simple memory-mapped device, like an FPGA.
  233. The multiplexer connects one of several child MDIO busses to a
  234. parent bus. Child bus selection is under the control of one of
  235. the FPGA's registers.
  236. Currently, only 8/16/32 bits registers are supported.
  237. endif
  238. endif