brintos

brintos / linux-shallow public Read only

0
0
Text · 9.1 KiB · 4a7a303 Raw
303 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# MDIO Layer Configuration4#5 6menuconfig MDIO_DEVICE7	tristate "MDIO bus device drivers"8	help9	  MDIO devices and driver infrastructure code.10 11if MDIO_DEVICE12 13config MDIO_BUS14	tristate15	default m if PHYLIB=m16	default MDIO_DEVICE17	help18	  This internal symbol is used for link time dependencies and it19	  reflects whether the mdio_bus/mdio_device code is built as a20	  loadable module or built-in.21 22config FWNODE_MDIO23	def_tristate PHYLIB24	depends on (ACPI || OF) || COMPILE_TEST25	select FIXED_PHY26	help27	  FWNODE MDIO bus (Ethernet PHY) accessors28 29config OF_MDIO30	def_tristate PHYLIB31	depends on OF32	depends on PHYLIB33	select FIXED_PHY34	help35	  OpenFirmware MDIO bus (Ethernet PHY) accessors36 37config ACPI_MDIO38	def_tristate PHYLIB39	depends on ACPI40	depends on PHYLIB41	help42	  ACPI MDIO bus (Ethernet PHY) accessors43 44if MDIO_BUS45 46config MDIO_DEVRES47	tristate48 49config MDIO_SUN4I50	tristate "Allwinner sun4i MDIO interface support"51	depends on ARCH_SUNXI || COMPILE_TEST52	help53	  This driver supports the MDIO interface found in the network54	  interface units of the Allwinner SoC that have an EMAC (A10,55	  A12, A10s, etc.)56 57config MDIO_XGENE58	tristate "APM X-Gene SoC MDIO bus controller"59	depends on ARCH_XGENE || COMPILE_TEST60	help61	  This module provides a driver for the MDIO busses found in the62	  APM X-Gene SoC's.63 64config MDIO_ASPEED65	tristate "ASPEED MDIO bus controller"66	depends on ARCH_ASPEED || COMPILE_TEST67	depends on OF_MDIO && HAS_IOMEM68	depends on MDIO_DEVRES69	help70	  This module provides a driver for the independent MDIO bus71	  controllers found in the ASPEED AST2600 SoC. This is a driver for the72	  third revision of the ASPEED MDIO register interface - the first two73	  revisions are the "old" and "new" interfaces found in the AST2400 and74	  AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver75	  continues to drive the embedded MDIO controller for the AST2400 and76	  AST2500 SoCs, so say N if AST2600 support is not required.77 78config MDIO_BITBANG79	tristate "Bitbanged MDIO buses"80	help81	  This module implements the MDIO bus protocol in software,82	  for use by low level drivers that export the ability to83	  drive the relevant pins.84 85	  If in doubt, say N.86 87config MDIO_BCM_IPROC88	tristate "Broadcom iProc MDIO bus controller"89	depends on ARCH_BCM_IPROC || COMPILE_TEST90	depends on HAS_IOMEM && OF_MDIO91	default ARCH_BCM_IPROC92	help93	  This module provides a driver for the MDIO busses found in the94	  Broadcom iProc SoC's.95 96config MDIO_BCM_UNIMAC97	tristate "Broadcom UniMAC MDIO bus controller"98	depends on HAS_IOMEM99	help100	  This module provides a driver for the Broadcom UniMAC MDIO busses.101	  This hardware can be found in the Broadcom GENET Ethernet MAC102	  controllers as well as some Broadcom Ethernet switches such as the103	  Starfighter 2 switches.104 105config MDIO_CAVIUM106	tristate107 108config MDIO_GPIO109	tristate "GPIO lib-based bitbanged MDIO buses"110	depends on MDIO_BITBANG111	depends on GPIOLIB || COMPILE_TEST112	help113	  Supports GPIO lib-based MDIO busses.114 115	  To compile this driver as a module, choose M here: the module116	  will be called mdio-gpio.117 118config MDIO_HISI_FEMAC119	tristate "Hisilicon FEMAC MDIO bus controller"120	depends on HAS_IOMEM && OF_MDIO121	help122	  This module provides a driver for the MDIO busses found in the123	  Hisilicon SoC that have an Fast Ethernet MAC.124 125config MDIO_I2C126	tristate127	depends on I2C128	help129	  Support I2C based PHYs.  This provides a MDIO bus bridged130	  to I2C to allow PHYs connected in I2C mode to be accessed131	  using the existing infrastructure.132 133	  This is library mode.134 135config MDIO_MVUSB136	tristate "Marvell USB to MDIO Adapter"137	depends on USB138	select MDIO_DEVRES139	help140	  A USB to MDIO converter present on development boards for141	  Marvell's Link Street family of Ethernet switches.142 143config MDIO_MSCC_MIIM144	tristate "Microsemi MIIM interface support"145	depends on HAS_IOMEM && REGMAP_MMIO146	select MDIO_DEVRES147	help148	  This driver supports the MIIM (MDIO) interface found in the network149	  switches of the Microsemi SoCs; it is recommended to switch on150	  CONFIG_HIGH_RES_TIMERS151 152config MDIO_MOXART153	tristate "MOXA ART MDIO interface support"154	depends on ARCH_MOXART || COMPILE_TEST155	help156	  This driver supports the MDIO interface found in the network157	  interface units of the MOXA ART SoC158 159config MDIO_OCTEON160	tristate "Octeon and some ThunderX SOCs MDIO buses"161	depends on (64BIT && OF_MDIO) || COMPILE_TEST162	depends on HAS_IOMEM163	select MDIO_CAVIUM164	select MDIO_DEVRES165	help166	  This module provides a driver for the Octeon and ThunderX MDIO167	  buses. It is required by the Octeon and ThunderX ethernet device168	  drivers on some systems.169 170config MDIO_IPQ4019171	tristate "Qualcomm IPQ4019 MDIO interface support"172	depends on HAS_IOMEM && OF_MDIO173	depends on COMMON_CLK174	depends on MDIO_DEVRES175	help176	  This driver supports the MDIO interface found in Qualcomm177	  IPQ40xx, IPQ60xx, IPQ807x and IPQ50xx series Soc-s.178 179config MDIO_IPQ8064180	tristate "Qualcomm IPQ8064 MDIO interface support"181	depends on HAS_IOMEM && OF_MDIO182	depends on MFD_SYSCON183	depends on MDIO_DEVRES184	help185	  This driver supports the MDIO interface found in the network186	  interface units of the IPQ8064 SoC187 188config MDIO_REGMAP189	tristate190	help191	  This driver allows using MDIO devices that are not sitting on a192	  regular MDIO bus, but still exposes the standard 802.3 register193	  layout. It's regmap-based so that it can be used on integrated,194	  memory-mapped PHYs, SPI PHYs and so on. A new virtual MDIO bus is195	  created, and its read/write operations are mapped to the underlying196	  regmap. Users willing to use this driver must explicitly select197	  REGMAP.198 199config MDIO_THUNDER200	tristate "ThunderX SOCs MDIO buses"201	depends on 64BIT202	depends on PCI203	select MDIO_CAVIUM204	select MDIO_DEVRES205	help206	  This driver supports the MDIO interfaces found on Cavium207	  ThunderX SoCs when the MDIO bus device appears as a PCI208	  device.209 210comment "MDIO Multiplexers"211 212config MDIO_BUS_MUX213	tristate214	depends on OF_MDIO215	help216	  This module provides a driver framework for MDIO bus217	  multiplexers which connect one of several child MDIO busses218	  to a parent bus.  Switching between child busses is done by219	  device specific drivers.220 221config MDIO_BUS_MUX_MESON_G12A222	tristate "Amlogic G12a based MDIO bus multiplexer"223	depends on ARCH_MESON || COMPILE_TEST224	depends on OF_MDIO && HAS_IOMEM && COMMON_CLK225	select MDIO_BUS_MUX226	default m if ARCH_MESON227	help228	  This module provides a driver for the MDIO multiplexer/glue of229	  the amlogic g12a SoC. The multiplexers connects either the external230	  or the internal MDIO bus to the parent bus.231 232config MDIO_BUS_MUX_MESON_GXL233	tristate "Amlogic GXL based MDIO bus multiplexer"234	depends on ARCH_MESON || COMPILE_TEST235	depends on OF_MDIO && HAS_IOMEM && COMMON_CLK236	select MDIO_BUS_MUX237	default m if ARCH_MESON238	help239	  This module provides a driver for the MDIO multiplexer/glue of240	  the amlogic GXL SoC. The multiplexer connects either the external241	  or the internal MDIO bus to the parent bus.242 243config MDIO_BUS_MUX_BCM6368244	tristate "Broadcom BCM6368 MDIO bus multiplexers"245	depends on OF && OF_MDIO && (BMIPS_GENERIC || COMPILE_TEST)246	select MDIO_BUS_MUX247	default BMIPS_GENERIC248	help249	  This module provides a driver for MDIO bus multiplexers found in250	  BCM6368 based Broadcom SoCs. This multiplexer connects one of several251	  child MDIO bus to a parent bus. Buses could be internal as well as252	  external and selection logic lies inside the same multiplexer.253 254config MDIO_BUS_MUX_BCM_IPROC255	tristate "Broadcom iProc based MDIO bus multiplexers"256	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)257	select MDIO_BUS_MUX258	default ARCH_BCM_IPROC259	help260	  This module provides a driver for MDIO bus multiplexers found in261	  iProc based Broadcom SoCs. This multiplexer connects one of several262	  child MDIO bus to a parent bus. Buses could be internal as well as263	  external and selection logic lies inside the same multiplexer.264 265config MDIO_BUS_MUX_GPIO266	tristate "GPIO controlled MDIO bus multiplexers"267	depends on OF_GPIO && OF_MDIO268	select MDIO_BUS_MUX269	help270	  This module provides a driver for MDIO bus multiplexers that271	  are controlled via GPIO lines.  The multiplexer connects one of272	  several child MDIO busses to a parent bus.  Child bus273	  selection is under the control of GPIO lines.274 275config MDIO_BUS_MUX_MULTIPLEXER276	tristate "MDIO bus multiplexer using kernel multiplexer subsystem"277	depends on OF_MDIO278	select MULTIPLEXER279	select MDIO_BUS_MUX280	help281	  This module provides a driver for MDIO bus multiplexer282	  that is controlled via the kernel multiplexer subsystem. The283	  bus multiplexer connects one of several child MDIO busses to284	  a parent bus.  Child bus selection is under the control of285	  the kernel multiplexer subsystem.286 287config MDIO_BUS_MUX_MMIOREG288	tristate "MMIO device-controlled MDIO bus multiplexers"289	depends on OF_MDIO && HAS_IOMEM290	select MDIO_BUS_MUX291	help292	  This module provides a driver for MDIO bus multiplexers that293	  are controlled via a simple memory-mapped device, like an FPGA.294	  The multiplexer connects one of several child MDIO busses to a295	  parent bus.  Child bus selection is under the control of one of296	  the FPGA's registers.297 298	  Currently, only 8/16/32 bits registers are supported.299 300 301endif302endif303