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
47
48config FIXED_PHY
49	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
50	depends on PHYLIB
51	select SWPHY
52	help
53	  Adds the platform "fixed" MDIO Bus to cover the boards that use
54	  PHYs that are not connected to the real MDIO bus.
55
56	  Currently tested with mpc866ads and mpc8349e-mitx.
57
58config SFP
59	tristate "SFP cage support"
60	depends on I2C && PHYLINK
61	depends on HWMON || HWMON=n
62	select MDIO_I2C
63
64comment "MII PHY device drivers"
65
66config AMD_PHY
67	tristate "AMD PHYs"
68	help
69	  Currently supports the am79c874
70
71config MESON_GXL_PHY
72	tristate "Amlogic Meson GXL Internal PHY"
73	depends on ARCH_MESON || COMPILE_TEST
74	help
75	  Currently has a driver for the Amlogic Meson GXL Internal PHY
76
77config ADIN_PHY
78	tristate "Analog Devices Industrial Ethernet PHYs"
79	help
80	  Adds support for the Analog Devices Industrial Ethernet PHYs.
81	  Currently supports the:
82	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
83	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
84	    Ethernet PHY
85
86config ADIN1100_PHY
87	tristate "Analog Devices Industrial Ethernet T1L PHYs"
88	help
89	  Adds support for the Analog Devices Industrial T1L Ethernet PHYs.
90	  Currently supports the:
91	  - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY
92
93config AQUANTIA_PHY
94	tristate "Aquantia PHYs"
95	help
96	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
97
98config AX88796B_PHY
99	tristate "Asix PHYs"
100	help
101	  Currently supports the Asix Electronics PHY found in the X-Surf 100
102	  AX88796B package.
103
104config BROADCOM_PHY
105	tristate "Broadcom 54XX PHYs"
106	select BCM_NET_PHYLIB
107	select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING
108	depends on PTP_1588_CLOCK_OPTIONAL
109	help
110	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
111	  BCM5481, BCM54810 and BCM5482 PHYs.
112
113config BCM54140_PHY
114	tristate "Broadcom BCM54140 PHY"
115	depends on PHYLIB
116	depends on HWMON || HWMON=n
117	select BCM_NET_PHYLIB
118	help
119	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
120
121	  This driver also supports the hardware monitoring of this PHY and
122	  exposes voltage and temperature sensors.
123
124config BCM63XX_PHY
125	tristate "Broadcom 63xx SOCs internal PHY"
126	depends on BCM63XX || COMPILE_TEST
127	select BCM_NET_PHYLIB
128	help
129	  Currently supports the 6348 and 6358 PHYs.
130
131config BCM7XXX_PHY
132	tristate "Broadcom 7xxx SOCs internal PHYs"
133	select BCM_NET_PHYLIB
134	help
135	  Currently supports the BCM7366, BCM7439, BCM7445, and
136	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
137
138config BCM84881_PHY
139	tristate "Broadcom BCM84881 PHY"
140	depends on PHYLIB
141	help
142	  Support the Broadcom BCM84881 PHY.
143
144config BCM87XX_PHY
145	tristate "Broadcom BCM8706 and BCM8727 PHYs"
146	help
147	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
148
149config BCM_CYGNUS_PHY
150	tristate "Broadcom Cygnus/Omega SoC internal PHY"
151	depends on ARCH_BCM_IPROC || COMPILE_TEST
152	depends on MDIO_BCM_IPROC
153	select BCM_NET_PHYLIB
154	help
155	  This PHY driver is for the 1G internal PHYs of the Broadcom
156	  Cygnus and Omega Family SoC.
157
158	  Currently supports internal PHY's used in the BCM11300,
159	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
160	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
161
162config BCM_NET_PHYLIB
163	tristate
164
165config BCM_NET_PHYPTP
166	tristate
167
168config CICADA_PHY
169	tristate "Cicada PHYs"
170	help
171	  Currently supports the cis8204
172
173config CORTINA_PHY
174	tristate "Cortina EDC CDR 10G Ethernet PHY"
175	help
176	  Currently supports the CS4340 phy.
177
178config DAVICOM_PHY
179	tristate "Davicom PHYs"
180	help
181	  Currently supports dm9161e and dm9131
182
183config ICPLUS_PHY
184	tristate "ICPlus PHYs"
185	help
186	  Currently supports the IP175C and IP1001 PHYs.
187
188config LXT_PHY
189	tristate "Intel LXT PHYs"
190	help
191	  Currently supports the lxt970, lxt971
192
193config INTEL_XWAY_PHY
194	tristate "Intel XWAY PHYs"
195	help
196	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
197	  These PHYs are marked as standalone chips under the names
198	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
199	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
200
201config LSI_ET1011C_PHY
202	tristate "LSI ET1011C PHY"
203	help
204	  Supports the LSI ET1011C PHY.
205
206config MARVELL_PHY
207	tristate "Marvell Alaska PHYs"
208	help
209	  Currently has a driver for the 88E1XXX
210
211config MARVELL_10G_PHY
212	tristate "Marvell Alaska 10Gbit PHYs"
213	help
214	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
215
216config MARVELL_88X2222_PHY
217	tristate "Marvell 88X2222 PHY"
218	help
219	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
220	  Transceiver.
221
222config MAXLINEAR_GPHY
223	tristate "Maxlinear Ethernet PHYs"
224	select POLYNOMIAL if HWMON
225	depends on HWMON || HWMON=n
226	help
227	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
228	  GPY241, GPY245 PHYs.
229
230config MEDIATEK_GE_PHY
231	tristate "MediaTek Gigabit Ethernet PHYs"
232	help
233	  Supports the MediaTek Gigabit Ethernet PHYs.
234
235config MICREL_PHY
236	tristate "Micrel PHYs"
237	depends on PTP_1588_CLOCK_OPTIONAL
238	help
239	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
240
241config MICROCHIP_PHY
242	tristate "Microchip PHYs"
243	help
244	  Supports the LAN88XX PHYs.
245
246config MICROCHIP_T1_PHY
247	tristate "Microchip T1 PHYs"
248	help
249	  Supports the LAN87XX PHYs.
250
251config MICROSEMI_PHY
252	tristate "Microsemi PHYs"
253	depends on MACSEC || MACSEC=n
254	depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
255	select CRYPTO_LIB_AES if MACSEC
256	help
257	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
258
259config MOTORCOMM_PHY
260	tristate "Motorcomm PHYs"
261	help
262	  Enables support for Motorcomm network PHYs.
263	  Currently supports the YT8511 gigabit PHY.
264
265config NATIONAL_PHY
266	tristate "National Semiconductor PHYs"
267	help
268	  Currently supports the DP83865 PHY.
269
270config NXP_C45_TJA11XX_PHY
271	tristate "NXP C45 TJA11XX PHYs"
272	depends on PTP_1588_CLOCK_OPTIONAL
273	help
274	  Enable support for NXP C45 TJA11XX PHYs.
275	  Currently supports only the TJA1103 PHY.
276
277config NXP_TJA11XX_PHY
278	tristate "NXP TJA11xx PHYs support"
279	depends on HWMON
280	help
281	  Currently supports the NXP TJA1100 and TJA1101 PHY.
282
283config AT803X_PHY
284	tristate "Qualcomm Atheros AR803X PHYs and QCA833x PHYs"
285	depends on REGULATOR
286	help
287	  Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
288	  QCA8337(Internal qca8k PHY) model
289
290config QSEMI_PHY
291	tristate "Quality Semiconductor PHYs"
292	help
293	  Currently supports the qs6612
294
295config REALTEK_PHY
296	tristate "Realtek PHYs"
297	help
298	  Supports the Realtek 821x PHY.
299
300config RENESAS_PHY
301	tristate "Renesas PHYs"
302	help
303	  Supports the Renesas PHYs uPD60620 and uPD60620A.
304
305config ROCKCHIP_PHY
306	tristate "Rockchip Ethernet PHYs"
307	help
308	  Currently supports the integrated Ethernet PHY.
309
310config SMSC_PHY
311	tristate "SMSC PHYs"
312	help
313	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
314
315config STE10XP
316	tristate "STMicroelectronics STe10Xp PHYs"
317	help
318	  This is the driver for the STe100p and STe101p PHYs.
319
320config TERANETICS_PHY
321	tristate "Teranetics PHYs"
322	help
323	  Currently supports the Teranetics TN2020
324
325config DP83822_PHY
326	tristate "Texas Instruments DP83822/825/826 PHYs"
327	help
328	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
329	  DP83826C and DP83826NC PHYs.
330
331config DP83TC811_PHY
332	tristate "Texas Instruments DP83TC811 PHY"
333	help
334	  Supports the DP83TC811 PHY.
335
336config DP83848_PHY
337	tristate "Texas Instruments DP83848 PHY"
338	help
339	  Supports the DP83848 PHY.
340
341config DP83867_PHY
342	tristate "Texas Instruments DP83867 Gigabit PHY"
343	help
344	  Currently supports the DP83867 PHY.
345
346config DP83869_PHY
347	tristate "Texas Instruments DP83869 Gigabit PHY"
348	help
349	  Currently supports the DP83869 PHY.  This PHY supports copper and
350	  fiber connections.
351
352config DP83TD510_PHY
353	tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
354	help
355	  Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
356	  a 10M single pair Ethernet connection for up to 1000 meter cable.
357
358config VITESSE_PHY
359	tristate "Vitesse PHYs"
360	help
361	  Currently supports the vsc8244
362
363config XILINX_GMII2RGMII
364	tristate "Xilinx GMII2RGMII converter driver"
365	help
366	  This driver support xilinx GMII to RGMII IP core it provides
367	  the Reduced Gigabit Media Independent Interface(RGMII) between
368	  Ethernet physical media devices and the Gigabit Ethernet controller.
369
370endif # PHYLIB
371
372config MICREL_KS8995MA
373	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
374	depends on SPI
375