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