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