xref: /OK3568_Linux_fs/kernel/drivers/net/phy/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# PHY Layer Configuration
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig PHYLINK
7*4882a593Smuzhiyun	tristate
8*4882a593Smuzhiyun	depends on NETDEVICES
9*4882a593Smuzhiyun	select PHYLIB
10*4882a593Smuzhiyun	select SWPHY
11*4882a593Smuzhiyun	help
12*4882a593Smuzhiyun	  PHYlink models the link between the PHY and MAC, allowing fixed
13*4882a593Smuzhiyun	  configuration links, PHYs, and Serdes links with MAC level
14*4882a593Smuzhiyun	  autonegotiation modes.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunmenuconfig PHYLIB
17*4882a593Smuzhiyun	tristate "PHY Device support and infrastructure"
18*4882a593Smuzhiyun	depends on NETDEVICES
19*4882a593Smuzhiyun	select MDIO_DEVICE
20*4882a593Smuzhiyun	select MDIO_DEVRES
21*4882a593Smuzhiyun	help
22*4882a593Smuzhiyun	  Ethernet controllers are usually attached to PHY
23*4882a593Smuzhiyun	  devices.  This option provides infrastructure for
24*4882a593Smuzhiyun	  managing PHY devices.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunif PHYLIB
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig SWPHY
29*4882a593Smuzhiyun	bool
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunconfig LED_TRIGGER_PHY
32*4882a593Smuzhiyun	bool "Support LED triggers for tracking link state"
33*4882a593Smuzhiyun	depends on LEDS_TRIGGERS
34*4882a593Smuzhiyun	help
35*4882a593Smuzhiyun	  Adds support for a set of LED trigger events per-PHY.  Link
36*4882a593Smuzhiyun	  state change will trigger the events, for consumption by an
37*4882a593Smuzhiyun	  LED class driver.  There are triggers for each link speed currently
38*4882a593Smuzhiyun	  supported by the PHY and also a one common "link" trigger as a
39*4882a593Smuzhiyun	  logical-or of all the link speed ones.
40*4882a593Smuzhiyun	  All these triggers are named according to the following pattern:
41*4882a593Smuzhiyun	      <mii bus id>:<phy>:<speed>
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	  Where speed is in the form:
44*4882a593Smuzhiyun		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
45*4882a593Smuzhiyun		for any speed known to the PHY.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun
48*4882a593Smuzhiyunconfig FIXED_PHY
49*4882a593Smuzhiyun	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
50*4882a593Smuzhiyun	depends on PHYLIB
51*4882a593Smuzhiyun	select SWPHY
52*4882a593Smuzhiyun	help
53*4882a593Smuzhiyun	  Adds the platform "fixed" MDIO Bus to cover the boards that use
54*4882a593Smuzhiyun	  PHYs that are not connected to the real MDIO bus.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	  Currently tested with mpc866ads and mpc8349e-mitx.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyunconfig SFP
59*4882a593Smuzhiyun	tristate "SFP cage support"
60*4882a593Smuzhiyun	depends on I2C && PHYLINK
61*4882a593Smuzhiyun	depends on HWMON || HWMON=n
62*4882a593Smuzhiyun	select MDIO_I2C
63*4882a593Smuzhiyun
64*4882a593Smuzhiyuncomment "MII PHY device drivers"
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunconfig AMD_PHY
67*4882a593Smuzhiyun	tristate "AMD PHYs"
68*4882a593Smuzhiyun	help
69*4882a593Smuzhiyun	  Currently supports the am79c874
70*4882a593Smuzhiyun
71*4882a593Smuzhiyunconfig MESON_GXL_PHY
72*4882a593Smuzhiyun	tristate "Amlogic Meson GXL Internal PHY"
73*4882a593Smuzhiyun	depends on ARCH_MESON || COMPILE_TEST
74*4882a593Smuzhiyun	help
75*4882a593Smuzhiyun	  Currently has a driver for the Amlogic Meson GXL Internal PHY
76*4882a593Smuzhiyun
77*4882a593Smuzhiyunconfig ADIN_PHY
78*4882a593Smuzhiyun	tristate "Analog Devices Industrial Ethernet PHYs"
79*4882a593Smuzhiyun	help
80*4882a593Smuzhiyun	  Adds support for the Analog Devices Industrial Ethernet PHYs.
81*4882a593Smuzhiyun	  Currently supports the:
82*4882a593Smuzhiyun	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
83*4882a593Smuzhiyun	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
84*4882a593Smuzhiyun	    Ethernet PHY
85*4882a593Smuzhiyun
86*4882a593Smuzhiyunconfig AQUANTIA_PHY
87*4882a593Smuzhiyun	tristate "Aquantia PHYs"
88*4882a593Smuzhiyun	help
89*4882a593Smuzhiyun	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunconfig AX88796B_PHY
92*4882a593Smuzhiyun	tristate "Asix PHYs"
93*4882a593Smuzhiyun	help
94*4882a593Smuzhiyun	  Currently supports the Asix Electronics PHY found in the X-Surf 100
95*4882a593Smuzhiyun	  AX88796B package.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyunconfig BROADCOM_PHY
98*4882a593Smuzhiyun	tristate "Broadcom 54XX PHYs"
99*4882a593Smuzhiyun	select BCM_NET_PHYLIB
100*4882a593Smuzhiyun	help
101*4882a593Smuzhiyun	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
102*4882a593Smuzhiyun	  BCM5481, BCM54810 and BCM5482 PHYs.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyunconfig BCM54140_PHY
105*4882a593Smuzhiyun	tristate "Broadcom BCM54140 PHY"
106*4882a593Smuzhiyun	depends on PHYLIB
107*4882a593Smuzhiyun	depends on HWMON || HWMON=n
108*4882a593Smuzhiyun	select BCM_NET_PHYLIB
109*4882a593Smuzhiyun	help
110*4882a593Smuzhiyun	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	  This driver also supports the hardware monitoring of this PHY and
113*4882a593Smuzhiyun	  exposes voltage and temperature sensors.
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunconfig BCM63XX_PHY
116*4882a593Smuzhiyun	tristate "Broadcom 63xx SOCs internal PHY"
117*4882a593Smuzhiyun	depends on BCM63XX || COMPILE_TEST
118*4882a593Smuzhiyun	select BCM_NET_PHYLIB
119*4882a593Smuzhiyun	help
120*4882a593Smuzhiyun	  Currently supports the 6348 and 6358 PHYs.
121*4882a593Smuzhiyun
122*4882a593Smuzhiyunconfig BCM7XXX_PHY
123*4882a593Smuzhiyun	tristate "Broadcom 7xxx SOCs internal PHYs"
124*4882a593Smuzhiyun	select BCM_NET_PHYLIB
125*4882a593Smuzhiyun	help
126*4882a593Smuzhiyun	  Currently supports the BCM7366, BCM7439, BCM7445, and
127*4882a593Smuzhiyun	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig BCM84881_PHY
130*4882a593Smuzhiyun	tristate "Broadcom BCM84881 PHY"
131*4882a593Smuzhiyun	depends on PHYLIB
132*4882a593Smuzhiyun	help
133*4882a593Smuzhiyun	  Support the Broadcom BCM84881 PHY.
134*4882a593Smuzhiyun
135*4882a593Smuzhiyunconfig BCM87XX_PHY
136*4882a593Smuzhiyun	tristate "Broadcom BCM8706 and BCM8727 PHYs"
137*4882a593Smuzhiyun	help
138*4882a593Smuzhiyun	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunconfig BCM_CYGNUS_PHY
141*4882a593Smuzhiyun	tristate "Broadcom Cygnus/Omega SoC internal PHY"
142*4882a593Smuzhiyun	depends on ARCH_BCM_IPROC || COMPILE_TEST
143*4882a593Smuzhiyun	depends on MDIO_BCM_IPROC
144*4882a593Smuzhiyun	select BCM_NET_PHYLIB
145*4882a593Smuzhiyun	help
146*4882a593Smuzhiyun	  This PHY driver is for the 1G internal PHYs of the Broadcom
147*4882a593Smuzhiyun	  Cygnus and Omega Family SoC.
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	  Currently supports internal PHY's used in the BCM11300,
150*4882a593Smuzhiyun	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
151*4882a593Smuzhiyun	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
152*4882a593Smuzhiyun
153*4882a593Smuzhiyunconfig BCM_NET_PHYLIB
154*4882a593Smuzhiyun	tristate
155*4882a593Smuzhiyun
156*4882a593Smuzhiyunconfig CICADA_PHY
157*4882a593Smuzhiyun	tristate "Cicada PHYs"
158*4882a593Smuzhiyun	help
159*4882a593Smuzhiyun	  Currently supports the cis8204
160*4882a593Smuzhiyun
161*4882a593Smuzhiyunconfig CORTINA_PHY
162*4882a593Smuzhiyun	tristate "Cortina EDC CDR 10G Ethernet PHY"
163*4882a593Smuzhiyun	help
164*4882a593Smuzhiyun	  Currently supports the CS4340 phy.
165*4882a593Smuzhiyun
166*4882a593Smuzhiyunconfig DAVICOM_PHY
167*4882a593Smuzhiyun	tristate "Davicom PHYs"
168*4882a593Smuzhiyun	help
169*4882a593Smuzhiyun	  Currently supports dm9161e and dm9131
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig ICPLUS_PHY
172*4882a593Smuzhiyun	tristate "ICPlus PHYs"
173*4882a593Smuzhiyun	help
174*4882a593Smuzhiyun	  Currently supports the IP175C and IP1001 PHYs.
175*4882a593Smuzhiyun
176*4882a593Smuzhiyunconfig LXT_PHY
177*4882a593Smuzhiyun	tristate "Intel LXT PHYs"
178*4882a593Smuzhiyun	help
179*4882a593Smuzhiyun	  Currently supports the lxt970, lxt971
180*4882a593Smuzhiyun
181*4882a593Smuzhiyunconfig INTEL_XWAY_PHY
182*4882a593Smuzhiyun	tristate "Intel XWAY PHYs"
183*4882a593Smuzhiyun	help
184*4882a593Smuzhiyun	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
185*4882a593Smuzhiyun	  These PHYs are marked as standalone chips under the names
186*4882a593Smuzhiyun	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
187*4882a593Smuzhiyun	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
188*4882a593Smuzhiyun
189*4882a593Smuzhiyunconfig LSI_ET1011C_PHY
190*4882a593Smuzhiyun	tristate "LSI ET1011C PHY"
191*4882a593Smuzhiyun	help
192*4882a593Smuzhiyun	  Supports the LSI ET1011C PHY.
193*4882a593Smuzhiyun
194*4882a593Smuzhiyunconfig MARVELL_PHY
195*4882a593Smuzhiyun	tristate "Marvell Alaska PHYs"
196*4882a593Smuzhiyun	help
197*4882a593Smuzhiyun	  Currently has a driver for the 88E1XXX
198*4882a593Smuzhiyun
199*4882a593Smuzhiyunconfig MARVELL_10G_PHY
200*4882a593Smuzhiyun	tristate "Marvell Alaska 10Gbit PHYs"
201*4882a593Smuzhiyun	help
202*4882a593Smuzhiyun	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
203*4882a593Smuzhiyun
204*4882a593Smuzhiyunconfig MICREL_PHY
205*4882a593Smuzhiyun	tristate "Micrel PHYs"
206*4882a593Smuzhiyun	help
207*4882a593Smuzhiyun	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig MICROCHIP_PHY
210*4882a593Smuzhiyun	tristate "Microchip PHYs"
211*4882a593Smuzhiyun	help
212*4882a593Smuzhiyun	  Supports the LAN88XX PHYs.
213*4882a593Smuzhiyun
214*4882a593Smuzhiyunconfig MICROCHIP_T1_PHY
215*4882a593Smuzhiyun	tristate "Microchip T1 PHYs"
216*4882a593Smuzhiyun	help
217*4882a593Smuzhiyun	  Supports the LAN87XX PHYs.
218*4882a593Smuzhiyun
219*4882a593Smuzhiyunconfig MICROSEMI_PHY
220*4882a593Smuzhiyun	tristate "Microsemi PHYs"
221*4882a593Smuzhiyun	depends on MACSEC || MACSEC=n
222*4882a593Smuzhiyun	select CRYPTO_LIB_AES if MACSEC
223*4882a593Smuzhiyun	help
224*4882a593Smuzhiyun	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
225*4882a593Smuzhiyun
226*4882a593Smuzhiyunconfig MOTORCOMM_PHY
227*4882a593Smuzhiyun	tristate "Motorcomm PHYs"
228*4882a593Smuzhiyun	help
229*4882a593Smuzhiyun	  Enables support for Motorcomm network PHYs.
230*4882a593Smuzhiyun	  Currently supports the YT8511, YT8521, YT8531, RK631 gigabit PHY.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig NATIONAL_PHY
233*4882a593Smuzhiyun	tristate "National Semiconductor PHYs"
234*4882a593Smuzhiyun	help
235*4882a593Smuzhiyun	  Currently supports the DP83865 PHY.
236*4882a593Smuzhiyun
237*4882a593Smuzhiyunconfig NXP_TJA11XX_PHY
238*4882a593Smuzhiyun	tristate "NXP TJA11xx PHYs support"
239*4882a593Smuzhiyun	depends on HWMON
240*4882a593Smuzhiyun	help
241*4882a593Smuzhiyun	  Currently supports the NXP TJA1100 and TJA1101 PHY.
242*4882a593Smuzhiyun
243*4882a593Smuzhiyunconfig AT803X_PHY
244*4882a593Smuzhiyun	tristate "Qualcomm Atheros AR803X PHYs"
245*4882a593Smuzhiyun	depends on REGULATOR
246*4882a593Smuzhiyun	help
247*4882a593Smuzhiyun	  Currently supports the AR8030, AR8031, AR8033 and AR8035 model
248*4882a593Smuzhiyun
249*4882a593Smuzhiyunconfig QSEMI_PHY
250*4882a593Smuzhiyun	tristate "Quality Semiconductor PHYs"
251*4882a593Smuzhiyun	help
252*4882a593Smuzhiyun	  Currently supports the qs6612
253*4882a593Smuzhiyun
254*4882a593Smuzhiyunconfig REALTEK_PHY
255*4882a593Smuzhiyun	tristate "Realtek PHYs"
256*4882a593Smuzhiyun	help
257*4882a593Smuzhiyun	  Supports the Realtek 821x PHY.
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunconfig RENESAS_PHY
260*4882a593Smuzhiyun	tristate "Renesas PHYs"
261*4882a593Smuzhiyun	help
262*4882a593Smuzhiyun	  Supports the Renesas PHYs uPD60620 and uPD60620A.
263*4882a593Smuzhiyun
264*4882a593Smuzhiyunconfig ROCKCHIP_PHY
265*4882a593Smuzhiyun	tristate "Rockchip Ethernet PHYs"
266*4882a593Smuzhiyun	help
267*4882a593Smuzhiyun	  Currently supports the integrated Ethernet PHY.
268*4882a593Smuzhiyun
269*4882a593Smuzhiyunconfig RK630_PHY
270*4882a593Smuzhiyun	tristate "Driver for RK630 Ethernet PHYs"
271*4882a593Smuzhiyun	help
272*4882a593Smuzhiyun	  Currently supports the RK630 Ethernet PHY.
273*4882a593Smuzhiyun
274*4882a593Smuzhiyunconfig SMSC_PHY
275*4882a593Smuzhiyun	tristate "SMSC PHYs"
276*4882a593Smuzhiyun	help
277*4882a593Smuzhiyun	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
278*4882a593Smuzhiyun
279*4882a593Smuzhiyunconfig STE10XP
280*4882a593Smuzhiyun	tristate "STMicroelectronics STe10Xp PHYs"
281*4882a593Smuzhiyun	help
282*4882a593Smuzhiyun	  This is the driver for the STe100p and STe101p PHYs.
283*4882a593Smuzhiyun
284*4882a593Smuzhiyunconfig TERANETICS_PHY
285*4882a593Smuzhiyun	tristate "Teranetics PHYs"
286*4882a593Smuzhiyun	help
287*4882a593Smuzhiyun	  Currently supports the Teranetics TN2020
288*4882a593Smuzhiyun
289*4882a593Smuzhiyunconfig DP83822_PHY
290*4882a593Smuzhiyun	tristate "Texas Instruments DP83822/825/826 PHYs"
291*4882a593Smuzhiyun	help
292*4882a593Smuzhiyun	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
293*4882a593Smuzhiyun	  DP83826C and DP83826NC PHYs.
294*4882a593Smuzhiyun
295*4882a593Smuzhiyunconfig DP83TC811_PHY
296*4882a593Smuzhiyun	tristate "Texas Instruments DP83TC811 PHY"
297*4882a593Smuzhiyun	help
298*4882a593Smuzhiyun	  Supports the DP83TC811 PHY.
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunconfig DP83848_PHY
301*4882a593Smuzhiyun	tristate "Texas Instruments DP83848 PHY"
302*4882a593Smuzhiyun	help
303*4882a593Smuzhiyun	  Supports the DP83848 PHY.
304*4882a593Smuzhiyun
305*4882a593Smuzhiyunconfig DP83867_PHY
306*4882a593Smuzhiyun	tristate "Texas Instruments DP83867 Gigabit PHY"
307*4882a593Smuzhiyun	help
308*4882a593Smuzhiyun	  Currently supports the DP83867 PHY.
309*4882a593Smuzhiyun
310*4882a593Smuzhiyunconfig DP83869_PHY
311*4882a593Smuzhiyun	tristate "Texas Instruments DP83869 Gigabit PHY"
312*4882a593Smuzhiyun	help
313*4882a593Smuzhiyun	  Currently supports the DP83869 PHY.  This PHY supports copper and
314*4882a593Smuzhiyun	  fiber connections.
315*4882a593Smuzhiyun
316*4882a593Smuzhiyunconfig VITESSE_PHY
317*4882a593Smuzhiyun	tristate "Vitesse PHYs"
318*4882a593Smuzhiyun	help
319*4882a593Smuzhiyun	  Currently supports the vsc8244
320*4882a593Smuzhiyun
321*4882a593Smuzhiyunconfig XILINX_GMII2RGMII
322*4882a593Smuzhiyun	tristate "Xilinx GMII2RGMII converter driver"
323*4882a593Smuzhiyun	help
324*4882a593Smuzhiyun	  This driver support xilinx GMII to RGMII IP core it provides
325*4882a593Smuzhiyun	  the Reduced Gigabit Media Independent Interface(RGMII) between
326*4882a593Smuzhiyun	  Ethernet physical media devices and the Gigabit Ethernet controller.
327*4882a593Smuzhiyun
328*4882a593Smuzhiyunendif # PHYLIB
329*4882a593Smuzhiyun
330*4882a593Smuzhiyunconfig MICREL_KS8995MA
331*4882a593Smuzhiyun	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
332*4882a593Smuzhiyun	depends on SPI
333