Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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