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