]> Git Repo - linux.git/blob - drivers/net/phy/Kconfig
Linux 6.14-rc3
[linux.git] / drivers / net / phy / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # PHY Layer Configuration
4 #
5
6 config 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
16 menuconfig 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
26 if PHYLIB
27
28 config SWPHY
29         bool
30
31 config 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
47 config OPEN_ALLIANCE_HELPERS
48         bool
49
50 config PHYLIB_LEDS
51         def_bool OF
52         depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
53         help
54           When LED class support is enabled, phylib can automatically
55           probe LED setting from device tree.
56
57 config FIXED_PHY
58         tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
59         select SWPHY
60         help
61           Adds the platform "fixed" MDIO Bus to cover the boards that use
62           PHYs that are not connected to the real MDIO bus.
63
64           Currently tested with mpc866ads and mpc8349e-mitx.
65
66 config RUST_PHYLIB_ABSTRACTIONS
67         bool "Rust PHYLIB abstractions support"
68         depends on RUST
69         depends on PHYLIB=y
70         help
71           Adds support needed for PHY drivers written in Rust. It provides
72           a wrapper around the C phylib core.
73
74 config SFP
75         tristate "SFP cage support"
76         depends on I2C && PHYLINK
77         depends on HWMON || HWMON=n
78         select MDIO_I2C
79
80 comment "MII PHY device drivers"
81
82 config AIR_EN8811H_PHY
83         tristate "Airoha EN8811H 2.5 Gigabit PHY"
84         help
85           Currently supports the Airoha EN8811H PHY.
86
87 config AMD_PHY
88         tristate "AMD and Altima PHYs"
89         help
90           Currently supports the AMD am79c874 and Altima AC101L.
91
92 config MESON_GXL_PHY
93         tristate "Amlogic Meson GXL Internal PHY"
94         depends on ARCH_MESON || COMPILE_TEST
95         select SMSC_PHY
96         help
97           Currently has a driver for the Amlogic Meson GXL Internal PHY
98
99 config ADIN_PHY
100         tristate "Analog Devices Industrial Ethernet PHYs"
101         help
102           Adds support for the Analog Devices Industrial Ethernet PHYs.
103           Currently supports the:
104           - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
105           - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
106             Ethernet PHY
107
108 config ADIN1100_PHY
109         tristate "Analog Devices Industrial Ethernet T1L PHYs"
110         help
111           Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
112           Currently supports the:
113           - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
114
115 config AMCC_QT2025_PHY
116         tristate "AMCC QT2025 PHY"
117         depends on RUST_PHYLIB_ABSTRACTIONS
118         depends on RUST_FW_LOADER_ABSTRACTIONS
119         help
120           Adds support for the Applied Micro Circuits Corporation QT2025 PHY.
121
122 source "drivers/net/phy/aquantia/Kconfig"
123
124 config AX88796B_PHY
125         tristate "Asix PHYs"
126         help
127           Currently supports the Asix Electronics PHY found in the X-Surf 100
128           AX88796B package.
129
130 config AX88796B_RUST_PHY
131         bool "Rust reference driver for Asix PHYs"
132         depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY
133         help
134           Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).
135           The features are equivalent. It supports the Asix Electronics PHY
136           found in the X-Surf 100 AX88796B package.
137
138 config BROADCOM_PHY
139         tristate "Broadcom 54XX PHYs"
140         select BCM_NET_PHYLIB
141         select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
142         depends on PTP_1588_CLOCK_OPTIONAL
143         help
144           Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
145           BCM5481, BCM54810 and BCM5482 PHYs.
146
147 config BCM54140_PHY
148         tristate "Broadcom BCM54140 PHY"
149         depends on HWMON || HWMON=n
150         select BCM_NET_PHYLIB
151         help
152           Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
153
154           This driver also supports the hardware monitoring of this PHY and
155           exposes voltage and temperature sensors.
156
157 config BCM63XX_PHY
158         tristate "Broadcom 63xx SOCs internal PHY"
159         depends on BCM63XX || COMPILE_TEST
160         select BCM_NET_PHYLIB
161         help
162           Currently supports the 6348 and 6358 PHYs.
163
164 config BCM7XXX_PHY
165         tristate "Broadcom 7xxx SOCs internal PHYs"
166         select BCM_NET_PHYLIB
167         help
168           Currently supports the BCM7366, BCM7439, BCM7445, and
169           40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
170
171 config BCM84881_PHY
172         tristate "Broadcom BCM84881 PHY"
173         help
174           Support the Broadcom BCM84881 PHY.
175
176 config BCM87XX_PHY
177         tristate "Broadcom BCM8706 and BCM8727 PHYs"
178         help
179           Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
180
181 config BCM_CYGNUS_PHY
182         tristate "Broadcom Cygnus/Omega SoC internal PHY"
183         depends on ARCH_BCM_IPROC || COMPILE_TEST
184         depends on MDIO_BCM_IPROC
185         select BCM_NET_PHYLIB
186         help
187           This PHY driver is for the 1G internal PHYs of the Broadcom
188           Cygnus and Omega Family SoC.
189
190           Currently supports internal PHY's used in the BCM11300,
191           BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
192           BCM58303 & BCM58305 Broadcom Cygnus SoCs.
193
194 config BCM_NET_PHYLIB
195         tristate
196
197 config BCM_NET_PHYPTP
198         tristate
199
200 config CICADA_PHY
201         tristate "Cicada PHYs"
202         help
203           Currently supports the cis8204
204
205 config CORTINA_PHY
206         tristate "Cortina EDC CDR 10G Ethernet PHY"
207         help
208           Currently supports the CS4340 phy.
209
210 config DAVICOM_PHY
211         tristate "Davicom PHYs"
212         help
213           Currently supports dm9161e and dm9131
214
215 config ICPLUS_PHY
216         tristate "ICPlus PHYs"
217         help
218           Currently supports the IP175C and IP1001 PHYs.
219
220 config LXT_PHY
221         tristate "Intel LXT PHYs"
222         help
223           Currently supports the lxt970, lxt971
224
225 config INTEL_XWAY_PHY
226         tristate "Intel XWAY PHYs"
227         help
228           Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
229           These PHYs are marked as standalone chips under the names
230           PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
231           SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
232
233 config LSI_ET1011C_PHY
234         tristate "LSI ET1011C PHY"
235         help
236           Supports the LSI ET1011C PHY.
237
238 config MARVELL_PHY
239         tristate "Marvell Alaska PHYs"
240         help
241           Currently has a driver for the 88E1XXX
242
243 config MARVELL_10G_PHY
244         tristate "Marvell Alaska 10Gbit PHYs"
245         help
246           Support for the Marvell Alaska MV88X3310 and compatible PHYs.
247
248 config MARVELL_88Q2XXX_PHY
249         tristate "Marvell 88Q2XXX PHY"
250         depends on HWMON || HWMON=n
251         help
252           Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
253           PHYs.
254
255 config MARVELL_88X2222_PHY
256         tristate "Marvell 88X2222 PHY"
257         help
258           Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
259           Transceiver.
260
261 config MAXLINEAR_GPHY
262         tristate "Maxlinear Ethernet PHYs"
263         select POLYNOMIAL if HWMON
264         depends on HWMON || HWMON=n
265         help
266           Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
267           GPY241, GPY245 PHYs.
268
269 source "drivers/net/phy/mediatek/Kconfig"
270
271 config MICREL_PHY
272         tristate "Micrel PHYs"
273         depends on PTP_1588_CLOCK_OPTIONAL
274         help
275           Supports the KSZ9021, VSC8201, KS8001 PHYs.
276
277 config MICROCHIP_T1S_PHY
278         tristate "Microchip 10BASE-T1S Ethernet PHYs"
279         help
280           Currently supports the LAN8670/1/2 Rev.B1/C1/C2 and
281           LAN8650/1 Rev.B0/B1 Internal PHYs.
282
283 config MICROCHIP_PHY
284         tristate "Microchip PHYs"
285         help
286           Supports the LAN88XX PHYs.
287
288 config MICROCHIP_T1_PHY
289         tristate "Microchip T1 PHYs"
290         select MICROCHIP_PHY_RDS_PTP if NETWORK_PHY_TIMESTAMPING
291         depends on PTP_1588_CLOCK_OPTIONAL
292         help
293           Supports the LAN8XXX PHYs.
294
295 config MICROCHIP_PHY_RDS_PTP
296         tristate
297         help
298           Currently supports LAN887X T1 PHY
299
300 config MICROSEMI_PHY
301         tristate "Microsemi PHYs"
302         depends on MACSEC || MACSEC=n
303         depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
304         select CRYPTO_LIB_AES if MACSEC
305         help
306           Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
307
308 config MOTORCOMM_PHY
309         tristate "Motorcomm PHYs"
310         help
311           Enables support for Motorcomm network PHYs.
312           Currently supports YT85xx Gigabit Ethernet PHYs.
313
314 config NATIONAL_PHY
315         tristate "National Semiconductor PHYs"
316         help
317           Currently supports the DP83865 PHY.
318
319 config NXP_CBTX_PHY
320         tristate "NXP 100BASE-TX PHYs"
321         help
322           Support the 100BASE-TX PHY integrated on the SJA1110 automotive
323           switch family.
324
325 config NXP_C45_TJA11XX_PHY
326         tristate "NXP C45 TJA11XX PHYs"
327         depends on PTP_1588_CLOCK_OPTIONAL
328         depends on MACSEC || !MACSEC
329         help
330           Enable support for NXP C45 TJA11XX PHYs.
331           Currently supports the TJA1103, TJA1104 and TJA1120 PHYs.
332
333 config NXP_TJA11XX_PHY
334         tristate "NXP TJA11xx PHYs support"
335         depends on HWMON
336         help
337           Currently supports the NXP TJA1100 and TJA1101 PHY.
338
339 config NCN26000_PHY
340         tristate "Onsemi 10BASE-T1S Ethernet PHY"
341         help
342           Adds support for the onsemi 10BASE-T1S Ethernet PHY.
343           Currently supports the NCN26000 10BASE-T1S Industrial PHY
344           with MII interface.
345
346 source "drivers/net/phy/qcom/Kconfig"
347
348 config QSEMI_PHY
349         tristate "Quality Semiconductor PHYs"
350         help
351           Currently supports the qs6612
352
353 source "drivers/net/phy/realtek/Kconfig"
354
355 config RENESAS_PHY
356         tristate "Renesas PHYs"
357         help
358           Supports the Renesas PHYs uPD60620 and uPD60620A.
359
360 config ROCKCHIP_PHY
361         tristate "Rockchip Ethernet PHYs"
362         help
363           Currently supports the integrated Ethernet PHY.
364
365 config SMSC_PHY
366         tristate "SMSC PHYs"
367         select CRC16
368         help
369           Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
370
371 config STE10XP
372         tristate "STMicroelectronics STe10Xp PHYs"
373         help
374           This is the driver for the STe100p and STe101p PHYs.
375
376 config TERANETICS_PHY
377         tristate "Teranetics PHYs"
378         help
379           Currently supports the Teranetics TN2020
380
381 config 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
387 config DP83TC811_PHY
388         tristate "Texas Instruments DP83TC811 PHY"
389         help
390           Supports the DP83TC811 PHY.
391
392 config DP83848_PHY
393         tristate "Texas Instruments DP83848 PHY"
394         help
395           Supports the DP83848 PHY.
396
397 config DP83867_PHY
398         tristate "Texas Instruments DP83867 Gigabit PHY"
399         help
400           Currently supports the DP83867 PHY.
401
402 config 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
408 config 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
414 config DP83TG720_PHY
415         tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"
416         select OPEN_ALLIANCE_HELPERS
417         help
418           The DP83TG720S-Q1 is an automotive Ethernet physical layer
419           transceiver compliant with IEEE 802.3bp and Open Alliance
420           standards. It supports key functions necessary for
421           transmitting and receiving data over both unshielded and
422           shielded single twisted-pair cables. This device offers
423           flexible xMII interface options, including support for both
424           RGMII and SGMII MAC interfaces. It's suitable for applications
425           requiring high-speed data transmission in automotive
426           networking environments.
427
428 config VITESSE_PHY
429         tristate "Vitesse PHYs"
430         help
431           Currently supports the vsc8244
432
433 config XILINX_GMII2RGMII
434         tristate "Xilinx GMII2RGMII converter driver"
435         help
436           This driver support xilinx GMII to RGMII IP core it provides
437           the Reduced Gigabit Media Independent Interface(RGMII) between
438           Ethernet physical media devices and the Gigabit Ethernet controller.
439
440 endif # PHYLIB
441
442 config MICREL_KS8995MA
443         tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
444         depends on SPI
This page took 0.057551 seconds and 4 git commands to generate.