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