| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | # |
| 2 | # PHY Layer Configuration |
| 3 | # |
| 4 | |
| 5 | menuconfig MDIO_DEVICE |
| 6 | tristate "MDIO bus device drivers" |
| 7 | help |
| 8 | MDIO devices and driver infrastructure code. |
| 9 | |
| 10 | config MDIO_BUS |
| 11 | tristate |
| 12 | default m if PHYLIB=m |
| 13 | default MDIO_DEVICE |
| 14 | help |
| 15 | This internal symbol is used for link time dependencies and it |
| 16 | reflects whether the mdio_bus/mdio_device code is built as a |
| 17 | loadable module or built-in. |
| 18 | |
| 19 | if MDIO_BUS |
| 20 | |
| 21 | config MDIO_BCM_IPROC |
| 22 | tristate "Broadcom iProc MDIO bus controller" |
| 23 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
| 24 | depends on HAS_IOMEM && OF_MDIO |
| 25 | help |
| 26 | This module provides a driver for the MDIO busses found in the |
| 27 | Broadcom iProc SoC's. |
| 28 | |
| 29 | config MDIO_BCM_UNIMAC |
| 30 | tristate "Broadcom UniMAC MDIO bus controller" |
| 31 | depends on HAS_IOMEM |
| 32 | help |
| 33 | This module provides a driver for the Broadcom UniMAC MDIO busses. |
| 34 | This hardware can be found in the Broadcom GENET Ethernet MAC |
| 35 | controllers as well as some Broadcom Ethernet switches such as the |
| 36 | Starfighter 2 switches. |
| 37 | |
| 38 | config MDIO_BITBANG |
| 39 | tristate "Bitbanged MDIO buses" |
| 40 | help |
| 41 | This module implements the MDIO bus protocol in software, |
| 42 | for use by low level drivers that export the ability to |
| 43 | drive the relevant pins. |
| 44 | |
| 45 | If in doubt, say N. |
| 46 | |
| 47 | config MDIO_BUS_MUX |
| 48 | tristate |
| 49 | depends on OF_MDIO |
| 50 | help |
| 51 | This module provides a driver framework for MDIO bus |
| 52 | multiplexers which connect one of several child MDIO busses |
| 53 | to a parent bus. Switching between child busses is done by |
| 54 | device specific drivers. |
| 55 | |
| 56 | config MDIO_BUS_MUX_BCM_IPROC |
| 57 | tristate "Broadcom iProc based MDIO bus multiplexers" |
| 58 | depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) |
| 59 | select MDIO_BUS_MUX |
| 60 | default ARCH_BCM_IPROC |
| 61 | help |
| 62 | This module provides a driver for MDIO bus multiplexers found in |
| 63 | iProc based Broadcom SoCs. This multiplexer connects one of several |
| 64 | child MDIO bus to a parent bus. Buses could be internal as well as |
| 65 | external and selection logic lies inside the same multiplexer. |
| 66 | |
| 67 | config MDIO_BUS_MUX_GPIO |
| 68 | tristate "GPIO controlled MDIO bus multiplexers" |
| 69 | depends on OF_GPIO && OF_MDIO |
| 70 | select MDIO_BUS_MUX |
| 71 | help |
| 72 | This module provides a driver for MDIO bus multiplexers that |
| 73 | are controlled via GPIO lines. The multiplexer connects one of |
| 74 | several child MDIO busses to a parent bus. Child bus |
| 75 | selection is under the control of GPIO lines. |
| 76 | |
| 77 | config MDIO_BUS_MUX_MMIOREG |
| 78 | tristate "MMIO device-controlled MDIO bus multiplexers" |
| 79 | depends on OF_MDIO && HAS_IOMEM |
| 80 | select MDIO_BUS_MUX |
| 81 | help |
| 82 | This module provides a driver for MDIO bus multiplexers that |
| 83 | are controlled via a simple memory-mapped device, like an FPGA. |
| 84 | The multiplexer connects one of several child MDIO busses to a |
| 85 | parent bus. Child bus selection is under the control of one of |
| 86 | the FPGA's registers. |
| 87 | |
| 88 | Currently, only 8/16/32 bits registers are supported. |
| 89 | |
| 90 | config MDIO_CAVIUM |
| 91 | tristate |
| 92 | |
| 93 | config MDIO_GPIO |
| 94 | tristate "GPIO lib-based bitbanged MDIO buses" |
| 95 | depends on MDIO_BITBANG |
| 96 | depends on GPIOLIB || COMPILE_TEST |
| 97 | ---help--- |
| 98 | Supports GPIO lib-based MDIO busses. |
| 99 | |
| 100 | To compile this driver as a module, choose M here: the module |
| 101 | will be called mdio-gpio. |
| 102 | |
| 103 | config MDIO_HISI_FEMAC |
| 104 | tristate "Hisilicon FEMAC MDIO bus controller" |
| 105 | depends on HAS_IOMEM && OF_MDIO |
| 106 | help |
| 107 | This module provides a driver for the MDIO busses found in the |
| 108 | Hisilicon SoC that have an Fast Ethernet MAC. |
| 109 | |
| 110 | config MDIO_I2C |
| 111 | tristate |
| 112 | depends on I2C |
| 113 | help |
| 114 | Support I2C based PHYs. This provides a MDIO bus bridged |
| 115 | to I2C to allow PHYs connected in I2C mode to be accessed |
| 116 | using the existing infrastructure. |
| 117 | |
| 118 | This is library mode. |
| 119 | |
| 120 | config MDIO_MOXART |
| 121 | tristate "MOXA ART MDIO interface support" |
| 122 | depends on ARCH_MOXART || COMPILE_TEST |
| 123 | help |
| 124 | This driver supports the MDIO interface found in the network |
| 125 | interface units of the MOXA ART SoC |
| 126 | |
| 127 | config MDIO_MSCC_MIIM |
| 128 | tristate "Microsemi MIIM interface support" |
| 129 | depends on HAS_IOMEM |
| 130 | help |
| 131 | This driver supports the MIIM (MDIO) interface found in the network |
| 132 | switches of the Microsemi SoCs |
| 133 | |
| 134 | config MDIO_OCTEON |
| 135 | tristate "Octeon and some ThunderX SOCs MDIO buses" |
| 136 | depends on 64BIT |
| 137 | depends on HAS_IOMEM && OF_MDIO |
| 138 | select MDIO_CAVIUM |
| 139 | help |
| 140 | This module provides a driver for the Octeon and ThunderX MDIO |
| 141 | buses. It is required by the Octeon and ThunderX ethernet device |
| 142 | drivers on some systems. |
| 143 | |
| 144 | config MDIO_SUN4I |
| 145 | tristate "Allwinner sun4i MDIO interface support" |
| 146 | depends on ARCH_SUNXI || COMPILE_TEST |
| 147 | help |
| 148 | This driver supports the MDIO interface found in the network |
| 149 | interface units of the Allwinner SoC that have an EMAC (A10, |
| 150 | A12, A10s, etc.) |
| 151 | |
| 152 | config MDIO_THUNDER |
| 153 | tristate "ThunderX SOCs MDIO buses" |
| 154 | depends on 64BIT |
| 155 | depends on PCI |
| 156 | select MDIO_CAVIUM |
| 157 | help |
| 158 | This driver supports the MDIO interfaces found on Cavium |
| 159 | ThunderX SoCs when the MDIO bus device appears as a PCI |
| 160 | device. |
| 161 | |
| 162 | config MDIO_XGENE |
| 163 | tristate "APM X-Gene SoC MDIO bus controller" |
| 164 | depends on ARCH_XGENE || COMPILE_TEST |
| 165 | help |
| 166 | This module provides a driver for the MDIO busses found in the |
| 167 | APM X-Gene SoC's. |
| 168 | |
| 169 | endif |
| 170 | |
| 171 | config PHYLINK |
| 172 | tristate |
| 173 | depends on NETDEVICES |
| 174 | select PHYLIB |
| 175 | select SWPHY |
| 176 | help |
| 177 | PHYlink models the link between the PHY and MAC, allowing fixed |
| 178 | configuration links, PHYs, and Serdes links with MAC level |
| 179 | autonegotiation modes. |
| 180 | |
| 181 | menuconfig PHYLIB |
| 182 | tristate "PHY Device support and infrastructure" |
| 183 | depends on NETDEVICES |
| 184 | select MDIO_DEVICE |
| 185 | help |
| 186 | Ethernet controllers are usually attached to PHY |
| 187 | devices. This option provides infrastructure for |
| 188 | managing PHY devices. |
| 189 | |
| 190 | if PHYLIB |
| 191 | |
| 192 | config SWPHY |
| 193 | bool |
| 194 | |
| 195 | config LED_TRIGGER_PHY |
| 196 | bool "Support LED triggers for tracking link state" |
| 197 | depends on LEDS_TRIGGERS |
| 198 | ---help--- |
| 199 | Adds support for a set of LED trigger events per-PHY. Link |
| 200 | state change will trigger the events, for consumption by an |
| 201 | LED class driver. There are triggers for each link speed currently |
| 202 | supported by the PHY and also a one common "link" trigger as a |
| 203 | logical-or of all the link speed ones. |
| 204 | All these triggers are named according to the following pattern: |
| 205 | <mii bus id>:<phy>:<speed> |
| 206 | |
| 207 | Where speed is in the form: |
| 208 | <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link |
| 209 | for any speed known to the PHY. |
| 210 | |
| 211 | |
| 212 | comment "Switch configuration API + drivers" |
| 213 | |
| 214 | config SWCONFIG |
| 215 | tristate "Switch configuration API" |
| 216 | ---help--- |
| 217 | Switch configuration API using netlink. This allows |
| 218 | you to configure the VLAN features of certain switches. |
| 219 | |
| 220 | config SWCONFIG_LEDS |
| 221 | bool "Switch LED trigger support" |
| 222 | depends on (SWCONFIG && LEDS_TRIGGERS) |
| 223 | |
| 224 | config ADM6996_PHY |
| 225 | tristate "Driver for ADM6996 switches" |
| 226 | select SWCONFIG |
| 227 | ---help--- |
| 228 | Currently supports the ADM6996FC and ADM6996M switches. |
| 229 | Support for FC is very limited. |
| 230 | |
| 231 | config AR8216_PHY |
| 232 | tristate "Driver for Atheros AR8216 switches" |
| 233 | select ETHERNET_PACKET_MANGLE |
| 234 | select SWCONFIG |
| 235 | |
| 236 | config AR8216_PHY_LEDS |
| 237 | bool "Atheros AR8216 switch LED support" |
| 238 | depends on (AR8216_PHY && LEDS_CLASS) |
| 239 | |
| 240 | source "drivers/net/phy/b53/Kconfig" |
| 241 | |
| 242 | config IP17XX_PHY |
| 243 | tristate "Driver for IC+ IP17xx switches" |
| 244 | select SWCONFIG |
| 245 | |
| 246 | config MVSWITCH_PHY |
| 247 | tristate "Driver for Marvell 88E6060 switches" |
| 248 | select ETHERNET_PACKET_MANGLE |
| 249 | |
| 250 | config MVSW61XX_PHY |
| 251 | tristate "Driver for Marvell 88E6171/6172 switches" |
| 252 | select SWCONFIG |
| 253 | |
| 254 | config PSB6970_PHY |
| 255 | tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch" |
| 256 | select SWCONFIG |
| 257 | select ETHERNET_PACKET_MANGLE |
| 258 | |
| 259 | config RTL8306_PHY |
| 260 | tristate "Driver for Realtek RTL8306S switches" |
| 261 | select SWCONFIG |
| 262 | |
| 263 | config RTL8366_SMI |
| 264 | tristate "Driver for the RTL8366 SMI interface" |
| 265 | depends on GPIOLIB |
| 266 | ---help--- |
| 267 | This module implements the SMI interface protocol which is used |
| 268 | by some RTL8366 ethernet switch devices via the generic GPIO API. |
| 269 | |
| 270 | if RTL8366_SMI |
| 271 | |
| 272 | config RTL8366_SMI_DEBUG_FS |
| 273 | bool "RTL8366 SMI interface debugfs support" |
| 274 | depends on DEBUG_FS |
| 275 | default n |
| 276 | |
| 277 | config RTL8366S_PHY |
| 278 | tristate "Driver for the Realtek RTL8366S switch" |
| 279 | select SWCONFIG |
| 280 | |
| 281 | config RTL8366RB_PHY |
| 282 | tristate "Driver for the Realtek RTL8366RB switch" |
| 283 | select SWCONFIG |
| 284 | |
| 285 | config RTL8367_PHY |
| 286 | tristate "Driver for the Realtek RTL8367R/M switches" |
| 287 | select SWCONFIG |
| 288 | |
| 289 | config RTL8367B_PHY |
| 290 | tristate "Driver fot the Realtek RTL8367R-VB switch" |
| 291 | select SWCONFIG |
| 292 | |
| 293 | endif # RTL8366_SMI |
| 294 | |
| 295 | comment "MII PHY device drivers" |
| 296 | |
| 297 | config SFP |
| 298 | tristate "SFP cage support" |
| 299 | depends on I2C && PHYLINK |
| 300 | depends on HWMON || HWMON=n |
| 301 | select MDIO_I2C |
| 302 | |
| 303 | config AMD_PHY |
| 304 | tristate "AMD PHYs" |
| 305 | ---help--- |
| 306 | Currently supports the am79c874 |
| 307 | |
| 308 | config AQUANTIA_PHY |
| 309 | tristate "Aquantia PHYs" |
| 310 | ---help--- |
| 311 | Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 |
| 312 | |
| 313 | config AX88796B_PHY |
| 314 | tristate "Asix PHYs" |
| 315 | help |
| 316 | Currently supports the Asix Electronics PHY found in the X-Surf 100 |
| 317 | AX88796B package. |
| 318 | |
| 319 | config AT803X_PHY |
| 320 | tristate "AT803X PHYs" |
| 321 | ---help--- |
| 322 | Currently supports the AT8030 and AT8035 model |
| 323 | |
| 324 | config BCM63XX_PHY |
| 325 | tristate "Broadcom 63xx SOCs internal PHY" |
| 326 | depends on BCM63XX |
| 327 | select BCM_NET_PHYLIB |
| 328 | ---help--- |
| 329 | Currently supports the 6348 and 6358 PHYs. |
| 330 | |
| 331 | config BCM7XXX_PHY |
| 332 | tristate "Broadcom 7xxx SOCs internal PHYs" |
| 333 | select BCM_NET_PHYLIB |
| 334 | ---help--- |
| 335 | Currently supports the BCM7366, BCM7439, BCM7445, and |
| 336 | 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. |
| 337 | |
| 338 | config BCM87XX_PHY |
| 339 | tristate "Broadcom BCM8706 and BCM8727 PHYs" |
| 340 | help |
| 341 | Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. |
| 342 | |
| 343 | config BCM_CYGNUS_PHY |
| 344 | tristate "Broadcom Cygnus SoC internal PHY" |
| 345 | depends on ARCH_BCM_CYGNUS || COMPILE_TEST |
| 346 | depends on MDIO_BCM_IPROC |
| 347 | select BCM_NET_PHYLIB |
| 348 | ---help--- |
| 349 | This PHY driver is for the 1G internal PHYs of the Broadcom |
| 350 | Cygnus Family SoC. |
| 351 | |
| 352 | Currently supports internal PHY's used in the BCM11300, |
| 353 | BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, |
| 354 | BCM58303 & BCM58305 Broadcom Cygnus SoCs. |
| 355 | |
| 356 | config BCM_NET_PHYLIB |
| 357 | tristate |
| 358 | |
| 359 | config BROADCOM_PHY |
| 360 | tristate "Broadcom PHYs" |
| 361 | select BCM_NET_PHYLIB |
| 362 | ---help--- |
| 363 | Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, |
| 364 | BCM5481, BCM54810 and BCM5482 PHYs. |
| 365 | |
| 366 | config BCM84881_PHY |
| 367 | tristate "Broadcom BCM84881 PHY" |
| 368 | ---help--- |
| 369 | Support the Broadcom BCM84881 PHY. |
| 370 | |
| 371 | config CICADA_PHY |
| 372 | tristate "Cicada PHYs" |
| 373 | ---help--- |
| 374 | Currently supports the cis8204 |
| 375 | |
| 376 | config CORTINA_PHY |
| 377 | tristate "Cortina EDC CDR 10G Ethernet PHY" |
| 378 | ---help--- |
| 379 | Currently supports the CS4340 phy. |
| 380 | |
| 381 | config DAVICOM_PHY |
| 382 | tristate "Davicom PHYs" |
| 383 | ---help--- |
| 384 | Currently supports dm9161e and dm9131 |
| 385 | |
| 386 | config DP83822_PHY |
| 387 | tristate "Texas Instruments DP83822 PHY" |
| 388 | ---help--- |
| 389 | Supports the DP83822 PHY. |
| 390 | |
| 391 | config DP83TC811_PHY |
| 392 | tristate "Texas Instruments DP83TC822 PHY" |
| 393 | ---help--- |
| 394 | Supports the DP83TC822 PHY. |
| 395 | |
| 396 | config DP83848_PHY |
| 397 | tristate "Texas Instruments DP83848 PHY" |
| 398 | ---help--- |
| 399 | Supports the DP83848 PHY. |
| 400 | |
| 401 | config DP83867_PHY |
| 402 | tristate "Texas Instruments DP83867 Gigabit PHY" |
| 403 | ---help--- |
| 404 | Currently supports the DP83867 PHY. |
| 405 | |
| 406 | config FIXED_PHY |
| 407 | tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" |
| 408 | depends on PHYLIB |
| 409 | select SWPHY |
| 410 | ---help--- |
| 411 | Adds the platform "fixed" MDIO Bus to cover the boards that use |
| 412 | PHYs that are not connected to the real MDIO bus. |
| 413 | |
| 414 | Currently tested with mpc866ads and mpc8349e-mitx. |
| 415 | |
| 416 | config ICPLUS_PHY |
| 417 | tristate "ICPlus PHYs" |
| 418 | ---help--- |
| 419 | Currently supports the IP175C and IP1001 PHYs. |
| 420 | |
| 421 | config INTEL_XWAY_PHY |
| 422 | tristate "Intel XWAY PHYs" |
| 423 | ---help--- |
| 424 | Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. |
| 425 | These PHYs are marked as standalone chips under the names |
| 426 | PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel |
| 427 | SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. |
| 428 | |
| 429 | config LSI_ET1011C_PHY |
| 430 | tristate "LSI ET1011C PHY" |
| 431 | ---help--- |
| 432 | Supports the LSI ET1011C PHY. |
| 433 | |
| 434 | config LXT_PHY |
| 435 | tristate "Intel LXT PHYs" |
| 436 | ---help--- |
| 437 | Currently supports the lxt970, lxt971 |
| 438 | |
| 439 | config MARVELL_PHY |
| 440 | tristate "Marvell PHYs" |
| 441 | ---help--- |
| 442 | Currently has a driver for the 88E1011S |
| 443 | |
| 444 | config MARVELL_10G_PHY |
| 445 | tristate "Marvell Alaska 10Gbit PHYs" |
| 446 | ---help--- |
| 447 | Support for the Marvell Alaska MV88X3310 and compatible PHYs. |
| 448 | |
| 449 | config MARVELL_88Q_PHY |
| 450 | tristate "Marvell 88Q PHYs" |
| 451 | help |
| 452 | Currently supports the 88Q2110 PHYs. |
| 453 | |
| 454 | config MESON_GXL_PHY |
| 455 | tristate "Amlogic Meson GXL Internal PHY" |
| 456 | depends on ARCH_MESON || COMPILE_TEST |
| 457 | ---help--- |
| 458 | Currently has a driver for the Amlogic Meson GXL Internal PHY |
| 459 | |
| 460 | config MICREL_PHY |
| 461 | tristate "Micrel PHYs" |
| 462 | ---help--- |
| 463 | Supports the KSZ9021, VSC8201, KS8001 PHYs. |
| 464 | |
| 465 | config MICROCHIP_PHY |
| 466 | tristate "Microchip PHYs" |
| 467 | help |
| 468 | Supports the LAN88XX PHYs. |
| 469 | |
| 470 | config TJA110X_PHY |
| 471 | tristate "Tja110x PHYs" |
| 472 | help |
| 473 | Supports the Tja110x PHYs. |
| 474 | |
| 475 | config MICROCHIP_T1_PHY |
| 476 | tristate "Microchip T1 PHYs" |
| 477 | ---help--- |
| 478 | Supports the LAN87XX PHYs. |
| 479 | |
| 480 | config MICROSEMI_PHY |
| 481 | tristate "Microsemi PHYs" |
| 482 | ---help--- |
| 483 | Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs |
| 484 | |
| 485 | config NATIONAL_PHY |
| 486 | tristate "National Semiconductor PHYs" |
| 487 | ---help--- |
| 488 | Currently supports the DP83865 PHY. |
| 489 | |
| 490 | config NXP_TJA1100_PHY |
| 491 | tristate "NXP TJA1100 PHY" |
| 492 | help |
| 493 | Currently supports the TJA1100 PHY. |
| 494 | |
| 495 | config QSEMI_PHY |
| 496 | tristate "Quality Semiconductor PHYs" |
| 497 | ---help--- |
| 498 | Currently supports the qs6612 |
| 499 | |
| 500 | config REALTEK_PHY |
| 501 | tristate "Realtek PHYs" |
| 502 | ---help--- |
| 503 | Supports the Realtek 821x PHY. |
| 504 | |
| 505 | config RENESAS_PHY |
| 506 | tristate "Driver for Renesas PHYs" |
| 507 | ---help--- |
| 508 | Supports the Renesas PHYs uPD60620 and uPD60620A. |
| 509 | |
| 510 | config ROCKCHIP_PHY |
| 511 | tristate "Driver for Rockchip Ethernet PHYs" |
| 512 | ---help--- |
| 513 | Currently supports the integrated Ethernet PHY. |
| 514 | |
| 515 | config SMSC_PHY |
| 516 | tristate "SMSC PHYs" |
| 517 | ---help--- |
| 518 | Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs |
| 519 | |
| 520 | config STE10XP |
| 521 | tristate "STMicroelectronics STe10Xp PHYs" |
| 522 | ---help--- |
| 523 | This is the driver for the STe100p and STe101p PHYs. |
| 524 | |
| 525 | config TERANETICS_PHY |
| 526 | tristate "Teranetics PHYs" |
| 527 | ---help--- |
| 528 | Currently supports the Teranetics TN2020 |
| 529 | |
| 530 | config VITESSE_PHY |
| 531 | tristate "Vitesse PHYs" |
| 532 | ---help--- |
| 533 | Currently supports the vsc8244 |
| 534 | |
| 535 | config XILINX_GMII2RGMII |
| 536 | tristate "Xilinx GMII2RGMII converter driver" |
| 537 | ---help--- |
| 538 | This driver support xilinx GMII to RGMII IP core it provides |
| 539 | the Reduced Gigabit Media Independent Interface(RGMII) between |
| 540 | Ethernet physical media devices and the Gigabit Ethernet controller. |
| 541 | |
| 542 | source "drivers/net/phy/mtk/mt753x/Kconfig" |
| 543 | endif # PHYLIB |
| 544 | |
| 545 | config MICREL_KS8995MA |
| 546 | tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" |
| 547 | depends on SPI |