456 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# PHY Layer Configuration4#5 6config PHYLINK7 tristate8 depends on NETDEVICES9 select PHYLIB10 select SWPHY11 help12 PHYlink models the link between the PHY and MAC, allowing fixed13 configuration links, PHYs, and Serdes links with MAC level14 autonegotiation modes.15 16menuconfig PHYLIB17 tristate "PHY Device support and infrastructure"18 depends on NETDEVICES19 select MDIO_DEVICE20 select MDIO_DEVRES21 help22 Ethernet controllers are usually attached to PHY23 devices. This option provides infrastructure for24 managing PHY devices.25 26if PHYLIB27 28config SWPHY29 bool30 31config LED_TRIGGER_PHY32 bool "Support LED triggers for tracking link state"33 depends on LEDS_TRIGGERS34 help35 Adds support for a set of LED trigger events per-PHY. Link36 state change will trigger the events, for consumption by an37 LED class driver. There are triggers for each link speed currently38 supported by the PHY and also a one common "link" trigger as a39 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 link45 for any speed known to the PHY.46 47config OPEN_ALLIANCE_HELPERS48 bool49 50config PHYLIB_LEDS51 def_bool OF52 depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB53 help54 When LED class support is enabled, phylib can automatically55 probe LED setting from device tree.56 57config FIXED_PHY58 tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"59 select SWPHY60 help61 Adds the platform "fixed" MDIO Bus to cover the boards that use62 PHYs that are not connected to the real MDIO bus.63 64 Currently tested with mpc866ads and mpc8349e-mitx.65 66config RUST_PHYLIB_ABSTRACTIONS67 bool "Rust PHYLIB abstractions support"68 depends on RUST69 depends on PHYLIB=y70 help71 Adds support needed for PHY drivers written in Rust. It provides72 a wrapper around the C phylib core.73 74config SFP75 tristate "SFP cage support"76 depends on I2C && PHYLINK77 depends on HWMON || HWMON=n78 select MDIO_I2C79 80comment "MII PHY device drivers"81 82config AIR_EN8811H_PHY83 tristate "Airoha EN8811H 2.5 Gigabit PHY"84 help85 Currently supports the Airoha EN8811H PHY.86 87config AMD_PHY88 tristate "AMD and Altima PHYs"89 help90 Currently supports the AMD am79c874 and Altima AC101L.91 92config MESON_GXL_PHY93 tristate "Amlogic Meson GXL Internal PHY"94 depends on ARCH_MESON || COMPILE_TEST95 select SMSC_PHY96 help97 Currently has a driver for the Amlogic Meson GXL Internal PHY98 99config ADIN_PHY100 tristate "Analog Devices Industrial Ethernet PHYs"101 help102 Adds support for the Analog Devices Industrial Ethernet PHYs.103 Currently supports the:104 - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY105 - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit106 Ethernet PHY107 108config ADIN1100_PHY109 tristate "Analog Devices Industrial Ethernet T1L PHYs"110 help111 Adds support for the Analog Devices Industrial T1L Ethernet PHYs.112 Currently supports the:113 - ADIN1100 - Robust,Industrial, Low Power 10BASE-T1L Ethernet PHY114 115config AMCC_QT2025_PHY116 tristate "AMCC QT2025 PHY"117 depends on RUST_PHYLIB_ABSTRACTIONS118 depends on RUST_FW_LOADER_ABSTRACTIONS119 help120 Adds support for the Applied Micro Circuits Corporation QT2025 PHY.121 122source "drivers/net/phy/aquantia/Kconfig"123 124config AX88796B_PHY125 tristate "Asix PHYs"126 help127 Currently supports the Asix Electronics PHY found in the X-Surf 100128 AX88796B package.129 130config AX88796B_RUST_PHY131 bool "Rust reference driver for Asix PHYs"132 depends on RUST_PHYLIB_ABSTRACTIONS && AX88796B_PHY133 help134 Uses the Rust reference driver for Asix PHYs (ax88796b_rust.ko).135 The features are equivalent. It supports the Asix Electronics PHY136 found in the X-Surf 100 AX88796B package.137 138config BROADCOM_PHY139 tristate "Broadcom 54XX PHYs"140 select BCM_NET_PHYLIB141 select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING142 depends on PTP_1588_CLOCK_OPTIONAL143 help144 Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,145 BCM5481, BCM54810 and BCM5482 PHYs.146 147config BCM54140_PHY148 tristate "Broadcom BCM54140 PHY"149 depends on HWMON || HWMON=n150 select BCM_NET_PHYLIB151 help152 Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.153 154 This driver also supports the hardware monitoring of this PHY and155 exposes voltage and temperature sensors.156 157config BCM63XX_PHY158 tristate "Broadcom 63xx SOCs internal PHY"159 depends on BCM63XX || COMPILE_TEST160 select BCM_NET_PHYLIB161 help162 Currently supports the 6348 and 6358 PHYs.163 164config BCM7XXX_PHY165 tristate "Broadcom 7xxx SOCs internal PHYs"166 select BCM_NET_PHYLIB167 help168 Currently supports the BCM7366, BCM7439, BCM7445, and169 40nm and 65nm generation of BCM7xxx Set Top Box SoCs.170 171config BCM84881_PHY172 tristate "Broadcom BCM84881 PHY"173 help174 Support the Broadcom BCM84881 PHY.175 176config BCM87XX_PHY177 tristate "Broadcom BCM8706 and BCM8727 PHYs"178 help179 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.180 181config BCM_CYGNUS_PHY182 tristate "Broadcom Cygnus/Omega SoC internal PHY"183 depends on ARCH_BCM_IPROC || COMPILE_TEST184 depends on MDIO_BCM_IPROC185 select BCM_NET_PHYLIB186 help187 This PHY driver is for the 1G internal PHYs of the Broadcom188 Cygnus and Omega Family SoC.189 190 Currently supports internal PHY's used in the BCM11300,191 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,192 BCM58303 & BCM58305 Broadcom Cygnus SoCs.193 194config BCM_NET_PHYLIB195 tristate196 197config BCM_NET_PHYPTP198 tristate199 200config CICADA_PHY201 tristate "Cicada PHYs"202 help203 Currently supports the cis8204204 205config CORTINA_PHY206 tristate "Cortina EDC CDR 10G Ethernet PHY"207 help208 Currently supports the CS4340 phy.209 210config DAVICOM_PHY211 tristate "Davicom PHYs"212 help213 Currently supports dm9161e and dm9131214 215config ICPLUS_PHY216 tristate "ICPlus PHYs"217 help218 Currently supports the IP175C and IP1001 PHYs.219 220config LXT_PHY221 tristate "Intel LXT PHYs"222 help223 Currently supports the lxt970, lxt971224 225config INTEL_XWAY_PHY226 tristate "Intel XWAY PHYs"227 help228 Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.229 These PHYs are marked as standalone chips under the names230 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel231 SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.232 233config LSI_ET1011C_PHY234 tristate "LSI ET1011C PHY"235 help236 Supports the LSI ET1011C PHY.237 238config MARVELL_PHY239 tristate "Marvell Alaska PHYs"240 help241 Currently has a driver for the 88E1XXX242 243config MARVELL_10G_PHY244 tristate "Marvell Alaska 10Gbit PHYs"245 help246 Support for the Marvell Alaska MV88X3310 and compatible PHYs.247 248config MARVELL_88Q2XXX_PHY249 tristate "Marvell 88Q2XXX PHY"250 depends on HWMON || HWMON=n251 help252 Support for the Marvell 88Q2XXX 100/1000BASE-T1 Automotive Ethernet253 PHYs.254 255config MARVELL_88X2222_PHY256 tristate "Marvell 88X2222 PHY"257 help258 Support for the Marvell 88X2222 Dual-port Multi-speed Ethernet259 Transceiver.260 261config MAXLINEAR_GPHY262 tristate "Maxlinear Ethernet PHYs"263 select POLYNOMIAL if HWMON264 depends on HWMON || HWMON=n265 help266 Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,267 GPY241, GPY245 PHYs.268 269config MEDIATEK_GE_PHY270 tristate "MediaTek Gigabit Ethernet PHYs"271 help272 Supports the MediaTek Gigabit Ethernet PHYs.273 274config MEDIATEK_GE_SOC_PHY275 tristate "MediaTek SoC Ethernet PHYs"276 depends on (ARM64 && ARCH_MEDIATEK) || COMPILE_TEST277 depends on NVMEM_MTK_EFUSE278 help279 Supports MediaTek SoC built-in Gigabit Ethernet PHYs.280 281 Include support for built-in Ethernet PHYs which are present in282 the MT7981 and MT7988 SoCs. These PHYs need calibration data283 present in the SoCs efuse and will dynamically calibrate VCM284 (common-mode voltage) during startup.285 286config MICREL_PHY287 tristate "Micrel PHYs"288 depends on PTP_1588_CLOCK_OPTIONAL289 help290 Supports the KSZ9021, VSC8201, KS8001 PHYs.291 292config MICROCHIP_T1S_PHY293 tristate "Microchip 10BASE-T1S Ethernet PHYs"294 help295 Currently supports the LAN8670/1/2 Rev.B1 and LAN8650/1 Rev.B0 Internal296 PHYs.297 298config MICROCHIP_PHY299 tristate "Microchip PHYs"300 help301 Supports the LAN88XX PHYs.302 303config MICROCHIP_T1_PHY304 tristate "Microchip T1 PHYs"305 help306 Supports the LAN87XX PHYs.307 308config MICROSEMI_PHY309 tristate "Microsemi PHYs"310 depends on MACSEC || MACSEC=n311 depends on PTP_1588_CLOCK_OPTIONAL || !NETWORK_PHY_TIMESTAMPING312 select CRYPTO_LIB_AES if MACSEC313 help314 Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs315 316config MOTORCOMM_PHY317 tristate "Motorcomm PHYs"318 help319 Enables support for Motorcomm network PHYs.320 Currently supports YT85xx Gigabit Ethernet PHYs.321 322config NATIONAL_PHY323 tristate "National Semiconductor PHYs"324 help325 Currently supports the DP83865 PHY.326 327config NXP_CBTX_PHY328 tristate "NXP 100BASE-TX PHYs"329 help330 Support the 100BASE-TX PHY integrated on the SJA1110 automotive331 switch family.332 333config NXP_C45_TJA11XX_PHY334 tristate "NXP C45 TJA11XX PHYs"335 depends on PTP_1588_CLOCK_OPTIONAL336 depends on MACSEC || !MACSEC337 help338 Enable support for NXP C45 TJA11XX PHYs.339 Currently supports the TJA1103, TJA1104 and TJA1120 PHYs.340 341config NXP_TJA11XX_PHY342 tristate "NXP TJA11xx PHYs support"343 depends on HWMON344 help345 Currently supports the NXP TJA1100 and TJA1101 PHY.346 347config NCN26000_PHY348 tristate "Onsemi 10BASE-T1S Ethernet PHY"349 help350 Adds support for the onsemi 10BASE-T1S Ethernet PHY.351 Currently supports the NCN26000 10BASE-T1S Industrial PHY352 with MII interface.353 354source "drivers/net/phy/qcom/Kconfig"355 356config QSEMI_PHY357 tristate "Quality Semiconductor PHYs"358 help359 Currently supports the qs6612360 361config REALTEK_PHY362 tristate "Realtek PHYs"363 help364 Supports the Realtek 821x PHY.365 366config RENESAS_PHY367 tristate "Renesas PHYs"368 help369 Supports the Renesas PHYs uPD60620 and uPD60620A.370 371config ROCKCHIP_PHY372 tristate "Rockchip Ethernet PHYs"373 help374 Currently supports the integrated Ethernet PHY.375 376config SMSC_PHY377 tristate "SMSC PHYs"378 select CRC16379 help380 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs381 382config STE10XP383 tristate "STMicroelectronics STe10Xp PHYs"384 help385 This is the driver for the STe100p and STe101p PHYs.386 387config TERANETICS_PHY388 tristate "Teranetics PHYs"389 help390 Currently supports the Teranetics TN2020391 392config DP83822_PHY393 tristate "Texas Instruments DP83822/825/826 PHYs"394 help395 Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,396 DP83826C and DP83826NC PHYs.397 398config DP83TC811_PHY399 tristate "Texas Instruments DP83TC811 PHY"400 help401 Supports the DP83TC811 PHY.402 403config DP83848_PHY404 tristate "Texas Instruments DP83848 PHY"405 help406 Supports the DP83848 PHY.407 408config DP83867_PHY409 tristate "Texas Instruments DP83867 Gigabit PHY"410 help411 Currently supports the DP83867 PHY.412 413config DP83869_PHY414 tristate "Texas Instruments DP83869 Gigabit PHY"415 help416 Currently supports the DP83869 PHY. This PHY supports copper and417 fiber connections.418 419config DP83TD510_PHY420 tristate "Texas Instruments DP83TD510 Ethernet 10Base-T1L PHY"421 help422 Support for the DP83TD510 Ethernet 10Base-T1L PHY. This PHY supports423 a 10M single pair Ethernet connection for up to 1000 meter cable.424 425config DP83TG720_PHY426 tristate "Texas Instruments DP83TG720 Ethernet 1000Base-T1 PHY"427 select OPEN_ALLIANCE_HELPERS428 help429 The DP83TG720S-Q1 is an automotive Ethernet physical layer430 transceiver compliant with IEEE 802.3bp and Open Alliance431 standards. It supports key functions necessary for432 transmitting and receiving data over both unshielded and433 shielded single twisted-pair cables. This device offers434 flexible xMII interface options, including support for both435 RGMII and SGMII MAC interfaces. It's suitable for applications436 requiring high-speed data transmission in automotive437 networking environments.438 439config VITESSE_PHY440 tristate "Vitesse PHYs"441 help442 Currently supports the vsc8244443 444config XILINX_GMII2RGMII445 tristate "Xilinx GMII2RGMII converter driver"446 help447 This driver support xilinx GMII to RGMII IP core it provides448 the Reduced Gigabit Media Independent Interface(RGMII) between449 Ethernet physical media devices and the Gigabit Ethernet controller.450 451endif # PHYLIB452 453config MICREL_KS8995MA454 tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"455 depends on SPI456