GNU Linux-libre 6.8.7-gnu
[releases.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 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
54 config 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
63 config 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
71 config SFP
72         tristate "SFP cage support"
73         depends on I2C && PHYLINK
74         depends on HWMON || HWMON=n
75         select MDIO_I2C
76
77 comment "MII PHY device drivers"
78
79 config AMD_PHY
80         tristate "AMD and Altima PHYs"
81         help
82           Currently supports the AMD am79c874 and Altima AC101L.
83
84 config 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
91 config 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
100 config 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
107 source "drivers/net/phy/aquantia/Kconfig"
108
109 config 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
115 config 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
123 config 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
132 config 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
142 config 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
149 config 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
156 config BCM84881_PHY
157         tristate "Broadcom BCM84881 PHY"
158         help
159           Support the Broadcom BCM84881 PHY.
160
161 config BCM87XX_PHY
162         tristate "Broadcom BCM8706 and BCM8727 PHYs"
163         help
164           Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
165
166 config 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
179 config BCM_NET_PHYLIB
180         tristate
181
182 config BCM_NET_PHYPTP
183         tristate
184
185 config CICADA_PHY
186         tristate "Cicada PHYs"
187         help
188           Currently supports the cis8204
189
190 config CORTINA_PHY
191         tristate "Cortina EDC CDR 10G Ethernet PHY"
192         help
193           Currently supports the CS4340 phy.
194
195 config DAVICOM_PHY
196         tristate "Davicom PHYs"
197         help
198           Currently supports dm9161e and dm9131
199
200 config ICPLUS_PHY
201         tristate "ICPlus PHYs"
202         help
203           Currently supports the IP175C and IP1001 PHYs.
204
205 config LXT_PHY
206         tristate "Intel LXT PHYs"
207         help
208           Currently supports the lxt970, lxt971
209
210 config 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
218 config LSI_ET1011C_PHY
219         tristate "LSI ET1011C PHY"
220         help
221           Supports the LSI ET1011C PHY.
222
223 config MARVELL_PHY
224         tristate "Marvell Alaska PHYs"
225         help
226           Currently has a driver for the 88E1XXX
227
228 config MARVELL_10G_PHY
229         tristate "Marvell Alaska 10Gbit PHYs"
230         help
231           Support for the Marvell Alaska MV88X3310 and compatible PHYs.
232
233 config MARVELL_88Q2XXX_PHY
234         tristate "Marvell 88Q2XXX PHY"
235         help
236           Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet
237           PHYs.
238
239 config MARVELL_88X2222_PHY
240         tristate "Marvell 88X2222 PHY"
241         help
242           Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
243           Transceiver.
244
245 config 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
253 config MEDIATEK_GE_PHY
254         tristate "MediaTek Gigabit Ethernet PHYs"
255         help
256           Supports the MediaTek Gigabit Ethernet PHYs.
257
258 config 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
270 config MICREL_PHY
271         tristate "Micrel PHYs"
272         depends on PTP_1588_CLOCK_OPTIONAL
273         help
274           Supports the KSZ9021, VSC8201, KS8001 PHYs.
275
276 config 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
282 config MICROCHIP_PHY
283         tristate "Microchip PHYs"
284         help
285           Supports the LAN88XX PHYs.
286
287 config MICROCHIP_T1_PHY
288         tristate "Microchip T1 PHYs"
289         help
290           Supports the LAN87XX PHYs.
291
292 config 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
300 config MOTORCOMM_PHY
301         tristate "Motorcomm PHYs"
302         help
303           Enables support for Motorcomm network PHYs.
304           Currently supports YT85xx Gigabit Ethernet PHYs.
305
306 config NATIONAL_PHY
307         tristate "National Semiconductor PHYs"
308         help
309           Currently supports the DP83865 PHY.
310
311 config 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
317 config 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
325 config 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
331 config 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
338 config 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
345 config QSEMI_PHY
346         tristate "Quality Semiconductor PHYs"
347         help
348           Currently supports the qs6612
349
350 config REALTEK_PHY
351         tristate "Realtek PHYs"
352         help
353           Supports the Realtek 821x PHY.
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         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
427 config VITESSE_PHY
428         tristate "Vitesse PHYs"
429         help
430           Currently supports the vsc8244
431
432 config 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
439 endif # PHYLIB
440
441 config MICREL_KS8995MA
442         tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
443         depends on SPI