xref: /linux-6.15/drivers/net/phy/Kconfig (revision f20fd544)
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 BROADCOM_PHY
116	tristate "Broadcom 54XX PHYs"
117	select BCM_NET_PHYLIB
118	select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
119	depends on PTP_1588_CLOCK_OPTIONAL
120	help
121	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
122	  BCM5481, BCM54810 and BCM5482 PHYs.
123
124config BCM54140_PHY
125	tristate "Broadcom BCM54140 PHY"
126	depends on HWMON || HWMON=n
127	select BCM_NET_PHYLIB
128	help
129	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
130
131	  This driver also supports the hardware monitoring of this PHY and
132	  exposes voltage and temperature sensors.
133
134config BCM63XX_PHY
135	tristate "Broadcom 63xx SOCs internal PHY"
136	depends on BCM63XX || COMPILE_TEST
137	select BCM_NET_PHYLIB
138	help
139	  Currently supports the 6348 and 6358 PHYs.
140
141config BCM7XXX_PHY
142	tristate "Broadcom 7xxx SOCs internal PHYs"
143	select BCM_NET_PHYLIB
144	help
145	  Currently supports the BCM7366, BCM7439, BCM7445, and
146	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
147
148config BCM84881_PHY
149	tristate "Broadcom BCM84881 PHY"
150	help
151	  Support the Broadcom BCM84881 PHY.
152
153config BCM87XX_PHY
154	tristate "Broadcom BCM8706 and BCM8727 PHYs"
155	help
156	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
157
158config BCM_CYGNUS_PHY
159	tristate "Broadcom Cygnus/Omega SoC internal PHY"
160	depends on ARCH_BCM_IPROC || COMPILE_TEST
161	depends on MDIO_BCM_IPROC
162	select BCM_NET_PHYLIB
163	help
164	  This PHY driver is for the 1G internal PHYs of the Broadcom
165	  Cygnus and Omega Family SoC.
166
167	  Currently supports internal PHY's used in the BCM11300,
168	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
169	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
170
171config BCM_NET_PHYLIB
172	tristate
173
174config BCM_NET_PHYPTP
175	tristate
176
177config CICADA_PHY
178	tristate "Cicada PHYs"
179	help
180	  Currently supports the cis8204
181
182config CORTINA_PHY
183	tristate "Cortina EDC CDR 10G Ethernet PHY"
184	help
185	  Currently supports the CS4340 phy.
186
187config DAVICOM_PHY
188	tristate "Davicom PHYs"
189	help
190	  Currently supports dm9161e and dm9131
191
192config ICPLUS_PHY
193	tristate "ICPlus PHYs"
194	help
195	  Currently supports the IP175C and IP1001 PHYs.
196
197config LXT_PHY
198	tristate "Intel LXT PHYs"
199	help
200	  Currently supports the lxt970, lxt971
201
202config INTEL_XWAY_PHY
203	tristate "Intel XWAY PHYs"
204	help
205	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
206	  These PHYs are marked as standalone chips under the names
207	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
208	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
209
210config LSI_ET1011C_PHY
211	tristate "LSI ET1011C PHY"
212	help
213	  Supports the LSI ET1011C PHY.
214
215config MARVELL_PHY
216	tristate "Marvell Alaska PHYs"
217	help
218	  Currently has a driver for the 88E1XXX
219
220config MARVELL_10G_PHY
221	tristate "Marvell Alaska 10Gbit PHYs"
222	help
223	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
224
225config MARVELL_88Q2XXX_PHY
226	tristate "Marvell 88Q2XXX PHY"
227	help
228	  Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
229	  PHYs.
230
231config MARVELL_88X2222_PHY
232	tristate "Marvell 88X2222 PHY"
233	help
234	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
235	  Transceiver.
236
237config MAXLINEAR_GPHY
238	tristate "Maxlinear Ethernet PHYs"
239	select POLYNOMIAL if HWMON
240	depends on HWMON || HWMON=n
241	help
242	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
243	  GPY241, GPY245 PHYs.
244
245config MEDIATEK_GE_PHY
246	tristate "MediaTek Gigabit Ethernet PHYs"
247	help
248	  Supports the MediaTek Gigabit Ethernet PHYs.
249
250config MEDIATEK_GE_SOC_PHY
251	tristate "MediaTek SoC Ethernet PHYs"
252	depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST
253	depends on NVMEM_MTK_EFUSE
254	help
255	  Supports MediaTek SoC built-in Gigabit Ethernet PHYs.
256
257	  Include support for built-in Ethernet PHYs which are present in
258	  the MT7981 and MT7988 SoCs. These PHYs need calibration data
259	  present in the SoCs efuse and will dynamically calibrate VCM
260	  (common-mode voltage) during startup.
261
262config MICREL_PHY
263	tristate "Micrel PHYs"
264	depends on PTP_1588_CLOCK_OPTIONAL
265	help
266	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
267
268config MICROCHIP_T1S_PHY
269	tristate "Microchip 10BASE-T1S Ethernet PHYs"
270	help
271	  Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal
272	  PHYs.
273
274config MICROCHIP_PHY
275	tristate "Microchip PHYs"
276	help
277	  Supports the LAN88XX PHYs.
278
279config MICROCHIP_T1_PHY
280	tristate "Microchip T1 PHYs"
281	help
282	  Supports the LAN87XX PHYs.
283
284config MICROSEMI_PHY
285	tristate "Microsemi PHYs"
286	depends on MACSEC || MACSEC=n
287	depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
288	select CRYPTO_LIB_AES if MACSEC
289	help
290	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
291
292config MOTORCOMM_PHY
293	tristate "Motorcomm PHYs"
294	help
295	  Enables support for Motorcomm network PHYs.
296	  Currently supports YT85xx Gigabit Ethernet PHYs.
297
298config NATIONAL_PHY
299	tristate "National Semiconductor PHYs"
300	help
301	  Currently supports the DP83865 PHY.
302
303config NXP_CBTX_PHY
304	tristate "NXP 100BASE-TX PHYs"
305	help
306	  Support the 100BASE-TX PHY integrated on the SJA1110 automotive
307	  switch family.
308
309config NXP_C45_TJA11XX_PHY
310	tristate "NXP C45 TJA11XX PHYs"
311	depends on PTP_1588_CLOCK_OPTIONAL
312	help
313	  Enable support for NXP C45 TJA11XX PHYs.
314	  Currently supports the TJA1103 and TJA1120 PHYs.
315
316config NXP_TJA11XX_PHY
317	tristate "NXP TJA11xx PHYs support"
318	depends on HWMON
319	help
320	  Currently supports the NXP TJA1100 and TJA1101 PHY.
321
322config NCN26000_PHY
323	tristate "Onsemi 10BASE-T1S Ethernet PHY"
324	help
325	  Adds support for the onsemi 10BASE-T1S Ethernet PHY.
326	  Currently supports the NCN26000 10BASE-T1S Industrial PHY
327	  with MII interface.
328
329config AT803X_PHY
330	tristate "Qualcomm Atheros AR803X PHYs and QCA833x PHYs"
331	depends on REGULATOR
332	help
333	  Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
334	  QCA8337(Internal qca8k PHY) model
335
336config QSEMI_PHY
337	tristate "Quality Semiconductor PHYs"
338	help
339	  Currently supports the qs6612
340
341config REALTEK_PHY
342	tristate "Realtek PHYs"
343	help
344	  Supports the Realtek 821x PHY.
345
346config RENESAS_PHY
347	tristate "Renesas PHYs"
348	help
349	  Supports the Renesas PHYs uPD60620 and uPD60620A.
350
351config ROCKCHIP_PHY
352	tristate "Rockchip Ethernet PHYs"
353	help
354	  Currently supports the integrated Ethernet PHY.
355
356config SMSC_PHY
357	tristate "SMSC PHYs"
358	select CRC16
359	help
360	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
361
362config STE10XP
363	tristate "STMicroelectronics STe10Xp PHYs"
364	help
365	  This is the driver for the STe100p and STe101p PHYs.
366
367config TERANETICS_PHY
368	tristate "Teranetics PHYs"
369	help
370	  Currently supports the Teranetics TN2020
371
372config DP83822_PHY
373	tristate "Texas Instruments DP83822/825/826 PHYs"
374	help
375	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
376	  DP83826C and DP83826NC PHYs.
377
378config DP83TC811_PHY
379	tristate "Texas Instruments DP83TC811 PHY"
380	help
381	  Supports the DP83TC811 PHY.
382
383config DP83848_PHY
384	tristate "Texas Instruments DP83848 PHY"
385	help
386	  Supports the DP83848 PHY.
387
388config DP83867_PHY
389	tristate "Texas Instruments DP83867 Gigabit PHY"
390	help
391	  Currently supports the DP83867 PHY.
392
393config DP83869_PHY
394	tristate "Texas Instruments DP83869 Gigabit PHY"
395	help
396	  Currently supports the DP83869 PHY.  This PHY supports copper and
397	  fiber connections.
398
399config DP83TD510_PHY
400	tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
401	help
402	  Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
403	  a 10M single pair Ethernet connection for up to 1000 meter cable.
404
405config DP83TG720_PHY
406	tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
407	help
408	  The DP83TG720S-Q1 is an automotive Ethernet physical layer
409	  transceiver compliant with IEEE 802.3bp and Open Alliance
410	  standards. It supports key functions necessary for
411	  transmitting and receiving data over both unshielded and
412	  shielded single twisted-pair cables. This device offers
413	  flexible xMII interface options, including support for both
414	  RGMII and SGMII MAC interfaces. It's suitable for applications
415	  requiring high-speed data transmission in automotive
416	  networking environments.
417
418config VITESSE_PHY
419	tristate "Vitesse PHYs"
420	help
421	  Currently supports the vsc8244
422
423config XILINX_GMII2RGMII
424	tristate "Xilinx GMII2RGMII converter driver"
425	help
426	  This driver support xilinx GMII to RGMII IP core it provides
427	  the Reduced Gigabit Media Independent Interface(RGMII) between
428	  Ethernet physical media devices and the Gigabit Ethernet controller.
429
430endif # PHYLIB
431
432config MICREL_KS8995MA
433	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
434	depends on SPI
435