xref: /openbmc/linux/drivers/net/phy/Kconfig (revision 6e3bac3eba448a438840ab8152cb8bbfcb8787b8)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
200db8189SAndy Fleming#
300db8189SAndy Fleming# PHY Layer Configuration
400db8189SAndy Fleming#
500db8189SAndy Fleming
69525ae83SRussell Kingconfig PHYLINK
79525ae83SRussell King	tristate
89525ae83SRussell King	depends on NETDEVICES
99525ae83SRussell King	select PHYLIB
109525ae83SRussell King	select SWPHY
119525ae83SRussell King	help
129525ae83SRussell King	  PHYlink models the link between the PHY and MAC, allowing fixed
139525ae83SRussell King	  configuration links, PHYs, and Serdes links with MAC level
149525ae83SRussell King	  autonegotiation modes.
159525ae83SRussell King
166073512cSJerome Brunetmenuconfig PHYLIB
179e8d438eSFlorian Fainelli	tristate "PHY Device support and infrastructure"
186073512cSJerome Brunet	depends on NETDEVICES
196073512cSJerome Brunet	select MDIO_DEVICE
201814cff2SBartosz Golaszewski	select MDIO_DEVRES
216073512cSJerome Brunet	help
226073512cSJerome Brunet	  Ethernet controllers are usually attached to PHY
236073512cSJerome Brunet	  devices.  This option provides infrastructure for
246073512cSJerome Brunet	  managing PHY devices.
256073512cSJerome Brunet
2690eff909SFlorian Fainelliif PHYLIB
2790eff909SFlorian Fainelli
2890eff909SFlorian Fainelliconfig SWPHY
2990eff909SFlorian Fainelli	bool
3090eff909SFlorian Fainelli
3190eff909SFlorian Fainelliconfig LED_TRIGGER_PHY
3290eff909SFlorian Fainelli	bool "Support LED triggers for tracking link state"
3390eff909SFlorian Fainelli	depends on LEDS_TRIGGERS
34a7f7f624SMasahiro Yamada	help
3590eff909SFlorian Fainelli	  Adds support for a set of LED trigger events per-PHY.  Link
3690eff909SFlorian Fainelli	  state change will trigger the events, for consumption by an
3790eff909SFlorian Fainelli	  LED class driver.  There are triggers for each link speed currently
383928ee64SMaciej S. Szmigiero	  supported by the PHY and also a one common "link" trigger as a
393928ee64SMaciej S. Szmigiero	  logical-or of all the link speed ones.
403928ee64SMaciej S. Szmigiero	  All these triggers are named according to the following pattern:
4190eff909SFlorian Fainelli	      <mii bus id>:<phy>:<speed>
4290eff909SFlorian Fainelli
4390eff909SFlorian Fainelli	  Where speed is in the form:
443928ee64SMaciej S. Szmigiero		<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
453928ee64SMaciej S. Szmigiero		for any speed known to the PHY.
4690eff909SFlorian Fainelli
4790eff909SFlorian Fainelli
480457eb26SAndrew Lunnconfig FIXED_PHY
490457eb26SAndrew Lunn	tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
500457eb26SAndrew Lunn	depends on PHYLIB
510457eb26SAndrew Lunn	select SWPHY
520457eb26SAndrew Lunn	help
530457eb26SAndrew Lunn	  Adds the platform "fixed" MDIO Bus to cover the boards that use
540457eb26SAndrew Lunn	  PHYs that are not connected to the real MDIO bus.
550457eb26SAndrew Lunn
560457eb26SAndrew Lunn	  Currently tested with mpc866ads and mpc8349e-mitx.
57d75b4a22SAndrew Lunn
5873970055SRussell Kingconfig SFP
5973970055SRussell King	tristate "SFP cage support"
6073970055SRussell King	depends on I2C && PHYLINK
61b5293443SGuenter Roeck	depends on HWMON || HWMON=n
6273970055SRussell King	select MDIO_I2C
6373970055SRussell King
640457eb26SAndrew Lunncomment "MII PHY device drivers"
650457eb26SAndrew Lunn
660457eb26SAndrew Lunnconfig AMD_PHY
670457eb26SAndrew Lunn	tristate "AMD PHYs"
680457eb26SAndrew Lunn	help
690457eb26SAndrew Lunn	  Currently supports the am79c874
700457eb26SAndrew Lunn
710457eb26SAndrew Lunnconfig MESON_GXL_PHY
720457eb26SAndrew Lunn	tristate "Amlogic Meson GXL Internal PHY"
730457eb26SAndrew Lunn	depends on ARCH_MESON || COMPILE_TEST
740457eb26SAndrew Lunn	help
750457eb26SAndrew Lunn	  Currently has a driver for the Amlogic Meson GXL Internal PHY
760457eb26SAndrew Lunn
779c102981SAlexandru Ardeleanconfig ADIN_PHY
789c102981SAlexandru Ardelean	tristate "Analog Devices Industrial Ethernet PHYs"
799c102981SAlexandru Ardelean	help
809c102981SAlexandru Ardelean	  Adds support for the Analog Devices Industrial Ethernet PHYs.
819c102981SAlexandru Ardelean	  Currently supports the:
829c102981SAlexandru Ardelean	  - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
839c102981SAlexandru Ardelean	  - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
849c102981SAlexandru Ardelean	    Ethernet PHY
859c102981SAlexandru Ardelean
86d75b4a22SAndrew Lunnconfig AQUANTIA_PHY
8797c84389SAndrew Lunn	tristate "Aquantia PHYs"
88a7f7f624SMasahiro Yamada	help
89d75b4a22SAndrew Lunn	  Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
90d75b4a22SAndrew Lunn
91a9520543SMichael Schmitzconfig AX88796B_PHY
9231dd83b9SMichael Schmitz	tristate "Asix PHYs"
9331dd83b9SMichael Schmitz	help
9431dd83b9SMichael Schmitz	  Currently supports the Asix Electronics PHY found in the X-Surf 100
9531dd83b9SMichael Schmitz	  AX88796B package.
9631dd83b9SMichael Schmitz
970457eb26SAndrew Lunnconfig BROADCOM_PHY
980457eb26SAndrew Lunn	tristate "Broadcom 54XX PHYs"
990457eb26SAndrew Lunn	select BCM_NET_PHYLIB
1000457eb26SAndrew Lunn	help
1010457eb26SAndrew Lunn	  Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
1020457eb26SAndrew Lunn	  BCM5481, BCM54810 and BCM5482 PHYs.
1030457eb26SAndrew Lunn
1040457eb26SAndrew Lunnconfig BCM54140_PHY
1050457eb26SAndrew Lunn	tristate "Broadcom BCM54140 PHY"
1060457eb26SAndrew Lunn	depends on PHYLIB
1070457eb26SAndrew Lunn	depends on HWMON || HWMON=n
1080457eb26SAndrew Lunn	select BCM_NET_PHYLIB
1090457eb26SAndrew Lunn	help
1100457eb26SAndrew Lunn	  Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
1110457eb26SAndrew Lunn
1120457eb26SAndrew Lunn	  This driver also supports the hardware monitoring of this PHY and
1130457eb26SAndrew Lunn	  exposes voltage and temperature sensors.
1140457eb26SAndrew Lunn
115d75b4a22SAndrew Lunnconfig BCM63XX_PHY
11697c84389SAndrew Lunn	tristate "Broadcom 63xx SOCs internal PHY"
11715d8daf7SAndrew Lunn	depends on BCM63XX || COMPILE_TEST
118d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
119a7f7f624SMasahiro Yamada	help
120d75b4a22SAndrew Lunn	  Currently supports the 6348 and 6358 PHYs.
121d75b4a22SAndrew Lunn
122d75b4a22SAndrew Lunnconfig BCM7XXX_PHY
12397c84389SAndrew Lunn	tristate "Broadcom 7xxx SOCs internal PHYs"
124d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
125a7f7f624SMasahiro Yamada	help
126d75b4a22SAndrew Lunn	  Currently supports the BCM7366, BCM7439, BCM7445, and
127d75b4a22SAndrew Lunn	  40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
128d75b4a22SAndrew Lunn
1290457eb26SAndrew Lunnconfig BCM84881_PHY
1300457eb26SAndrew Lunn	tristate "Broadcom BCM84881 PHY"
1310457eb26SAndrew Lunn	depends on PHYLIB
1320457eb26SAndrew Lunn	help
1330457eb26SAndrew Lunn	  Support the Broadcom BCM84881 PHY.
1340457eb26SAndrew Lunn
135d75b4a22SAndrew Lunnconfig BCM87XX_PHY
13697c84389SAndrew Lunn	tristate "Broadcom BCM8706 and BCM8727 PHYs"
137d75b4a22SAndrew Lunn	help
138d75b4a22SAndrew Lunn	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
139d75b4a22SAndrew Lunn
140d75b4a22SAndrew Lunnconfig BCM_CYGNUS_PHY
141a7a01ab3SFlorian Fainelli	tristate "Broadcom Cygnus/Omega SoC internal PHY"
14217cc9821SFlorian Fainelli	depends on ARCH_BCM_IPROC || COMPILE_TEST
143d75b4a22SAndrew Lunn	depends on MDIO_BCM_IPROC
144d75b4a22SAndrew Lunn	select BCM_NET_PHYLIB
145a7f7f624SMasahiro Yamada	help
146d75b4a22SAndrew Lunn	  This PHY driver is for the 1G internal PHYs of the Broadcom
14717cc9821SFlorian Fainelli	  Cygnus and Omega Family SoC.
148d75b4a22SAndrew Lunn
149d75b4a22SAndrew Lunn	  Currently supports internal PHY's used in the BCM11300,
150d75b4a22SAndrew Lunn	  BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
151d75b4a22SAndrew Lunn	  BCM58303 & BCM58305 Broadcom Cygnus SoCs.
152d75b4a22SAndrew Lunn
153d75b4a22SAndrew Lunnconfig BCM_NET_PHYLIB
154d75b4a22SAndrew Lunn	tristate
155d75b4a22SAndrew Lunn
156d75b4a22SAndrew Lunnconfig CICADA_PHY
15797c84389SAndrew Lunn	tristate "Cicada PHYs"
158a7f7f624SMasahiro Yamada	help
159d75b4a22SAndrew Lunn	  Currently supports the cis8204
160d75b4a22SAndrew Lunn
16115b9e533SBogdan Purcareataconfig CORTINA_PHY
16215b9e533SBogdan Purcareata	tristate "Cortina EDC CDR 10G Ethernet PHY"
163a7f7f624SMasahiro Yamada	help
16415b9e533SBogdan Purcareata	  Currently supports the CS4340 phy.
16515b9e533SBogdan Purcareata
166d75b4a22SAndrew Lunnconfig DAVICOM_PHY
16797c84389SAndrew Lunn	tristate "Davicom PHYs"
168a7f7f624SMasahiro Yamada	help
169d75b4a22SAndrew Lunn	  Currently supports dm9161e and dm9131
170d75b4a22SAndrew Lunn
171d75b4a22SAndrew Lunnconfig ICPLUS_PHY
17297c84389SAndrew Lunn	tristate "ICPlus PHYs"
173a7f7f624SMasahiro Yamada	help
174d75b4a22SAndrew Lunn	  Currently supports the IP175C and IP1001 PHYs.
175ddc24ae1SArun Parameswaran
1760457eb26SAndrew Lunnconfig LXT_PHY
1770457eb26SAndrew Lunn	tristate "Intel LXT PHYs"
1780457eb26SAndrew Lunn	help
1790457eb26SAndrew Lunn	  Currently supports the lxt970, lxt971
1800457eb26SAndrew Lunn
181112b558dSHauke Mehrtensconfig INTEL_XWAY_PHY
18297c84389SAndrew Lunn	tristate "Intel XWAY PHYs"
183a7f7f624SMasahiro Yamada	help
184112b558dSHauke Mehrtens	  Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
185112b558dSHauke Mehrtens	  These PHYs are marked as standalone chips under the names
186112b558dSHauke Mehrtens	  PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
187112b558dSHauke Mehrtens	  SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
188112b558dSHauke Mehrtens
189d75b4a22SAndrew Lunnconfig LSI_ET1011C_PHY
19097c84389SAndrew Lunn	tristate "LSI ET1011C PHY"
191a7f7f624SMasahiro Yamada	help
192d75b4a22SAndrew Lunn	  Supports the LSI ET1011C PHY.
1934960e4b1SDongpo Li
194d75b4a22SAndrew Lunnconfig MARVELL_PHY
1950457eb26SAndrew Lunn	tristate "Marvell Alaska PHYs"
196a7f7f624SMasahiro Yamada	help
1970457eb26SAndrew Lunn	  Currently has a driver for the 88E1XXX
198d75b4a22SAndrew Lunn
19920b2af32SRussell Kingconfig MARVELL_10G_PHY
20020b2af32SRussell King	tristate "Marvell Alaska 10Gbit PHYs"
201a7f7f624SMasahiro Yamada	help
20220b2af32SRussell King	  Support for the Marvell Alaska MV88X3310 and compatible PHYs.
20320b2af32SRussell King
204*6e3bac3eSIvan Bornyakovconfig MARVELL_88X2222_PHY
205*6e3bac3eSIvan Bornyakov	tristate "Marvell 88X2222 PHY"
206*6e3bac3eSIvan Bornyakov	help
207*6e3bac3eSIvan Bornyakov	  Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet
208*6e3bac3eSIvan Bornyakov	  Transceiver.
209*6e3bac3eSIvan Bornyakov
210d75b4a22SAndrew Lunnconfig MICREL_PHY
21197c84389SAndrew Lunn	tristate "Micrel PHYs"
212a7f7f624SMasahiro Yamada	help
213d75b4a22SAndrew Lunn	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
214d75b4a22SAndrew Lunn
215d75b4a22SAndrew Lunnconfig MICROCHIP_PHY
21697c84389SAndrew Lunn	tristate "Microchip PHYs"
21743b3cf66SIyappan Subramanian	help
218d75b4a22SAndrew Lunn	  Supports the LAN88XX PHYs.
21943b3cf66SIyappan Subramanian
2203e50d2daSNisar Sayedconfig MICROCHIP_T1_PHY
2213e50d2daSNisar Sayed	tristate "Microchip T1 PHYs"
222a7f7f624SMasahiro Yamada	help
2233e50d2daSNisar Sayed	  Supports the LAN87XX PHYs.
2243e50d2daSNisar Sayed
225d50736a8SRaju Lakkarajuconfig MICROSEMI_PHY
22697c84389SAndrew Lunn	tristate "Microsemi PHYs"
22728c5107aSAntoine Tenart	depends on MACSEC || MACSEC=n
2285a3235e5SArd Biesheuvel	select CRYPTO_LIB_AES if MACSEC
229a7f7f624SMasahiro Yamada	help
230e4f9ba64SKavya Sree Kotagiri	  Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
231d50736a8SRaju Lakkaraju
232d75b4a22SAndrew Lunnconfig NATIONAL_PHY
23397c84389SAndrew Lunn	tristate "National Semiconductor PHYs"
234a7f7f624SMasahiro Yamada	help
235d75b4a22SAndrew Lunn	  Currently supports the DP83865 PHY.
236d75b4a22SAndrew Lunn
237ddf6ddb0SMarek Vasutconfig NXP_TJA11XX_PHY
238ddf6ddb0SMarek Vasut	tristate "NXP TJA11xx PHYs support"
239ddf6ddb0SMarek Vasut	depends on HWMON
240a7f7f624SMasahiro Yamada	help
241ddf6ddb0SMarek Vasut	  Currently supports the NXP TJA1100 and TJA1101 PHY.
242ddf6ddb0SMarek Vasut
2434985dffcSMichael Walleconfig AT803X_PHY
2444985dffcSMichael Walle	tristate "Qualcomm Atheros AR803X PHYs"
245dddb318bSMadalin Bucur	depends on REGULATOR
2464985dffcSMichael Walle	help
247428061f7SMichael Walle	  Currently supports the AR8030, AR8031, AR8033 and AR8035 model
2484985dffcSMichael Walle
249d75b4a22SAndrew Lunnconfig QSEMI_PHY
25097c84389SAndrew Lunn	tristate "Quality Semiconductor PHYs"
251a7f7f624SMasahiro Yamada	help
252d75b4a22SAndrew Lunn	  Currently supports the qs6612
253d75b4a22SAndrew Lunn
254d75b4a22SAndrew Lunnconfig REALTEK_PHY
25597c84389SAndrew Lunn	tristate "Realtek PHYs"
256a7f7f624SMasahiro Yamada	help
257d75b4a22SAndrew Lunn	  Supports the Realtek 821x PHY.
258d75b4a22SAndrew Lunn
259812b5ca7SBernd Edlingerconfig RENESAS_PHY
2600457eb26SAndrew Lunn	tristate "Renesas PHYs"
261a7f7f624SMasahiro Yamada	help
262812b5ca7SBernd Edlinger	  Supports the Renesas PHYs uPD60620 and uPD60620A.
263812b5ca7SBernd Edlinger
264baf6ee81SDavid Wuconfig ROCKCHIP_PHY
2650457eb26SAndrew Lunn	tristate "Rockchip Ethernet PHYs"
266a7f7f624SMasahiro Yamada	help
267baf6ee81SDavid Wu	  Currently supports the integrated Ethernet PHY.
268baf6ee81SDavid Wu
269d75b4a22SAndrew Lunnconfig SMSC_PHY
27097c84389SAndrew Lunn	tristate "SMSC PHYs"
271a7f7f624SMasahiro Yamada	help
272d75b4a22SAndrew Lunn	  Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
273d75b4a22SAndrew Lunn
274d75b4a22SAndrew Lunnconfig STE10XP
27597c84389SAndrew Lunn	tristate "STMicroelectronics STe10Xp PHYs"
276a7f7f624SMasahiro Yamada	help
277d75b4a22SAndrew Lunn	  This is the driver for the STe100p and STe101p PHYs.
278d75b4a22SAndrew Lunn
279d75b4a22SAndrew Lunnconfig TERANETICS_PHY
28097c84389SAndrew Lunn	tristate "Teranetics PHYs"
281a7f7f624SMasahiro Yamada	help
282d75b4a22SAndrew Lunn	  Currently supports the Teranetics TN2020
283d75b4a22SAndrew Lunn
2840457eb26SAndrew Lunnconfig DP83822_PHY
2850457eb26SAndrew Lunn	tristate "Texas Instruments DP83822/825/826 PHYs"
2860457eb26SAndrew Lunn	help
2870457eb26SAndrew Lunn	  Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
2880457eb26SAndrew Lunn	  DP83826C and DP83826NC PHYs.
2890457eb26SAndrew Lunn
2900457eb26SAndrew Lunnconfig DP83TC811_PHY
2910457eb26SAndrew Lunn	tristate "Texas Instruments DP83TC811 PHY"
2920457eb26SAndrew Lunn	help
2930457eb26SAndrew Lunn	  Supports the DP83TC811 PHY.
2940457eb26SAndrew Lunn
2950457eb26SAndrew Lunnconfig DP83848_PHY
2960457eb26SAndrew Lunn	tristate "Texas Instruments DP83848 PHY"
2970457eb26SAndrew Lunn	help
2980457eb26SAndrew Lunn	  Supports the DP83848 PHY.
2990457eb26SAndrew Lunn
3000457eb26SAndrew Lunnconfig DP83867_PHY
3010457eb26SAndrew Lunn	tristate "Texas Instruments DP83867 Gigabit PHY"
3020457eb26SAndrew Lunn	help
3030457eb26SAndrew Lunn	  Currently supports the DP83867 PHY.
3040457eb26SAndrew Lunn
3050457eb26SAndrew Lunnconfig DP83869_PHY
3060457eb26SAndrew Lunn	tristate "Texas Instruments DP83869 Gigabit PHY"
3070457eb26SAndrew Lunn	help
3080457eb26SAndrew Lunn	  Currently supports the DP83869 PHY.  This PHY supports copper and
3090457eb26SAndrew Lunn	  fiber connections.
3100457eb26SAndrew Lunn
311d75b4a22SAndrew Lunnconfig VITESSE_PHY
31297c84389SAndrew Lunn	tristate "Vitesse PHYs"
313a7f7f624SMasahiro Yamada	help
314d75b4a22SAndrew Lunn	  Currently supports the vsc8244
315d75b4a22SAndrew Lunn
316f411a616SAppana Durga Kedareswara Raoconfig XILINX_GMII2RGMII
317f411a616SAppana Durga Kedareswara Rao	tristate "Xilinx GMII2RGMII converter driver"
318a7f7f624SMasahiro Yamada	help
319f411a616SAppana Durga Kedareswara Rao	  This driver support xilinx GMII to RGMII IP core it provides
320f411a616SAppana Durga Kedareswara Rao	  the Reduced Gigabit Media Independent Interface(RGMII) between
321f411a616SAppana Durga Kedareswara Rao	  Ethernet physical media devices and the Gigabit Ethernet controller.
322f411a616SAppana Durga Kedareswara Rao
32353f99941SJan Engelhardtendif # PHYLIB
324a8e510f6SFrederic LAMBERT
325a8e510f6SFrederic LAMBERTconfig MICREL_KS8995MA
326a8e510f6SFrederic LAMBERT	tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
327a8e510f6SFrederic LAMBERT	depends on SPI
328