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