xref: /linux/drivers/net/phy/Kconfig (revision b3827c91cc9979fe04d99e016fb9c5f6260f29a0)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# PHY Layer Configuration
4#
5
6config MDIO_BUS
7	tristate "MDIO bus consumer layer"
8	help
9	  MDIO bus consumer layer
10
11config PHYLINK
12	tristate
13	select PHYLIB
14	select SWPHY
15	help
16	  PHYlink models the link between the PHY and MAC, allowing fixed
17	  configuration links, PHYs, and Serdes links with MAC level
18	  autonegotiation modes.
19
20menuconfig PHYLIB
21	tristate "PHY Device support and infrastructure"
22	select MDIO_BUS
23	help
24	  Ethernet controllers are usually attached to PHY
25	  devices.  This option provides infrastructure for
26	  managing PHY devices.
27
28if PHYLIB
29
30config SWPHY
31	bool
32
33config PHY_PACKAGE
34	 tristate
35
36config LED_TRIGGER_PHY
37	bool "Support LED triggers for tracking link state"
38	depends on LEDS_TRIGGERS
39	help
40	  Adds support for a set of LED trigger events per-PHY.  Link
41	  state change will trigger the events, for consumption by an
42	  LED class driver.  There are triggers for each link speed currently
43	  supported by the PHY and also a one common "link" trigger as a
44	  logical-or of all the link speed ones.
45	  All these triggers are named according to the following pattern:
46	      <mii bus id>:<phy>:<speed>
47
48	  Where speed is in the form:
49		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
50		for any speed known to the PHY.
51
52config OPEN_ALLIANCE_HELPERS
53	bool
54
55config PHYLIB_LEDS
56	def_bool OF
57	depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
58	help
59	  When LED class support is enabled, phylib can automatically
60	  probe LED setting from device tree.
61
62config FIXED_PHY
63	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
64	select SWPHY
65	help
66	  Adds the platform "fixed" MDIO Bus to cover the boards that use
67	  PHYs that are not connected to the real MDIO bus.
68
69	  Currently tested with mpc866ads and mpc8349e-mitx.
70
71config RUST_PHYLIB_ABSTRACTIONS
72        bool "Rust PHYLIB abstractions support"
73        depends on RUST
74        depends on PHYLIB=y
75        help
76          Adds support needed for PHY drivers written in Rust. It provides
77          a wrapper around the C phylib core.
78
79config SFP
80	tristate "SFP cage support"
81	depends on I2C && PHYLINK
82	depends on HWMON || HWMON=n
83	select MDIO_I2C
84
85comment "MII PHY device drivers"
86
87config AS21XXX_PHY
88	tristate "Aeonsemi AS21xxx PHYs"
89	help
90	  Currently supports the Aeonsemi AS21xxx PHY.
91
92	  These are C45 PHYs 10G that require all a generic firmware.
93
94	  Supported PHYs AS21011JB1, AS21011PB1, AS21010JB1, AS21010PB1,
95	  AS21511JB1, AS21511PB1, AS21510JB1, AS21510PB1, AS21210JB1,
96	  AS21210PB1 that all register with the PHY ID 0x7500 0x7500
97	  before the firmware is loaded.
98
99config AIR_EN8811H_PHY
100	tristate "Airoha EN8811H 2.5 Gigabit PHY"
101	select PHY_COMMON_PROPS
102	help
103	  Currently supports the Airoha EN8811H PHY.
104
105config AMD_PHY
106	tristate "AMD and Altima PHYs"
107	help
108	  Currently supports the AMD am79c874 and Altima AC101L.
109
110config MESON_GXL_PHY
111	tristate "Amlogic Meson GXL Internal PHY"
112	depends on ARCH_MESON || COMPILE_TEST
113	select SMSC_PHY
114	help
115	  Currently has a driver for the Amlogic Meson GXL Internal PHY
116
117config ADIN_PHY
118	tristate "Analog Devices Industrial Ethernet PHYs"
119	help
120	  Adds support for the Analog Devices Industrial Ethernet PHYs.
121	  Currently supports the:
122	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
123	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
124	    Ethernet PHY
125
126config ADIN1100_PHY
127	tristate "Analog Devices Industrial Ethernet T1L PHYs"
128	help
129	  Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
130	  Currently supports the:
131	  - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
132
133config AMCC_QT2025_PHY
134	tristate "AMCC QT2025 PHY"
135	depends on RUST_PHYLIB_ABSTRACTIONS
136	depends on RUST_FW_LOADER_ABSTRACTIONS
137	help
138	  Adds support for the Applied Micro Circuits Corporation QT2025 PHY.
139
140source "drivers/net/phy/aquantia/Kconfig"
141
142config AX88796B_PHY
143	tristate "Asix PHYs"
144	help
145	  Currently supports the Asix Electronics PHY found in the X-Surf 100
146	  AX88796B package.
147
148config AX88796B_RUST_PHY
149	bool "Rust reference driver for Asix PHYs"
150	depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY
151	help
152	  Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).
153	  The features are equivalent. It supports the Asix Electronics PHY
154	  found in the X-Surf 100 AX88796B package.
155
156config BROADCOM_PHY
157	tristate "Broadcom 54XX PHYs"
158	select BCM_NET_PHYLIB
159	select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
160	depends on PTP_1588_CLOCK_OPTIONAL
161	help
162	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
163	  BCM5481, BCM54810 and BCM5482 PHYs.
164
165config BCM54140_PHY
166	tristate "Broadcom BCM54140 PHY"
167	depends on HWMON || HWMON=n
168	select BCM_NET_PHYLIB
169	select PHY_PACKAGE
170	help
171	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
172
173	  This driver also supports the hardware monitoring of this PHY and
174	  exposes voltage and temperature sensors.
175
176config BCM63XX_PHY
177	tristate "Broadcom 63xx SOCs internal PHY"
178	depends on BCM63XX || COMPILE_TEST
179	select BCM_NET_PHYLIB
180	help
181	  Currently supports the 6348 and 6358 PHYs.
182
183config BCM7XXX_PHY
184	tristate "Broadcom 7xxx SOCs internal PHYs"
185	select BCM_NET_PHYLIB
186	help
187	  Currently supports the BCM7366, BCM7439, BCM7445, and
188	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
189
190config BCM84881_PHY
191	tristate "Broadcom BCM84881 PHY"
192	help
193	  Support the Broadcom BCM84881 PHY.
194
195config BCM87XX_PHY
196	tristate "Broadcom BCM8706 and BCM8727 PHYs"
197	help
198	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
199
200config BCM_CYGNUS_PHY
201	tristate "Broadcom Cygnus/Omega SoC internal PHY"
202	depends on ARCH_BCM_IPROC || COMPILE_TEST
203	depends on MDIO_BCM_IPROC
204	select BCM_NET_PHYLIB
205	help
206	  This PHY driver is for the 1G internal PHYs of the Broadcom
207	  Cygnus and Omega Family SoC.
208
209	  Currently supports internal PHY's used in the BCM11300,
210	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
211	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
212
213config BCM_NET_PHYLIB
214	tristate
215
216config BCM_NET_PHYPTP
217	tristate
218
219config CICADA_PHY
220	tristate "Cicada PHYs"
221	help
222	  Currently supports the cis8204
223
224config CORTINA_PHY
225	tristate "Cortina EDC CDR 10G Ethernet PHY"
226	help
227	  Currently supports the CS4340 phy.
228
229config DAVICOM_PHY
230	tristate "Davicom PHYs"
231	help
232	  Currently supports dm9161e and dm9131
233
234config ICPLUS_PHY
235	tristate "ICPlus PHYs"
236	help
237	  Currently supports the IP175C and IP1001 PHYs.
238
239config LXT_PHY
240	tristate "Intel LXT PHYs"
241	help
242	  Currently supports the lxt970, lxt971
243
244config INTEL_XWAY_PHY
245	tristate "Intel XWAY PHYs"
246	help
247	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
248	  These PHYs are marked as standalone chips under the names
249	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
250	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
251
252config LSI_ET1011C_PHY
253	tristate "LSI ET1011C PHY"
254	help
255	  Supports the LSI ET1011C PHY.
256
257config MARVELL_PHY
258	tristate "Marvell Alaska PHYs"
259	help
260	  Currently has a driver for the 88E1XXX
261
262config MARVELL_10G_PHY
263	tristate "Marvell Alaska 10Gbit PHYs"
264	help
265	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
266
267config MARVELL_88Q2XXX_PHY
268	tristate "Marvell 88Q2XXX PHY"
269	depends on HWMON || HWMON=n
270	help
271	  Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
272	  PHYs.
273
274config MARVELL_88X2222_PHY
275	tristate "Marvell 88X2222 PHY"
276	help
277	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
278	  Transceiver.
279
280config MAXLINEAR_GPHY
281	tristate "Maxlinear Ethernet PHYs"
282	select POLYNOMIAL if HWMON
283	depends on HWMON || HWMON=n
284	help
285	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
286	  GPY241, GPY245 PHYs.
287
288config MAXLINEAR_86110_PHY
289	tristate "MaxLinear MXL86110 PHY support"
290	help
291	 Support for the MaxLinear MXL86110 Gigabit Ethernet
292	 Physical Layer transceiver.
293	 The MXL86110 is commonly used in networking equipment such as
294	 routers, switches, and embedded systems, providing the
295	 physical interface for 10/100/1000 Mbps Ethernet connections
296	 over copper media.
297	 If you are using a board with the MXL86110 PHY connected to your
298	 Ethernet MAC, you should enable this option.
299
300source "drivers/net/phy/mediatek/Kconfig"
301
302config MICREL_PHY
303	tristate "Micrel PHYs"
304	depends on PTP_1588_CLOCK_OPTIONAL
305	select PHY_PACKAGE
306	help
307	  Supports the KSZ8xxx, KSZ9xxx, and LAN88xx families of Micrel/Microchip PHYs.
308
309config MICROCHIP_T1S_PHY
310	tristate "Microchip 10BASE-T1S Ethernet PHYs"
311	help
312	  Currently supports the LAN8670/1/2 Rev.B1/C1/C2/D0 and
313	  LAN8650/1 Rev.B0/B1 Internal PHYs.
314
315config MICROCHIP_PHY
316	tristate "Microchip PHYs"
317	help
318	  Supports the LAN88XX PHYs.
319
320config MICROCHIP_T1_PHY
321	tristate "Microchip T1 PHYs"
322	select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING
323	depends on PTP_1588_CLOCK_OPTIONAL
324	help
325	  Supports the LAN8XXX PHYs.
326
327config MICROCHIP_PHY_RDS_PTP
328	tristate
329	help
330	  Currently supports LAN887X T1 PHY
331
332config MICROSEMI_PHY
333	tristate "Microsemi PHYs"
334	depends on MACSEC || MACSEC=n
335	depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
336	select CRYPTO_LIB_AES if MACSEC
337	select PHY_PACKAGE
338	help
339	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
340
341config MOTORCOMM_PHY
342	tristate "Motorcomm PHYs"
343	help
344	  Enables support for Motorcomm network PHYs.
345	  Currently supports YT85xx Gigabit Ethernet PHYs.
346
347config NATIONAL_PHY
348	tristate "National Semiconductor PHYs"
349	help
350	  Currently supports the DP83865 PHY.
351
352config NXP_CBTX_PHY
353	tristate "NXP 100BASE-TX PHYs"
354	help
355	  Support the 100BASE-TX PHY integrated on the SJA1110 automotive
356	  switch family.
357
358config NXP_C45_TJA11XX_PHY
359	tristate "NXP C45 TJA11XX PHYs"
360	depends on PTP_1588_CLOCK_OPTIONAL
361	depends on MACSEC || !MACSEC
362	help
363	  Enable support for NXP C45 TJA11XX PHYs.
364	  Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs.
365
366config NXP_TJA11XX_PHY
367	tristate "NXP TJA11xx PHYs support"
368	depends on HWMON
369	help
370	  Currently supports the NXP TJA1100, TJA1101 and TJA1102 PHYs.
371
372config NCN26000_PHY
373	tristate "Onsemi 10BASE-T1S Ethernet PHY"
374	help
375	  Adds support for the onsemi 10BASE-T1S Ethernet PHY.
376	  Currently supports the NCN26000 10BASE-T1S Industrial PHY
377	  with MII interface.
378
379source "drivers/net/phy/qcom/Kconfig"
380
381config QSEMI_PHY
382	tristate "Quality Semiconductor PHYs"
383	help
384	  Currently supports the qs6612
385
386source "drivers/net/phy/realtek/Kconfig"
387
388config RENESAS_PHY
389	tristate "Renesas PHYs"
390	help
391	  Supports the Renesas PHYs uPD60620 and uPD60620A.
392
393config ROCKCHIP_PHY
394	tristate "Rockchip Ethernet PHYs"
395	help
396	  Currently supports the integrated Ethernet PHY.
397
398config SMSC_PHY
399	tristate "SMSC PHYs"
400	select CRC16
401	help
402	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
403
404config STE10XP
405	tristate "STMicroelectronics STe10Xp PHYs"
406	help
407	  This is the driver for the STe100p and STe101p PHYs.
408
409config TERANETICS_PHY
410	tristate "Teranetics PHYs"
411	help
412	  Currently supports the Teranetics TN2020
413
414config DP83822_PHY
415	tristate "Texas Instruments DP83822/825/826 PHYs"
416	help
417	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
418	  DP83826C and DP83826NC PHYs.
419
420config DP83TC811_PHY
421	tristate "Texas Instruments DP83TC811 PHY"
422	help
423	  Supports the DP83TC811 PHY.
424
425config DP83848_PHY
426	tristate "Texas Instruments DP83848 PHY"
427	help
428	  Supports the DP83848 PHY.
429
430config DP83867_PHY
431	tristate "Texas Instruments DP83867 Gigabit PHY"
432	help
433	  Currently supports the DP83867 PHY.
434
435config DP83869_PHY
436	tristate "Texas Instruments DP83869 Gigabit PHY"
437	help
438	  Currently supports the DP83869 PHY.  This PHY supports copper and
439	  fiber connections.
440
441config DP83TD510_PHY
442	tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
443	help
444	  Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
445	  a 10M single pair Ethernet connection for up to 1000 meter cable.
446
447config DP83TG720_PHY
448	tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
449	select OPEN_ALLIANCE_HELPERS
450	help
451	  The DP83TG720S-Q1 is an automotive Ethernet physical layer
452	  transceiver compliant with IEEE 802.3bp and Open Alliance
453	  standards. It supports key functions necessary for
454	  transmitting and receiving data over both unshielded and
455	  shielded single twisted-pair cables. This device offers
456	  flexible xMII interface options, including support for both
457	  RGMII and SGMII MAC interfaces. It's suitable for applications
458	  requiring high-speed data transmission in automotive
459	  networking environments.
460
461config VITESSE_PHY
462	tristate "Vitesse PHYs"
463	help
464	  Currently supports the vsc8244
465
466config XILINX_GMII2RGMII
467	tristate "Xilinx GMII2RGMII converter driver"
468	help
469	  This driver support xilinx GMII to RGMII IP core it provides
470	  the Reduced Gigabit Media Independent Interface(RGMII) between
471	  Ethernet physical media devices and the Gigabit Ethernet controller.
472
473endif # PHYLIB
474