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	help
108	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
109	  BCM5481, BCM54810 and BCM5482 PHYs.
110
111config BCM54140_PHY
112	tristate "Broadcom BCM54140 PHY"
113	depends on PHYLIB
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	depends on PHYLIB
139	help
140	  Support the Broadcom BCM84881 PHY.
141
142config BCM87XX_PHY
143	tristate "Broadcom BCM8706 and BCM8727 PHYs"
144	help
145	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
146
147config BCM_CYGNUS_PHY
148	tristate "Broadcom Cygnus/Omega SoC internal PHY"
149	depends on ARCH_BCM_IPROC || COMPILE_TEST
150	depends on MDIO_BCM_IPROC
151	select BCM_NET_PHYLIB
152	help
153	  This PHY driver is for the 1G internal PHYs of the Broadcom
154	  Cygnus and Omega Family SoC.
155
156	  Currently supports internal PHY's used in the BCM11300,
157	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
158	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
159
160config BCM_NET_PHYLIB
161	tristate
162
163config CICADA_PHY
164	tristate "Cicada PHYs"
165	help
166	  Currently supports the cis8204
167
168config CORTINA_PHY
169	tristate "Cortina EDC CDR 10G Ethernet PHY"
170	help
171	  Currently supports the CS4340 phy.
172
173config DAVICOM_PHY
174	tristate "Davicom PHYs"
175	help
176	  Currently supports dm9161e and dm9131
177
178config ICPLUS_PHY
179	tristate "ICPlus PHYs"
180	help
181	  Currently supports the IP175C and IP1001 PHYs.
182
183config LXT_PHY
184	tristate "Intel LXT PHYs"
185	help
186	  Currently supports the lxt970, lxt971
187
188config INTEL_XWAY_PHY
189	tristate "Intel XWAY PHYs"
190	help
191	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
192	  These PHYs are marked as standalone chips under the names
193	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
194	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
195
196config LSI_ET1011C_PHY
197	tristate "LSI ET1011C PHY"
198	help
199	  Supports the LSI ET1011C PHY.
200
201config MARVELL_PHY
202	tristate "Marvell Alaska PHYs"
203	help
204	  Currently has a driver for the 88E1XXX
205
206config MARVELL_10G_PHY
207	tristate "Marvell Alaska 10Gbit PHYs"
208	help
209	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
210
211config MARVELL_88X2222_PHY
212	tristate "Marvell 88X2222 PHY"
213	help
214	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
215	  Transceiver.
216
217config MAXLINEAR_GPHY
218	tristate "Maxlinear Ethernet PHYs"
219	help
220	  Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
221	  GPY241, GPY245 PHYs.
222
223config MEDIATEK_GE_PHY
224	tristate "MediaTek Gigabit Ethernet PHYs"
225	help
226	  Supports the MediaTek Gigabit Ethernet PHYs.
227
228config MICREL_PHY
229	tristate "Micrel PHYs"
230	depends on PTP_1588_CLOCK_OPTIONAL
231	help
232	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
233
234config MICROCHIP_PHY
235	tristate "Microchip PHYs"
236	help
237	  Supports the LAN88XX PHYs.
238
239config MICROCHIP_T1_PHY
240	tristate "Microchip T1 PHYs"
241	help
242	  Supports the LAN87XX PHYs.
243
244config MICROSEMI_PHY
245	tristate "Microsemi PHYs"
246	depends on MACSEC || MACSEC=n
247	depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING
248	select CRYPTO_LIB_AES if MACSEC
249	help
250	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
251
252config MOTORCOMM_PHY
253	tristate "Motorcomm PHYs"
254	help
255	  Enables support for Motorcomm network PHYs.
256	  Currently supports the YT8511 gigabit PHY.
257
258config NATIONAL_PHY
259	tristate "National Semiconductor PHYs"
260	help
261	  Currently supports the DP83865 PHY.
262
263config NXP_C45_TJA11XX_PHY
264	tristate "NXP C45 TJA11XX PHYs"
265	depends on PTP_1588_CLOCK_OPTIONAL
266	help
267	  Enable support for NXP C45 TJA11XX PHYs.
268	  Currently supports only the TJA1103 PHY.
269
270config NXP_TJA11XX_PHY
271	tristate "NXP TJA11xx PHYs support"
272	depends on HWMON
273	help
274	  Currently supports the NXP TJA1100 and TJA1101 PHY.
275
276config AT803X_PHY
277	tristate "Qualcomm Atheros AR803X PHYs and QCA833x PHYs"
278	depends on REGULATOR
279	help
280	  Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
281	  QCA8337(Internal qca8k PHY) model
282
283config QSEMI_PHY
284	tristate "Quality Semiconductor PHYs"
285	help
286	  Currently supports the qs6612
287
288config REALTEK_PHY
289	tristate "Realtek PHYs"
290	help
291	  Supports the Realtek 821x PHY.
292
293config RENESAS_PHY
294	tristate "Renesas PHYs"
295	help
296	  Supports the Renesas PHYs uPD60620 and uPD60620A.
297
298config ROCKCHIP_PHY
299	tristate "Rockchip Ethernet PHYs"
300	help
301	  Currently supports the integrated Ethernet PHY.
302
303config SMSC_PHY
304	tristate "SMSC PHYs"
305	help
306	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
307
308config STE10XP
309	tristate "STMicroelectronics STe10Xp PHYs"
310	help
311	  This is the driver for the STe100p and STe101p PHYs.
312
313config TERANETICS_PHY
314	tristate "Teranetics PHYs"
315	help
316	  Currently supports the Teranetics TN2020
317
318config DP83822_PHY
319	tristate "Texas Instruments DP83822/825/826 PHYs"
320	help
321	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
322	  DP83826C and DP83826NC PHYs.
323
324config DP83TC811_PHY
325	tristate "Texas Instruments DP83TC811 PHY"
326	help
327	  Supports the DP83TC811 PHY.
328
329config DP83848_PHY
330	tristate "Texas Instruments DP83848 PHY"
331	help
332	  Supports the DP83848 PHY.
333
334config DP83867_PHY
335	tristate "Texas Instruments DP83867 Gigabit PHY"
336	help
337	  Currently supports the DP83867 PHY.
338
339config DP83869_PHY
340	tristate "Texas Instruments DP83869 Gigabit PHY"
341	help
342	  Currently supports the DP83869 PHY.  This PHY supports copper and
343	  fiber connections.
344
345config DP83TD510_PHY
346	tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"
347	help
348	  Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports
349	  a 10M single pair Ethernet connection for up to 1000 meter cable.
350
351config VITESSE_PHY
352	tristate "Vitesse PHYs"
353	help
354	  Currently supports the vsc8244
355
356config XILINX_GMII2RGMII
357	tristate "Xilinx GMII2RGMII converter driver"
358	help
359	  This driver support xilinx GMII to RGMII IP core it provides
360	  the Reduced Gigabit Media Independent Interface(RGMII) between
361	  Ethernet physical media devices and the Gigabit Ethernet controller.
362
363endif # PHYLIB
364
365config MICREL_KS8995MA
366	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
367	depends on SPI
368