Merge remote-tracking branches 'asoc/topic/cs42l73', 'asoc/topic/cs47l24', 'asoc...
[sfrench/cifs-2.6.git] / drivers / net / phy / Kconfig
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 && OF_MDIO
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 && GPIOLIB
96         ---help---
97           Supports GPIO lib-based MDIO busses.
98
99           To compile this driver as a module, choose M here: the module
100           will be called mdio-gpio.
101
102 config MDIO_HISI_FEMAC
103         tristate "Hisilicon FEMAC MDIO bus controller"
104         depends on HAS_IOMEM && OF_MDIO
105         help
106           This module provides a driver for the MDIO busses found in the
107           Hisilicon SoC that have an Fast Ethernet MAC.
108
109 config MDIO_I2C
110         tristate
111         depends on I2C
112         help
113           Support I2C based PHYs.  This provides a MDIO bus bridged
114           to I2C to allow PHYs connected in I2C mode to be accessed
115           using the existing infrastructure.
116
117           This is library mode.
118
119 config MDIO_MOXART
120         tristate "MOXA ART MDIO interface support"
121         depends on ARCH_MOXART
122         help
123           This driver supports the MDIO interface found in the network
124           interface units of the MOXA ART SoC
125
126 config MDIO_OCTEON
127         tristate "Octeon and some ThunderX SOCs MDIO buses"
128         depends on 64BIT
129         depends on HAS_IOMEM && OF_MDIO
130         select MDIO_CAVIUM
131         help
132           This module provides a driver for the Octeon and ThunderX MDIO
133           buses. It is required by the Octeon and ThunderX ethernet device
134           drivers on some systems.
135
136 config MDIO_SUN4I
137         tristate "Allwinner sun4i MDIO interface support"
138         depends on ARCH_SUNXI
139         help
140           This driver supports the MDIO interface found in the network
141           interface units of the Allwinner SoC that have an EMAC (A10,
142           A12, A10s, etc.)
143
144 config MDIO_THUNDER
145         tristate "ThunderX SOCs MDIO buses"
146         depends on 64BIT
147         depends on PCI
148         select MDIO_CAVIUM
149         help
150           This driver supports the MDIO interfaces found on Cavium
151           ThunderX SoCs when the MDIO bus device appears as a PCI
152           device.
153
154 config MDIO_XGENE
155         tristate "APM X-Gene SoC MDIO bus controller"
156         depends on ARCH_XGENE || COMPILE_TEST
157         help
158           This module provides a driver for the MDIO busses found in the
159           APM X-Gene SoC's.
160
161 endif
162
163 config PHYLINK
164         tristate
165         depends on NETDEVICES
166         select PHYLIB
167         select SWPHY
168         help
169           PHYlink models the link between the PHY and MAC, allowing fixed
170           configuration links, PHYs, and Serdes links with MAC level
171           autonegotiation modes.
172
173 menuconfig PHYLIB
174         tristate "PHY Device support and infrastructure"
175         depends on NETDEVICES
176         select MDIO_DEVICE
177         help
178           Ethernet controllers are usually attached to PHY
179           devices.  This option provides infrastructure for
180           managing PHY devices.
181
182 if PHYLIB
183
184 config SWPHY
185         bool
186
187 config LED_TRIGGER_PHY
188         bool "Support LED triggers for tracking link state"
189         depends on LEDS_TRIGGERS
190         ---help---
191           Adds support for a set of LED trigger events per-PHY.  Link
192           state change will trigger the events, for consumption by an
193           LED class driver.  There are triggers for each link speed currently
194           supported by the PHY and also a one common "link" trigger as a
195           logical-or of all the link speed ones.
196           All these triggers are named according to the following pattern:
197               <mii bus id>:<phy>:<speed>
198
199           Where speed is in the form:
200                 <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
201                 for any speed known to the PHY.
202
203
204 comment "MII PHY device drivers"
205
206 config SFP
207         tristate "SFP cage support"
208         depends on I2C && PHYLINK
209         select MDIO_I2C
210
211 config AMD_PHY
212         tristate "AMD PHYs"
213         ---help---
214           Currently supports the am79c874
215
216 config AQUANTIA_PHY
217         tristate "Aquantia PHYs"
218         ---help---
219           Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
220
221 config AT803X_PHY
222         tristate "AT803X PHYs"
223         ---help---
224           Currently supports the AT8030 and AT8035 model
225
226 config BCM63XX_PHY
227         tristate "Broadcom 63xx SOCs internal PHY"
228         depends on BCM63XX
229         select BCM_NET_PHYLIB
230         ---help---
231           Currently supports the 6348 and 6358 PHYs.
232
233 config BCM7XXX_PHY
234         tristate "Broadcom 7xxx SOCs internal PHYs"
235         select BCM_NET_PHYLIB
236         ---help---
237           Currently supports the BCM7366, BCM7439, BCM7445, and
238           40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
239
240 config BCM87XX_PHY
241         tristate "Broadcom BCM8706 and BCM8727 PHYs"
242         help
243           Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
244
245 config BCM_CYGNUS_PHY
246         tristate "Broadcom Cygnus SoC internal PHY"
247         depends on ARCH_BCM_CYGNUS || COMPILE_TEST
248         depends on MDIO_BCM_IPROC
249         select BCM_NET_PHYLIB
250         ---help---
251           This PHY driver is for the 1G internal PHYs of the Broadcom
252           Cygnus Family SoC.
253
254           Currently supports internal PHY's used in the BCM11300,
255           BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
256           BCM58303 & BCM58305 Broadcom Cygnus SoCs.
257
258 config BCM_NET_PHYLIB
259         tristate
260
261 config BROADCOM_PHY
262         tristate "Broadcom PHYs"
263         select BCM_NET_PHYLIB
264         ---help---
265           Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
266           BCM5481, BCM54810 and BCM5482 PHYs.
267
268 config CICADA_PHY
269         tristate "Cicada PHYs"
270         ---help---
271           Currently supports the cis8204
272
273 config CORTINA_PHY
274         tristate "Cortina EDC CDR 10G Ethernet PHY"
275         ---help---
276           Currently supports the CS4340 phy.
277
278 config DAVICOM_PHY
279         tristate "Davicom PHYs"
280         ---help---
281           Currently supports dm9161e and dm9131
282
283 config DP83822_PHY
284         tristate "Texas Instruments DP83822 PHY"
285         ---help---
286           Supports the DP83822 PHY.
287
288 config DP83848_PHY
289         tristate "Texas Instruments DP83848 PHY"
290         ---help---
291           Supports the DP83848 PHY.
292
293 config DP83867_PHY
294         tristate "Texas Instruments DP83867 Gigabit PHY"
295         ---help---
296           Currently supports the DP83867 PHY.
297
298 config FIXED_PHY
299         tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
300         depends on PHYLIB
301         select SWPHY
302         ---help---
303           Adds the platform "fixed" MDIO Bus to cover the boards that use
304           PHYs that are not connected to the real MDIO bus.
305
306           Currently tested with mpc866ads and mpc8349e-mitx.
307
308 config ICPLUS_PHY
309         tristate "ICPlus PHYs"
310         ---help---
311           Currently supports the IP175C and IP1001 PHYs.
312
313 config INTEL_XWAY_PHY
314         tristate "Intel XWAY PHYs"
315         ---help---
316           Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
317           These PHYs are marked as standalone chips under the names
318           PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
319           SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
320
321 config LSI_ET1011C_PHY
322         tristate "LSI ET1011C PHY"
323         ---help---
324           Supports the LSI ET1011C PHY.
325
326 config LXT_PHY
327         tristate "Intel LXT PHYs"
328         ---help---
329           Currently supports the lxt970, lxt971
330
331 config MARVELL_PHY
332         tristate "Marvell PHYs"
333         ---help---
334           Currently has a driver for the 88E1011S
335
336 config MARVELL_10G_PHY
337         tristate "Marvell Alaska 10Gbit PHYs"
338         ---help---
339           Support for the Marvell Alaska MV88X3310 and compatible PHYs.
340
341 config MESON_GXL_PHY
342         tristate "Amlogic Meson GXL Internal PHY"
343         depends on ARCH_MESON || COMPILE_TEST
344         ---help---
345           Currently has a driver for the Amlogic Meson GXL Internal PHY
346
347 config MICREL_PHY
348         tristate "Micrel PHYs"
349         ---help---
350           Supports the KSZ9021, VSC8201, KS8001 PHYs.
351
352 config MICROCHIP_PHY
353         tristate "Microchip PHYs"
354         help
355           Supports the LAN88XX PHYs.
356
357 config MICROSEMI_PHY
358         tristate "Microsemi PHYs"
359         ---help---
360           Currently supports VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
361
362 config NATIONAL_PHY
363         tristate "National Semiconductor PHYs"
364         ---help---
365           Currently supports the DP83865 PHY.
366
367 config QSEMI_PHY
368         tristate "Quality Semiconductor PHYs"
369         ---help---
370           Currently supports the qs6612
371
372 config REALTEK_PHY
373         tristate "Realtek PHYs"
374         ---help---
375           Supports the Realtek 821x PHY.
376
377 config RENESAS_PHY
378         tristate "Driver for Renesas PHYs"
379         ---help---
380           Supports the Renesas PHYs uPD60620 and uPD60620A.
381
382 config ROCKCHIP_PHY
383         tristate "Driver for Rockchip Ethernet PHYs"
384         ---help---
385           Currently supports the integrated Ethernet PHY.
386
387 config SMSC_PHY
388         tristate "SMSC PHYs"
389         ---help---
390           Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
391
392 config STE10XP
393         tristate "STMicroelectronics STe10Xp PHYs"
394         ---help---
395           This is the driver for the STe100p and STe101p PHYs.
396
397 config TERANETICS_PHY
398         tristate "Teranetics PHYs"
399         ---help---
400           Currently supports the Teranetics TN2020
401
402 config VITESSE_PHY
403         tristate "Vitesse PHYs"
404         ---help---
405           Currently supports the vsc8244
406
407 config XILINX_GMII2RGMII
408         tristate "Xilinx GMII2RGMII converter driver"
409         ---help---
410           This driver support xilinx GMII to RGMII IP core it provides
411           the Reduced Gigabit Media Independent Interface(RGMII) between
412           Ethernet physical media devices and the Gigabit Ethernet controller.
413
414 endif # PHYLIB
415
416 config MICREL_KS8995MA
417         tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
418         depends on SPI