Loading...
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
1#
2# PHY Layer Configuration
3#
4
5menuconfig PHYLIB
6 tristate "PHY Device support and infrastructure"
7 depends on !S390
8 depends on NETDEVICES
9 help
10 Ethernet controllers are usually attached to PHY
11 devices. This option provides infrastructure for
12 managing PHY devices.
13
14if PHYLIB
15
16comment "MII PHY device drivers"
17
18config AMD_PHY
19 tristate "Drivers for the AMD PHYs"
20 ---help---
21 Currently supports the am79c874
22
23config MARVELL_PHY
24 tristate "Drivers for Marvell PHYs"
25 ---help---
26 Currently has a driver for the 88E1011S
27
28config DAVICOM_PHY
29 tristate "Drivers for Davicom PHYs"
30 ---help---
31 Currently supports dm9161e and dm9131
32
33config QSEMI_PHY
34 tristate "Drivers for Quality Semiconductor PHYs"
35 ---help---
36 Currently supports the qs6612
37
38config LXT_PHY
39 tristate "Drivers for the Intel LXT PHYs"
40 ---help---
41 Currently supports the lxt970, lxt971
42
43config CICADA_PHY
44 tristate "Drivers for the Cicada PHYs"
45 ---help---
46 Currently supports the cis8204
47
48config VITESSE_PHY
49 tristate "Drivers for the Vitesse PHYs"
50 ---help---
51 Currently supports the vsc8244
52
53config SMSC_PHY
54 tristate "Drivers for SMSC PHYs"
55 ---help---
56 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
57
58config BROADCOM_PHY
59 tristate "Drivers for Broadcom PHYs"
60 ---help---
61 Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481
62 and BCM5482 PHYs.
63
64config BCM63XX_PHY
65 tristate "Drivers for Broadcom 63xx SOCs internal PHY"
66 depends on BCM63XX
67 ---help---
68 Currently supports the 6348 and 6358 PHYs.
69
70config ICPLUS_PHY
71 tristate "Drivers for ICPlus PHYs"
72 ---help---
73 Currently supports the IP175C and IP1001 PHYs.
74
75config REALTEK_PHY
76 tristate "Drivers for Realtek PHYs"
77 ---help---
78 Supports the Realtek 821x PHY.
79
80config NATIONAL_PHY
81 tristate "Drivers for National Semiconductor PHYs"
82 ---help---
83 Currently supports the DP83865 PHY.
84
85config STE10XP
86 tristate "Driver for STMicroelectronics STe10Xp PHYs"
87 ---help---
88 This is the driver for the STe100p and STe101p PHYs.
89
90config LSI_ET1011C_PHY
91 tristate "Driver for LSI ET1011C PHY"
92 ---help---
93 Supports the LSI ET1011C PHY.
94
95config MICREL_PHY
96 tristate "Driver for Micrel PHYs"
97 ---help---
98 Supports the KSZ9021, VSC8201, KS8001 PHYs.
99
100config FIXED_PHY
101 bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
102 depends on PHYLIB=y
103 ---help---
104 Adds the platform "fixed" MDIO Bus to cover the boards that use
105 PHYs that are not connected to the real MDIO bus.
106
107 Currently tested with mpc866ads and mpc8349e-mitx.
108
109config MDIO_BITBANG
110 tristate "Support for bitbanged MDIO buses"
111 help
112 This module implements the MDIO bus protocol in software,
113 for use by low level drivers that export the ability to
114 drive the relevant pins.
115
116 If in doubt, say N.
117
118config MDIO_GPIO
119 tristate "Support for GPIO lib-based bitbanged MDIO buses"
120 depends on MDIO_BITBANG && GENERIC_GPIO
121 ---help---
122 Supports GPIO lib-based MDIO busses.
123
124 To compile this driver as a module, choose M here: the module
125 will be called mdio-gpio.
126
127config MDIO_OCTEON
128 tristate "Support for MDIO buses on Octeon SOCs"
129 depends on CPU_CAVIUM_OCTEON
130 default y
131 help
132
133 This module provides a driver for the Octeon MDIO busses.
134 It is required by the Octeon Ethernet device drivers.
135
136 If in doubt, say Y.
137
138config MDIO_BUS_MUX
139 tristate
140 depends on OF_MDIO
141 help
142 This module provides a driver framework for MDIO bus
143 multiplexers which connect one of several child MDIO busses
144 to a parent bus. Switching between child busses is done by
145 device specific drivers.
146
147config MDIO_BUS_MUX_GPIO
148 tristate "Support for GPIO controlled MDIO bus multiplexers"
149 depends on OF_GPIO && OF_MDIO
150 select MDIO_BUS_MUX
151 help
152 This module provides a driver for MDIO bus multiplexers that
153 are controlled via GPIO lines. The multiplexer connects one of
154 several child MDIO busses to a parent bus. Child bus
155 selection is under the control of GPIO lines.
156
157endif # PHYLIB
158
159config MICREL_KS8995MA
160 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
161 depends on SPI