hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/net/phy/Kconfig
....@@ -1,173 +1,7 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # PHY Layer Configuration
34 #
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
- select MDIO_DEVRES
158
- help
159
- This driver supports the MDIO interfaces found on Cavium
160
- ThunderX SoCs when the MDIO bus device appears as a PCI
161
- device.
162
-
163
-config MDIO_XGENE
164
- tristate "APM X-Gene SoC MDIO bus controller"
165
- depends on ARCH_XGENE || COMPILE_TEST
166
- help
167
- This module provides a driver for the MDIO busses found in the
168
- APM X-Gene SoC's.
169
-
170
-endif
1715
1726 config PHYLINK
1737 tristate
....@@ -183,6 +17,7 @@
18317 tristate "PHY Device support and infrastructure"
18418 depends on NETDEVICES
18519 select MDIO_DEVICE
20
+ select MDIO_DEVRES
18621 help
18722 Ethernet controllers are usually attached to PHY
18823 devices. This option provides infrastructure for
....@@ -196,7 +31,7 @@
19631 config LED_TRIGGER_PHY
19732 bool "Support LED triggers for tracking link state"
19833 depends on LEDS_TRIGGERS
199
- ---help---
34
+ help
20035 Adds support for a set of LED trigger events per-PHY. Link
20136 state change will trigger the events, for consumption by an
20237 LED class driver. There are triggers for each link speed currently
....@@ -210,7 +45,15 @@
21045 for any speed known to the PHY.
21146
21247
213
-comment "MII PHY device drivers"
48
+config FIXED_PHY
49
+ tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
50
+ depends on PHYLIB
51
+ select SWPHY
52
+ help
53
+ Adds the platform "fixed" MDIO Bus to cover the boards that use
54
+ PHYs that are not connected to the real MDIO bus.
55
+
56
+ Currently tested with mpc866ads and mpc8349e-mitx.
21457
21558 config SFP
21659 tristate "SFP cage support"
....@@ -218,14 +61,31 @@
21861 depends on HWMON || HWMON=n
21962 select MDIO_I2C
22063
64
+comment "MII PHY device drivers"
65
+
22166 config AMD_PHY
22267 tristate "AMD PHYs"
223
- ---help---
68
+ help
22469 Currently supports the am79c874
70
+
71
+config MESON_GXL_PHY
72
+ tristate "Amlogic Meson GXL Internal PHY"
73
+ depends on ARCH_MESON || COMPILE_TEST
74
+ help
75
+ Currently has a driver for the Amlogic Meson GXL Internal PHY
76
+
77
+config ADIN_PHY
78
+ tristate "Analog Devices Industrial Ethernet PHYs"
79
+ help
80
+ Adds support for the Analog Devices Industrial Ethernet PHYs.
81
+ Currently supports the:
82
+ - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY
83
+ - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit
84
+ Ethernet PHY
22585
22686 config AQUANTIA_PHY
22787 tristate "Aquantia PHYs"
228
- ---help---
88
+ help
22989 Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
23090
23191 config AX88796B_PHY
....@@ -234,24 +94,43 @@
23494 Currently supports the Asix Electronics PHY found in the X-Surf 100
23595 AX88796B package.
23696
237
-config AT803X_PHY
238
- tristate "AT803X PHYs"
239
- ---help---
240
- Currently supports the AT8030 and AT8035 model
97
+config BROADCOM_PHY
98
+ tristate "Broadcom 54XX PHYs"
99
+ select BCM_NET_PHYLIB
100
+ help
101
+ Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
102
+ BCM5481, BCM54810 and BCM5482 PHYs.
103
+
104
+config BCM54140_PHY
105
+ tristate "Broadcom BCM54140 PHY"
106
+ depends on PHYLIB
107
+ depends on HWMON || HWMON=n
108
+ select BCM_NET_PHYLIB
109
+ help
110
+ Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY.
111
+
112
+ This driver also supports the hardware monitoring of this PHY and
113
+ exposes voltage and temperature sensors.
241114
242115 config BCM63XX_PHY
243116 tristate "Broadcom 63xx SOCs internal PHY"
244
- depends on BCM63XX
117
+ depends on BCM63XX || COMPILE_TEST
245118 select BCM_NET_PHYLIB
246
- ---help---
119
+ help
247120 Currently supports the 6348 and 6358 PHYs.
248121
249122 config BCM7XXX_PHY
250123 tristate "Broadcom 7xxx SOCs internal PHYs"
251124 select BCM_NET_PHYLIB
252
- ---help---
125
+ help
253126 Currently supports the BCM7366, BCM7439, BCM7445, and
254127 40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
128
+
129
+config BCM84881_PHY
130
+ tristate "Broadcom BCM84881 PHY"
131
+ depends on PHYLIB
132
+ help
133
+ Support the Broadcom BCM84881 PHY.
255134
256135 config BCM87XX_PHY
257136 tristate "Broadcom BCM8706 and BCM8727 PHYs"
....@@ -259,13 +138,13 @@
259138 Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
260139
261140 config BCM_CYGNUS_PHY
262
- tristate "Broadcom Cygnus SoC internal PHY"
263
- depends on ARCH_BCM_CYGNUS || COMPILE_TEST
141
+ tristate "Broadcom Cygnus/Omega SoC internal PHY"
142
+ depends on ARCH_BCM_IPROC || COMPILE_TEST
264143 depends on MDIO_BCM_IPROC
265144 select BCM_NET_PHYLIB
266
- ---help---
145
+ help
267146 This PHY driver is for the 1G internal PHYs of the Broadcom
268
- Cygnus Family SoC.
147
+ Cygnus and Omega Family SoC.
269148
270149 Currently supports internal PHY's used in the BCM11300,
271150 BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
....@@ -274,66 +153,34 @@
274153 config BCM_NET_PHYLIB
275154 tristate
276155
277
-config BROADCOM_PHY
278
- tristate "Broadcom PHYs"
279
- select BCM_NET_PHYLIB
280
- ---help---
281
- Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
282
- BCM5481, BCM54810 and BCM5482 PHYs.
283
-
284156 config CICADA_PHY
285157 tristate "Cicada PHYs"
286
- ---help---
158
+ help
287159 Currently supports the cis8204
288160
289161 config CORTINA_PHY
290162 tristate "Cortina EDC CDR 10G Ethernet PHY"
291
- ---help---
163
+ help
292164 Currently supports the CS4340 phy.
293165
294166 config DAVICOM_PHY
295167 tristate "Davicom PHYs"
296
- ---help---
168
+ help
297169 Currently supports dm9161e and dm9131
298
-
299
-config DP83822_PHY
300
- tristate "Texas Instruments DP83822 PHY"
301
- ---help---
302
- Supports the DP83822 PHY.
303
-
304
-config DP83TC811_PHY
305
- tristate "Texas Instruments DP83TC822 PHY"
306
- ---help---
307
- Supports the DP83TC822 PHY.
308
-
309
-config DP83848_PHY
310
- tristate "Texas Instruments DP83848 PHY"
311
- ---help---
312
- Supports the DP83848 PHY.
313
-
314
-config DP83867_PHY
315
- tristate "Texas Instruments DP83867 Gigabit PHY"
316
- ---help---
317
- Currently supports the DP83867 PHY.
318
-
319
-config FIXED_PHY
320
- tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
321
- depends on PHYLIB
322
- select SWPHY
323
- ---help---
324
- Adds the platform "fixed" MDIO Bus to cover the boards that use
325
- PHYs that are not connected to the real MDIO bus.
326
-
327
- Currently tested with mpc866ads and mpc8349e-mitx.
328170
329171 config ICPLUS_PHY
330172 tristate "ICPlus PHYs"
331
- ---help---
173
+ help
332174 Currently supports the IP175C and IP1001 PHYs.
175
+
176
+config LXT_PHY
177
+ tristate "Intel LXT PHYs"
178
+ help
179
+ Currently supports the lxt970, lxt971
333180
334181 config INTEL_XWAY_PHY
335182 tristate "Intel XWAY PHYs"
336
- ---help---
183
+ help
337184 Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
338185 These PHYs are marked as standalone chips under the names
339186 PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
....@@ -341,33 +188,22 @@
341188
342189 config LSI_ET1011C_PHY
343190 tristate "LSI ET1011C PHY"
344
- ---help---
191
+ help
345192 Supports the LSI ET1011C PHY.
346193
347
-config LXT_PHY
348
- tristate "Intel LXT PHYs"
349
- ---help---
350
- Currently supports the lxt970, lxt971
351
-
352194 config MARVELL_PHY
353
- tristate "Marvell PHYs"
354
- ---help---
355
- Currently has a driver for the 88E1011S
195
+ tristate "Marvell Alaska PHYs"
196
+ help
197
+ Currently has a driver for the 88E1XXX
356198
357199 config MARVELL_10G_PHY
358200 tristate "Marvell Alaska 10Gbit PHYs"
359
- ---help---
201
+ help
360202 Support for the Marvell Alaska MV88X3310 and compatible PHYs.
361
-
362
-config MESON_GXL_PHY
363
- tristate "Amlogic Meson GXL Internal PHY"
364
- depends on ARCH_MESON || COMPILE_TEST
365
- ---help---
366
- Currently has a driver for the Amlogic Meson GXL Internal PHY
367203
368204 config MICREL_PHY
369205 tristate "Micrel PHYs"
370
- ---help---
206
+ help
371207 Supports the KSZ9021, VSC8201, KS8001 PHYs.
372208
373209 config MICROCHIP_PHY
....@@ -377,13 +213,15 @@
377213
378214 config MICROCHIP_T1_PHY
379215 tristate "Microchip T1 PHYs"
380
- ---help---
216
+ help
381217 Supports the LAN87XX PHYs.
382218
383219 config MICROSEMI_PHY
384220 tristate "Microsemi PHYs"
385
- ---help---
386
- Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
221
+ depends on MACSEC || MACSEC=n
222
+ select CRYPTO_LIB_AES if MACSEC
223
+ help
224
+ Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
387225
388226 config MOTORCOMM_PHY
389227 tristate "Motorcomm PHYs"
....@@ -393,57 +231,96 @@
393231
394232 config NATIONAL_PHY
395233 tristate "National Semiconductor PHYs"
396
- ---help---
234
+ help
397235 Currently supports the DP83865 PHY.
236
+
237
+config NXP_TJA11XX_PHY
238
+ tristate "NXP TJA11xx PHYs support"
239
+ depends on HWMON
240
+ help
241
+ Currently supports the NXP TJA1100 and TJA1101 PHY.
242
+
243
+config AT803X_PHY
244
+ tristate "Qualcomm Atheros AR803X PHYs"
245
+ depends on REGULATOR
246
+ help
247
+ Currently supports the AR8030, AR8031, AR8033 and AR8035 model
398248
399249 config QSEMI_PHY
400250 tristate "Quality Semiconductor PHYs"
401
- ---help---
251
+ help
402252 Currently supports the qs6612
403253
404254 config REALTEK_PHY
405255 tristate "Realtek PHYs"
406
- ---help---
256
+ help
407257 Supports the Realtek 821x PHY.
408258
409259 config RENESAS_PHY
410
- tristate "Driver for Renesas PHYs"
411
- ---help---
260
+ tristate "Renesas PHYs"
261
+ help
412262 Supports the Renesas PHYs uPD60620 and uPD60620A.
413263
414264 config ROCKCHIP_PHY
415
- tristate "Driver for Rockchip Ethernet PHYs"
416
- ---help---
417
- Currently supports the integrated Ethernet PHY.
265
+ tristate "Rockchip Ethernet PHYs"
266
+ help
267
+ Currently supports the integrated Ethernet PHY.
418268
419269 config RK630_PHY
420270 tristate "Driver for RK630 Ethernet PHYs"
421
- ---help---
271
+ help
422272 Currently supports the RK630 Ethernet PHY.
423273
424274 config SMSC_PHY
425275 tristate "SMSC PHYs"
426
- ---help---
276
+ help
427277 Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
428278
429279 config STE10XP
430280 tristate "STMicroelectronics STe10Xp PHYs"
431
- ---help---
281
+ help
432282 This is the driver for the STe100p and STe101p PHYs.
433283
434284 config TERANETICS_PHY
435285 tristate "Teranetics PHYs"
436
- ---help---
286
+ help
437287 Currently supports the Teranetics TN2020
288
+
289
+config DP83822_PHY
290
+ tristate "Texas Instruments DP83822/825/826 PHYs"
291
+ help
292
+ Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S,
293
+ DP83826C and DP83826NC PHYs.
294
+
295
+config DP83TC811_PHY
296
+ tristate "Texas Instruments DP83TC811 PHY"
297
+ help
298
+ Supports the DP83TC811 PHY.
299
+
300
+config DP83848_PHY
301
+ tristate "Texas Instruments DP83848 PHY"
302
+ help
303
+ Supports the DP83848 PHY.
304
+
305
+config DP83867_PHY
306
+ tristate "Texas Instruments DP83867 Gigabit PHY"
307
+ help
308
+ Currently supports the DP83867 PHY.
309
+
310
+config DP83869_PHY
311
+ tristate "Texas Instruments DP83869 Gigabit PHY"
312
+ help
313
+ Currently supports the DP83869 PHY. This PHY supports copper and
314
+ fiber connections.
438315
439316 config VITESSE_PHY
440317 tristate "Vitesse PHYs"
441
- ---help---
318
+ help
442319 Currently supports the vsc8244
443320
444321 config XILINX_GMII2RGMII
445322 tristate "Xilinx GMII2RGMII converter driver"
446
- ---help---
323
+ help
447324 This driver support xilinx GMII to RGMII IP core it provides
448325 the Reduced Gigabit Media Independent Interface(RGMII) between
449326 Ethernet physical media devices and the Gigabit Ethernet controller.