Linux Audio

Check our new training course

Loading...
v6.8
  1# SPDX-License-Identifier: GPL-2.0-only
  2#
  3# PHY Layer Configuration
  4#
  5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  6config PHYLINK
  7	tristate
  8	depends on NETDEVICES
  9	select PHYLIB
 10	select SWPHY
 11	help
 12	  PHYlink models the link between the PHY and MAC, allowing fixed
 13	  configuration links, PHYs, and Serdes links with MAC level
 14	  autonegotiation modes.
 15
 16menuconfig PHYLIB
 17	tristate "PHY Device support and infrastructure"
 18	depends on NETDEVICES
 19	select MDIO_DEVICE
 20	select MDIO_DEVRES
 21	help
 22	  Ethernet controllers are usually attached to PHY
 23	  devices.  This option provides infrastructure for
 24	  managing PHY devices.
 25
 26if PHYLIB
 27
 28config SWPHY
 29	bool
 30
 31config LED_TRIGGER_PHY
 32	bool "Support LED triggers for tracking link state"
 33	depends on LEDS_TRIGGERS
 34	help
 35	  Adds support for a set of LED trigger events per-PHY.  Link
 36	  state change will trigger the events, for consumption by an
 37	  LED class driver.  There are triggers for each link speed currently
 38	  supported by the PHY and also a one common "link" trigger as a
 39	  logical-or of all the link speed ones.
 40	  All these triggers are named according to the following pattern:
 41	      <mii bus id>:<phy>:<speed>
 42
 43	  Where speed is in the form:
 44		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
 45		for any speed known to the PHY.
 46
 47config PHYLIB_LEDS
 48	def_bool OF
 49	depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
 50	help
 51	  When LED class support is enabled, phylib can automatically
 52	  probe LED setting from device tree.
 53
 54config FIXED_PHY
 55	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
 56	select SWPHY
 57	help
 58	  Adds the platform "fixed" MDIO Bus to cover the boards that use
 59	  PHYs that are not connected to the real MDIO bus.
 60
 61	  Currently tested with mpc866ads and mpc8349e-mitx.
 62
 63config RUST_PHYLIB_ABSTRACTIONS
 64        bool "Rust PHYLIB abstractions support"
 65        depends on RUST
 66        depends on PHYLIB=y
 67        help
 68          Adds support needed for PHY drivers written in Rust. It provides
 69          a wrapper around the C phylib core.
 70
 71config SFP
 72	tristate "SFP cage support"
 73	depends on I2C && PHYLINK
 74	depends on HWMON || HWMON=n
 75	select MDIO_I2C
 76
 77comment "MII PHY device drivers"
 78
 79config AMD_PHY
 80	tristate "AMD and Altima PHYs"
 81	help
 82	  Currently supports the AMD am79c874 and Altima AC101L.
 83
 84config MESON_GXL_PHY
 85	tristate "Amlogic Meson GXL Internal PHY"
 86	depends on ARCH_MESON || COMPILE_TEST
 87	select SMSC_PHY
 88	help
 89	  Currently has a driver for the Amlogic Meson GXL Internal PHY
 90
 91config ADIN_PHY
 92	tristate "Analog Devices Industrial Ethernet PHYs"
 93	help
 94	  Adds support for the Analog Devices Industrial Ethernet PHYs.
 95	  Currently supports the:
 96	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
 97	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
 98	    Ethernet PHY
 99
100config ADIN1100_PHY
101	tristate "Analog Devices Industrial Ethernet T1L PHYs"
102	help
103	  Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
104	  Currently supports the:
105	  - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
106
107source "drivers/net/phy/aquantia/Kconfig"
 
108
109config AX88796B_PHY
110	tristate "Asix PHYs"
111	help
112	  Currently supports the Asix Electronics PHY found in the X-Surf 100
113	  AX88796B package.
114
115config AX88796B_RUST_PHY
116	bool "Rust reference driver for Asix PHYs"
117	depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY
118	help
119	  Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).
120	  The features are equivalent. It supports the Asix Electronics PHY
121	  found in the X-Surf 100 AX88796B package.
122
123config BROADCOM_PHY
124	tristate "Broadcom 54XX PHYs"
125	select BCM_NET_PHYLIB
126	select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
127	depends on PTP_1588_CLOCK_OPTIONAL
128	help
129	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
130	  BCM5481, BCM54810 and BCM5482 PHYs.
131
132config BCM54140_PHY
133	tristate "Broadcom BCM54140 PHY"
134	depends on HWMON || HWMON=n
135	select BCM_NET_PHYLIB
136	help
137	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
138
139	  This driver also supports the hardware monitoring of this PHY and
140	  exposes voltage and temperature sensors.
141
142config BCM63XX_PHY
143	tristate "Broadcom 63xx SOCs internal PHY"
144	depends on BCM63XX || COMPILE_TEST
145	select BCM_NET_PHYLIB
146	help
147	  Currently supports the 6348 and 6358 PHYs.
148
149config BCM7XXX_PHY
150	tristate "Broadcom 7xxx SOCs internal PHYs"
151	select BCM_NET_PHYLIB
152	help
153	  Currently supports the BCM7366, BCM7439, BCM7445, and
154	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
155
156config BCM84881_PHY
157	tristate "Broadcom BCM84881 PHY"
158	help
159	  Support the Broadcom BCM84881 PHY.
160
161config BCM87XX_PHY
162	tristate "Broadcom BCM8706 and BCM8727 PHYs"
163	help
164	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
165
166config BCM_CYGNUS_PHY
167	tristate "Broadcom Cygnus/Omega SoC internal PHY"
168	depends on ARCH_BCM_IPROC || COMPILE_TEST
169	depends on MDIO_BCM_IPROC
170	select BCM_NET_PHYLIB
171	help
172	  This PHY driver is for the 1G internal PHYs of the Broadcom
173	  Cygnus and Omega Family SoC.
174
175	  Currently supports internal PHY's used in the BCM11300,
176	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
177	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
178
179config BCM_NET_PHYLIB
180	tristate
181
182config BCM_NET_PHYPTP
183	tristate
 
 
 
 
184
185config CICADA_PHY
186	tristate "Cicada PHYs"
187	help
188	  Currently supports the cis8204
189
190config CORTINA_PHY
191	tristate "Cortina EDC CDR 10G Ethernet PHY"
192	help
193	  Currently supports the CS4340 phy.
194
195config DAVICOM_PHY
196	tristate "Davicom PHYs"
197	help
198	  Currently supports dm9161e and dm9131
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200config ICPLUS_PHY
201	tristate "ICPlus PHYs"
202	help
203	  Currently supports the IP175C and IP1001 PHYs.
204
205config LXT_PHY
206	tristate "Intel LXT PHYs"
207	help
208	  Currently supports the lxt970, lxt971
209
210config INTEL_XWAY_PHY
211	tristate "Intel XWAY PHYs"
212	help
213	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
214	  These PHYs are marked as standalone chips under the names
215	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
216	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
217
218config LSI_ET1011C_PHY
219	tristate "LSI ET1011C PHY"
220	help
221	  Supports the LSI ET1011C PHY.
222
 
 
 
 
 
223config MARVELL_PHY
224	tristate "Marvell Alaska PHYs"
225	help
226	  Currently has a driver for the 88E1XXX
227
228config MARVELL_10G_PHY
229	tristate "Marvell Alaska 10Gbit PHYs"
230	help
231	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
232
233config MARVELL_88Q2XXX_PHY
234	tristate "Marvell 88Q2XXX PHY"
235	help
236	  Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
237	  PHYs.
238
239config MARVELL_88X2222_PHY
240	tristate "Marvell 88X2222 PHY"
241	help
242	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
243	  Transceiver.
244
245config MAXLINEAR_GPHY
246	tristate "Maxlinear Ethernet PHYs"
247	select POLYNOMIAL if HWMON
248	depends on HWMON || HWMON=n
249	help
250	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
251	  GPY241, GPY245 PHYs.
252
253config MEDIATEK_GE_PHY
254	tristate "MediaTek Gigabit Ethernet PHYs"
255	help
256	  Supports the MediaTek Gigabit Ethernet PHYs.
257
258config MEDIATEK_GE_SOC_PHY
259	tristate "MediaTek SoC Ethernet PHYs"
260	depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
261	depends on NVMEM_MTK_EFUSE
262	help
263	  Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
264
265	  Include support for built-in Ethernet PHYs which are present in
266	  the MT7981 and MT7988 SoCs. These PHYs need calibration data
267	  present in the SoCs efuse and will dynamically calibrate VCM
268	  (common-mode voltage) during startup.
269
270config MICREL_PHY
271	tristate "Micrel PHYs"
272	depends on PTP_1588_CLOCK_OPTIONAL
273	help
274	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
275
276config MICROCHIP_T1S_PHY
277	tristate "Microchip 10BASE-T1S Ethernet PHYs"
278	help
279	  Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal
280	  PHYs.
281
282config MICROCHIP_PHY
283	tristate "Microchip PHYs"
284	help
285	  Supports the LAN88XX PHYs.
286
287config MICROCHIP_T1_PHY
288	tristate "Microchip T1 PHYs"
289	help
290	  Supports the LAN87XX PHYs.
291
292config MICROSEMI_PHY
293	tristate "Microsemi PHYs"
294	depends on MACSEC || MACSEC=n
295	depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
296	select CRYPTO_LIB_AES if MACSEC
297	help
298	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
299
300config MOTORCOMM_PHY
301	tristate "Motorcomm PHYs"
302	help
303	  Enables support for Motorcomm network PHYs.
304	  Currently supports YT85xx Gigabit Ethernet PHYs.
305
306config NATIONAL_PHY
307	tristate "National Semiconductor PHYs"
308	help
309	  Currently supports the DP83865 PHY.
310
311config NXP_CBTX_PHY
312	tristate "NXP 100BASE-TX PHYs"
313	help
314	  Support the 100BASE-TX PHY integrated on the SJA1110 automotive
315	  switch family.
316
317config NXP_C45_TJA11XX_PHY
318	tristate "NXP C45 TJA11XX PHYs"
319	depends on PTP_1588_CLOCK_OPTIONAL
320	depends on MACSEC || !MACSEC
321	help
322	  Enable support for NXP C45 TJA11XX PHYs.
323	  Currently supports the TJA1103, TJA1104 and TJA1120 PHYs.
324
325config NXP_TJA11XX_PHY
326	tristate "NXP TJA11xx PHYs support"
327	depends on HWMON
328	help
329	  Currently supports the NXP TJA1100 and TJA1101 PHY.
330
331config NCN26000_PHY
332	tristate "Onsemi 10BASE-T1S Ethernet PHY"
333	help
334	  Adds support for the onsemi 10BASE-T1S Ethernet PHY.
335	  Currently supports the NCN26000 10BASE-T1S Industrial PHY
336	  with MII interface.
337
338config AT803X_PHY
339	tristate "Qualcomm Atheros AR803X PHYs and QCA833x PHYs"
340	depends on REGULATOR
341	help
342	  Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
343	  QCA8337(Internal qca8k PHY) model
344
345config QSEMI_PHY
346	tristate "Quality Semiconductor PHYs"
347	help
348	  Currently supports the qs6612
349
350config REALTEK_PHY
351	tristate "Realtek PHYs"
352	help
353	  Supports the Realtek 821x PHY.
354
355config RENESAS_PHY
356	tristate "Renesas PHYs"
357	help
358	  Supports the Renesas PHYs uPD60620 and uPD60620A.
359
360config ROCKCHIP_PHY
361	tristate "Rockchip Ethernet PHYs"
362	help
363	  Currently supports the integrated Ethernet PHY.
364
365config SMSC_PHY
366	tristate "SMSC PHYs"
367	select CRC16
368	help
369	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
370
371config STE10XP
372	tristate "STMicroelectronics STe10Xp PHYs"
373	help
374	  This is the driver for the STe100p and STe101p PHYs.
375
376config TERANETICS_PHY
377	tristate "Teranetics PHYs"
378	help
379	  Currently supports the Teranetics TN2020
380
381config DP83822_PHY
382	tristate "Texas Instruments DP83822/825/826 PHYs"
383	help
384	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
385	  DP83826C and DP83826NC PHYs.
386
387config DP83TC811_PHY
388	tristate "Texas Instruments DP83TC811 PHY"
389	help
390	  Supports the DP83TC811 PHY.
391
392config DP83848_PHY
393	tristate "Texas Instruments DP83848 PHY"
394	help
395	  Supports the DP83848 PHY.
396
397config DP83867_PHY
398	tristate "Texas Instruments DP83867 Gigabit PHY"
399	help
400	  Currently supports the DP83867 PHY.
401
402config DP83869_PHY
403	tristate "Texas Instruments DP83869 Gigabit PHY"
404	help
405	  Currently supports the DP83869 PHY.  This PHY supports copper and
406	  fiber connections.
407
408config DP83TD510_PHY
409	tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
410	help
411	  Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
412	  a 10M single pair Ethernet connection for up to 1000 meter cable.
413
414config DP83TG720_PHY
415	tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
416	help
417	  The DP83TG720S-Q1 is an automotive Ethernet physical layer
418	  transceiver compliant with IEEE 802.3bp and Open Alliance
419	  standards. It supports key functions necessary for
420	  transmitting and receiving data over both unshielded and
421	  shielded single twisted-pair cables. This device offers
422	  flexible xMII interface options, including support for both
423	  RGMII and SGMII MAC interfaces. It's suitable for applications
424	  requiring high-speed data transmission in automotive
425	  networking environments.
426
427config VITESSE_PHY
428	tristate "Vitesse PHYs"
429	help
430	  Currently supports the vsc8244
431
432config XILINX_GMII2RGMII
433	tristate "Xilinx GMII2RGMII converter driver"
434	help
435	  This driver support xilinx GMII to RGMII IP core it provides
436	  the Reduced Gigabit Media Independent Interface(RGMII) between
437	  Ethernet physical media devices and the Gigabit Ethernet controller.
438
439endif # PHYLIB
440
441config MICREL_KS8995MA
442	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
443	depends on SPI
v5.4
  1# SPDX-License-Identifier: GPL-2.0-only
  2#
  3# PHY Layer Configuration
  4#
  5
  6menuconfig MDIO_DEVICE
  7	tristate "MDIO bus device drivers"
  8	help
  9	  MDIO devices and driver infrastructure code.
 10
 11if MDIO_DEVICE
 12
 13config MDIO_BUS
 14	tristate
 15	default m if PHYLIB=m
 16	default MDIO_DEVICE
 17	help
 18	  This internal symbol is used for link time dependencies and it
 19	  reflects whether the mdio_bus/mdio_device code is built as a
 20	  loadable module or built-in.
 21
 22if MDIO_BUS
 23
 24config MDIO_ASPEED
 25	tristate "ASPEED MDIO bus controller"
 26	depends on ARCH_ASPEED || COMPILE_TEST
 27	depends on OF_MDIO && HAS_IOMEM
 28	help
 29	  This module provides a driver for the independent MDIO bus
 30	  controllers found in the ASPEED AST2600 SoC. This is a driver for the
 31	  third revision of the ASPEED MDIO register interface - the first two
 32	  revisions are the "old" and "new" interfaces found in the AST2400 and
 33	  AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver
 34	  continues to drive the embedded MDIO controller for the AST2400 and
 35	  AST2500 SoCs, so say N if AST2600 support is not required.
 36
 37config MDIO_BCM_IPROC
 38	tristate "Broadcom iProc MDIO bus controller"
 39	depends on ARCH_BCM_IPROC || COMPILE_TEST
 40	depends on HAS_IOMEM && OF_MDIO
 41	help
 42	  This module provides a driver for the MDIO busses found in the
 43	  Broadcom iProc SoC's.
 44
 45config MDIO_BCM_UNIMAC
 46	tristate "Broadcom UniMAC MDIO bus controller"
 47	depends on HAS_IOMEM
 48	help
 49	  This module provides a driver for the Broadcom UniMAC MDIO busses.
 50	  This hardware can be found in the Broadcom GENET Ethernet MAC
 51	  controllers as well as some Broadcom Ethernet switches such as the
 52	  Starfighter 2 switches.
 53
 54config MDIO_BITBANG
 55	tristate "Bitbanged MDIO buses"
 56	help
 57	  This module implements the MDIO bus protocol in software,
 58	  for use by low level drivers that export the ability to
 59	  drive the relevant pins.
 60
 61	  If in doubt, say N.
 62
 63config MDIO_BUS_MUX
 64	tristate
 65	depends on OF_MDIO
 66	help
 67	  This module provides a driver framework for MDIO bus
 68	  multiplexers which connect one of several child MDIO busses
 69	  to a parent bus.  Switching between child busses is done by
 70	  device specific drivers.
 71
 72config MDIO_BUS_MUX_BCM_IPROC
 73	tristate "Broadcom iProc based MDIO bus multiplexers"
 74	depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
 75	select MDIO_BUS_MUX
 76	default ARCH_BCM_IPROC
 77	help
 78	  This module provides a driver for MDIO bus multiplexers found in
 79	  iProc based Broadcom SoCs. This multiplexer connects one of several
 80	  child MDIO bus to a parent bus. Buses could be internal as well as
 81	  external and selection logic lies inside the same multiplexer.
 82
 83config MDIO_BUS_MUX_GPIO
 84	tristate "GPIO controlled MDIO bus multiplexers"
 85	depends on OF_GPIO && OF_MDIO
 86	select MDIO_BUS_MUX
 87	help
 88	  This module provides a driver for MDIO bus multiplexers that
 89	  are controlled via GPIO lines.  The multiplexer connects one of
 90	  several child MDIO busses to a parent bus.  Child bus
 91	  selection is under the control of GPIO lines.
 92
 93config MDIO_BUS_MUX_MESON_G12A
 94	tristate "Amlogic G12a based MDIO bus multiplexer"
 95	depends on ARCH_MESON || COMPILE_TEST
 96	depends on OF_MDIO && HAS_IOMEM && COMMON_CLK
 97	select MDIO_BUS_MUX
 98	default m if ARCH_MESON
 99	help
100	  This module provides a driver for the MDIO multiplexer/glue of
101	  the amlogic g12a SoC. The multiplexers connects either the external
102	  or the internal MDIO bus to the parent bus.
103
104config MDIO_BUS_MUX_MMIOREG
105	tristate "MMIO device-controlled MDIO bus multiplexers"
106	depends on OF_MDIO && HAS_IOMEM
107	select MDIO_BUS_MUX
108	help
109	  This module provides a driver for MDIO bus multiplexers that
110	  are controlled via a simple memory-mapped device, like an FPGA.
111	  The multiplexer connects one of several child MDIO busses to a
112	  parent bus.  Child bus selection is under the control of one of
113	  the FPGA's registers.
114
115	  Currently, only 8/16/32 bits registers are supported.
116
117config MDIO_BUS_MUX_MULTIPLEXER
118	tristate "MDIO bus multiplexer using kernel multiplexer subsystem"
119	depends on OF_MDIO
120	select MULTIPLEXER
121	select MDIO_BUS_MUX
122	help
123	  This module provides a driver for MDIO bus multiplexer
124	  that is controlled via the kernel multiplexer subsystem. The
125	  bus multiplexer connects one of several child MDIO busses to
126	  a parent bus.  Child bus selection is under the control of
127	  the kernel multiplexer subsystem.
128
129config MDIO_CAVIUM
130	tristate
131
132config MDIO_GPIO
133	tristate "GPIO lib-based bitbanged MDIO buses"
134	depends on MDIO_BITBANG
135	depends on GPIOLIB || COMPILE_TEST
136	---help---
137	  Supports GPIO lib-based MDIO busses.
138
139	  To compile this driver as a module, choose M here: the module
140	  will be called mdio-gpio.
141
142config MDIO_HISI_FEMAC
143	tristate "Hisilicon FEMAC MDIO bus controller"
144	depends on HAS_IOMEM && OF_MDIO
145	help
146	  This module provides a driver for the MDIO busses found in the
147	  Hisilicon SoC that have an Fast Ethernet MAC.
148
149config MDIO_I2C
150	tristate
151	depends on I2C
152	help
153	  Support I2C based PHYs.  This provides a MDIO bus bridged
154	  to I2C to allow PHYs connected in I2C mode to be accessed
155	  using the existing infrastructure.
156
157	  This is library mode.
158
159config MDIO_MOXART
160	tristate "MOXA ART MDIO interface support"
161	depends on ARCH_MOXART || COMPILE_TEST
162	help
163	  This driver supports the MDIO interface found in the network
164	  interface units of the MOXA ART SoC
165
166config MDIO_MSCC_MIIM
167	tristate "Microsemi MIIM interface support"
168	depends on HAS_IOMEM
169	help
170	  This driver supports the MIIM (MDIO) interface found in the network
171	  switches of the Microsemi SoCs
172
173config MDIO_OCTEON
174	tristate "Octeon and some ThunderX SOCs MDIO buses"
175	depends on (64BIT && OF_MDIO) || COMPILE_TEST
176	depends on HAS_IOMEM
177	select MDIO_CAVIUM
178	help
179	  This module provides a driver for the Octeon and ThunderX MDIO
180	  buses. It is required by the Octeon and ThunderX ethernet device
181	  drivers on some systems.
182
183config MDIO_SUN4I
184	tristate "Allwinner sun4i MDIO interface support"
185	depends on ARCH_SUNXI || COMPILE_TEST
186	help
187	  This driver supports the MDIO interface found in the network
188	  interface units of the Allwinner SoC that have an EMAC (A10,
189	  A12, A10s, etc.)
190
191config MDIO_THUNDER
192	tristate "ThunderX SOCs MDIO buses"
193	depends on 64BIT
194	depends on PCI
195	select MDIO_CAVIUM
196	help
197	  This driver supports the MDIO interfaces found on Cavium
198	  ThunderX SoCs when the MDIO bus device appears as a PCI
199	  device.
200
201config MDIO_XGENE
202	tristate "APM X-Gene SoC MDIO bus controller"
203	depends on ARCH_XGENE || COMPILE_TEST
204	help
205	  This module provides a driver for the MDIO busses found in the
206	  APM X-Gene SoC's.
207
208endif
209endif
210
211config PHYLINK
212	tristate
213	depends on NETDEVICES
214	select PHYLIB
215	select SWPHY
216	help
217	  PHYlink models the link between the PHY and MAC, allowing fixed
218	  configuration links, PHYs, and Serdes links with MAC level
219	  autonegotiation modes.
220
221menuconfig PHYLIB
222	tristate "PHY Device support and infrastructure"
223	depends on NETDEVICES
224	select MDIO_DEVICE
 
225	help
226	  Ethernet controllers are usually attached to PHY
227	  devices.  This option provides infrastructure for
228	  managing PHY devices.
229
230if PHYLIB
231
232config SWPHY
233	bool
234
235config LED_TRIGGER_PHY
236	bool "Support LED triggers for tracking link state"
237	depends on LEDS_TRIGGERS
238	---help---
239	  Adds support for a set of LED trigger events per-PHY.  Link
240	  state change will trigger the events, for consumption by an
241	  LED class driver.  There are triggers for each link speed currently
242	  supported by the PHY and also a one common "link" trigger as a
243	  logical-or of all the link speed ones.
244	  All these triggers are named according to the following pattern:
245	      <mii bus id>:<phy>:<speed>
246
247	  Where speed is in the form:
248		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
249		for any speed known to the PHY.
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
252comment "MII PHY device drivers"
 
 
 
 
 
 
253
254config SFP
255	tristate "SFP cage support"
256	depends on I2C && PHYLINK
257	depends on HWMON || HWMON=n
258	select MDIO_I2C
259
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260config ADIN_PHY
261	tristate "Analog Devices Industrial Ethernet PHYs"
262	help
263	  Adds support for the Analog Devices Industrial Ethernet PHYs.
264	  Currently supports the:
265	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
266	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
267	    Ethernet PHY
268
269config AMD_PHY
270	tristate "AMD PHYs"
271	---help---
272	  Currently supports the am79c874
273
274config AQUANTIA_PHY
275	tristate "Aquantia PHYs"
276	---help---
277	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
278
279config AX88796B_PHY
280	tristate "Asix PHYs"
281	help
282	  Currently supports the Asix Electronics PHY found in the X-Surf 100
283	  AX88796B package.
284
285config AT803X_PHY
286	tristate "AT803X PHYs"
287	---help---
288	  Currently supports the AT8030 and AT8035 model
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
289
290config BCM63XX_PHY
291	tristate "Broadcom 63xx SOCs internal PHY"
292	depends on BCM63XX || COMPILE_TEST
293	select BCM_NET_PHYLIB
294	---help---
295	  Currently supports the 6348 and 6358 PHYs.
296
297config BCM7XXX_PHY
298	tristate "Broadcom 7xxx SOCs internal PHYs"
299	select BCM_NET_PHYLIB
300	---help---
301	  Currently supports the BCM7366, BCM7439, BCM7445, and
302	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
303
 
 
 
 
 
304config BCM87XX_PHY
305	tristate "Broadcom BCM8706 and BCM8727 PHYs"
306	help
307	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
308
309config BCM_CYGNUS_PHY
310	tristate "Broadcom Cygnus/Omega SoC internal PHY"
311	depends on ARCH_BCM_IPROC || COMPILE_TEST
312	depends on MDIO_BCM_IPROC
313	select BCM_NET_PHYLIB
314	---help---
315	  This PHY driver is for the 1G internal PHYs of the Broadcom
316	  Cygnus and Omega Family SoC.
317
318	  Currently supports internal PHY's used in the BCM11300,
319	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
320	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
321
322config BCM_NET_PHYLIB
323	tristate
324
325config BROADCOM_PHY
326	tristate "Broadcom PHYs"
327	select BCM_NET_PHYLIB
328	---help---
329	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
330	  BCM5481, BCM54810 and BCM5482 PHYs.
331
332config CICADA_PHY
333	tristate "Cicada PHYs"
334	---help---
335	  Currently supports the cis8204
336
337config CORTINA_PHY
338	tristate "Cortina EDC CDR 10G Ethernet PHY"
339	---help---
340	  Currently supports the CS4340 phy.
341
342config DAVICOM_PHY
343	tristate "Davicom PHYs"
344	---help---
345	  Currently supports dm9161e and dm9131
346
347config DP83822_PHY
348	tristate "Texas Instruments DP83822 PHY"
349	---help---
350	  Supports the DP83822 PHY.
351
352config DP83TC811_PHY
353	tristate "Texas Instruments DP83TC822 PHY"
354	---help---
355	  Supports the DP83TC822 PHY.
356
357config DP83848_PHY
358	tristate "Texas Instruments DP83848 PHY"
359	---help---
360	  Supports the DP83848 PHY.
361
362config DP83867_PHY
363	tristate "Texas Instruments DP83867 Gigabit PHY"
364	---help---
365	  Currently supports the DP83867 PHY.
366
367config FIXED_PHY
368	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
369	depends on PHYLIB
370	select SWPHY
371	---help---
372	  Adds the platform "fixed" MDIO Bus to cover the boards that use
373	  PHYs that are not connected to the real MDIO bus.
374
375	  Currently tested with mpc866ads and mpc8349e-mitx.
376
377config ICPLUS_PHY
378	tristate "ICPlus PHYs"
379	---help---
380	  Currently supports the IP175C and IP1001 PHYs.
381
 
 
 
 
 
382config INTEL_XWAY_PHY
383	tristate "Intel XWAY PHYs"
384	---help---
385	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
386	  These PHYs are marked as standalone chips under the names
387	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
388	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
389
390config LSI_ET1011C_PHY
391	tristate "LSI ET1011C PHY"
392	---help---
393	  Supports the LSI ET1011C PHY.
394
395config LXT_PHY
396	tristate "Intel LXT PHYs"
397	---help---
398	  Currently supports the lxt970, lxt971
399
400config MARVELL_PHY
401	tristate "Marvell PHYs"
402	---help---
403	  Currently has a driver for the 88E1011S
404
405config MARVELL_10G_PHY
406	tristate "Marvell Alaska 10Gbit PHYs"
407	---help---
408	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
409
410config MESON_GXL_PHY
411	tristate "Amlogic Meson GXL Internal PHY"
412	depends on ARCH_MESON || COMPILE_TEST
413	---help---
414	  Currently has a driver for the Amlogic Meson GXL Internal PHY
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
416config MICREL_PHY
417	tristate "Micrel PHYs"
418	---help---
 
419	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
420
 
 
 
 
 
 
421config MICROCHIP_PHY
422	tristate "Microchip PHYs"
423	help
424	  Supports the LAN88XX PHYs.
425
426config MICROCHIP_T1_PHY
427	tristate "Microchip T1 PHYs"
428	---help---
429	  Supports the LAN87XX PHYs.
430
431config MICROSEMI_PHY
432	tristate "Microsemi PHYs"
433	---help---
 
 
 
434	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
435
 
 
 
 
 
 
436config NATIONAL_PHY
437	tristate "National Semiconductor PHYs"
438	---help---
439	  Currently supports the DP83865 PHY.
440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
441config NXP_TJA11XX_PHY
442	tristate "NXP TJA11xx PHYs support"
443	depends on HWMON
444	---help---
445	  Currently supports the NXP TJA1100 and TJA1101 PHY.
446
 
 
 
 
 
 
 
 
 
 
 
 
 
 
447config QSEMI_PHY
448	tristate "Quality Semiconductor PHYs"
449	---help---
450	  Currently supports the qs6612
451
452config REALTEK_PHY
453	tristate "Realtek PHYs"
454	---help---
455	  Supports the Realtek 821x PHY.
456
457config RENESAS_PHY
458	tristate "Driver for Renesas PHYs"
459	---help---
460	  Supports the Renesas PHYs uPD60620 and uPD60620A.
461
462config ROCKCHIP_PHY
463	tristate "Driver for Rockchip Ethernet PHYs"
464	---help---
465	  Currently supports the integrated Ethernet PHY.
466
467config SMSC_PHY
468	tristate "SMSC PHYs"
469	---help---
 
470	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
471
472config STE10XP
473	tristate "STMicroelectronics STe10Xp PHYs"
474	---help---
475	  This is the driver for the STe100p and STe101p PHYs.
476
477config TERANETICS_PHY
478	tristate "Teranetics PHYs"
479	---help---
480	  Currently supports the Teranetics TN2020
481
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
482config VITESSE_PHY
483	tristate "Vitesse PHYs"
484	---help---
485	  Currently supports the vsc8244
486
487config XILINX_GMII2RGMII
488	tristate "Xilinx GMII2RGMII converter driver"
489	---help---
490	  This driver support xilinx GMII to RGMII IP core it provides
491	  the Reduced Gigabit Media Independent Interface(RGMII) between
492	  Ethernet physical media devices and the Gigabit Ethernet controller.
493
494endif # PHYLIB
495
496config MICREL_KS8995MA
497	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
498	depends on SPI