Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / drivers / net / phy / Kconfig
1 #
2 # PHY Layer Configuration
3 #
4
5 menuconfig PHYLIB
6         tristate "PHY Device support and infrastructure"
7         depends on NETDEVICES
8         help
9           Ethernet controllers are usually attached to PHY
10           devices.  This option provides infrastructure for
11           managing PHY devices.
12
13 if PHYLIB
14
15 config SWPHY
16         bool
17
18 comment "MII PHY device drivers"
19
20 config AQUANTIA_PHY
21         tristate "Drivers for the Aquantia PHYs"
22         ---help---
23           Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405
24
25 config AT803X_PHY
26         tristate "Drivers for Atheros AT803X PHYs"
27         ---help---
28           Currently supports the AT8030 and AT8035 model
29
30 config AMD_PHY
31         tristate "Drivers for the AMD PHYs"
32         ---help---
33           Currently supports the am79c874
34
35 config MARVELL_PHY
36         tristate "Drivers for Marvell PHYs"
37         ---help---
38           Currently has a driver for the 88E1011S
39         
40 config DAVICOM_PHY
41         tristate "Drivers for Davicom PHYs"
42         ---help---
43           Currently supports dm9161e and dm9131
44
45 config QSEMI_PHY
46         tristate "Drivers for Quality Semiconductor PHYs"
47         ---help---
48           Currently supports the qs6612
49
50 config LXT_PHY
51         tristate "Drivers for the Intel LXT PHYs"
52         ---help---
53           Currently supports the lxt970, lxt971
54
55 config CICADA_PHY
56         tristate "Drivers for the Cicada PHYs"
57         ---help---
58           Currently supports the cis8204
59
60 config VITESSE_PHY
61         tristate "Drivers for the Vitesse PHYs"
62         ---help---
63           Currently supports the vsc8244
64
65 config TERANETICS_PHY
66         tristate "Drivers for the Teranetics PHYs"
67         ---help---
68           Currently supports the Teranetics TN2020
69
70 config SMSC_PHY
71         tristate "Drivers for SMSC PHYs"
72         ---help---
73           Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
74
75 config BCM_NET_PHYLIB
76         tristate
77
78 config BROADCOM_PHY
79         tristate "Drivers for Broadcom PHYs"
80         select BCM_NET_PHYLIB
81         ---help---
82           Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464,
83           BCM5481 and BCM5482 PHYs.
84
85 config BCM_CYGNUS_PHY
86         tristate "Drivers for Broadcom Cygnus SoC internal PHY"
87         depends on ARCH_BCM_CYGNUS || COMPILE_TEST
88         depends on MDIO_BCM_IPROC
89         select BCM_NET_PHYLIB
90         ---help---
91           This PHY driver is for the 1G internal PHYs of the Broadcom
92           Cygnus Family SoC.
93
94           Currently supports internal PHY's used in the BCM11300,
95           BCM11320, BCM11350, BCM11360, BCM58300, BCM58302,
96           BCM58303 & BCM58305 Broadcom Cygnus SoCs.
97
98 config BCM63XX_PHY
99         tristate "Drivers for Broadcom 63xx SOCs internal PHY"
100         depends on BCM63XX
101         select BCM_NET_PHYLIB
102         ---help---
103           Currently supports the 6348 and 6358 PHYs.
104
105 config BCM7XXX_PHY
106         tristate "Drivers for Broadcom 7xxx SOCs internal PHYs"
107         select BCM_NET_PHYLIB
108         ---help---
109           Currently supports the BCM7366, BCM7439, BCM7445, and
110           40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
111
112 config BCM87XX_PHY
113         tristate "Driver for Broadcom BCM8706 and BCM8727 PHYs"
114         help
115           Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
116
117 config ICPLUS_PHY
118         tristate "Drivers for ICPlus PHYs"
119         ---help---
120           Currently supports the IP175C and IP1001 PHYs.
121
122 config REALTEK_PHY
123         tristate "Drivers for Realtek PHYs"
124         ---help---
125           Supports the Realtek 821x PHY.
126
127 config NATIONAL_PHY
128         tristate "Drivers for National Semiconductor PHYs"
129         ---help---
130           Currently supports the DP83865 PHY.
131
132 config STE10XP
133         tristate "Driver for STMicroelectronics STe10Xp PHYs"
134         ---help---
135           This is the driver for the STe100p and STe101p PHYs.
136
137 config LSI_ET1011C_PHY
138         tristate "Driver for LSI ET1011C PHY"
139         ---help---
140           Supports the LSI ET1011C PHY.
141
142 config MICREL_PHY
143         tristate "Driver for Micrel PHYs"
144         ---help---
145           Supports the KSZ9021, VSC8201, KS8001 PHYs.
146
147 config DP83848_PHY
148         tristate "Driver for Texas Instruments DP83848 PHY"
149         ---help---
150           Supports the DP83848 PHY.
151
152 config DP83867_PHY
153         tristate "Drivers for Texas Instruments DP83867 Gigabit PHY"
154         ---help---
155           Currently supports the DP83867 PHY.
156
157 config MICROCHIP_PHY
158         tristate "Drivers for Microchip PHYs"
159         help
160           Supports the LAN88XX PHYs.
161
162 config FIXED_PHY
163         tristate "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
164         depends on PHYLIB
165         select SWPHY
166         ---help---
167           Adds the platform "fixed" MDIO Bus to cover the boards that use
168           PHYs that are not connected to the real MDIO bus.
169
170           Currently tested with mpc866ads and mpc8349e-mitx.
171
172 config MDIO_BITBANG
173         tristate "Support for bitbanged MDIO buses"
174         help
175           This module implements the MDIO bus protocol in software,
176           for use by low level drivers that export the ability to
177           drive the relevant pins.
178
179           If in doubt, say N.
180
181 config MDIO_GPIO
182         tristate "Support for GPIO lib-based bitbanged MDIO buses"
183         depends on MDIO_BITBANG && GPIOLIB
184         ---help---
185           Supports GPIO lib-based MDIO busses.
186
187           To compile this driver as a module, choose M here: the module
188           will be called mdio-gpio.
189
190 config MDIO_CAVIUM
191         tristate
192
193 config MDIO_OCTEON
194         tristate "Support for MDIO buses on Octeon and some ThunderX SOCs"
195         depends on 64BIT
196         depends on HAS_IOMEM
197         select MDIO_CAVIUM
198         help
199           This module provides a driver for the Octeon and ThunderX MDIO
200           buses. It is required by the Octeon and ThunderX ethernet device
201           drivers on some systems.
202
203 config MDIO_THUNDER
204         tristate "Support for MDIO buses on ThunderX SOCs"
205         depends on 64BIT
206         depends on PCI
207         select MDIO_CAVIUM
208         help
209           This driver supports the MDIO interfaces found on Cavium
210           ThunderX SoCs when the MDIO bus device appears as a PCI
211           device.
212
213
214 config MDIO_SUN4I
215         tristate "Allwinner sun4i MDIO interface support"
216         depends on ARCH_SUNXI
217         help
218           This driver supports the MDIO interface found in the network
219           interface units of the Allwinner SoC that have an EMAC (A10,
220           A12, A10s, etc.)
221
222 config MDIO_MOXART
223         tristate "MOXA ART MDIO interface support"
224         depends on ARCH_MOXART
225         help
226           This driver supports the MDIO interface found in the network
227           interface units of the MOXA ART SoC
228
229 config MDIO_BUS_MUX
230         tristate
231         depends on OF_MDIO
232         help
233           This module provides a driver framework for MDIO bus
234           multiplexers which connect one of several child MDIO busses
235           to a parent bus.  Switching between child busses is done by
236           device specific drivers.
237
238 config MDIO_BUS_MUX_GPIO
239         tristate "Support for GPIO controlled MDIO bus multiplexers"
240         depends on OF_GPIO && OF_MDIO
241         select MDIO_BUS_MUX
242         help
243           This module provides a driver for MDIO bus multiplexers that
244           are controlled via GPIO lines.  The multiplexer connects one of
245           several child MDIO busses to a parent bus.  Child bus
246           selection is under the control of GPIO lines.
247
248 config MDIO_BUS_MUX_MMIOREG
249         tristate "Support for MMIO device-controlled MDIO bus multiplexers"
250         depends on OF_MDIO && HAS_IOMEM
251         select MDIO_BUS_MUX
252         help
253           This module provides a driver for MDIO bus multiplexers that
254           are controlled via a simple memory-mapped device, like an FPGA.
255           The multiplexer connects one of several child MDIO busses to a
256           parent bus.  Child bus selection is under the control of one of
257           the FPGA's registers.
258
259           Currently, only 8-bit registers are supported.
260
261 config MDIO_BUS_MUX_BCM_IPROC
262         tristate "Support for iProc based MDIO bus multiplexers"
263         depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
264         select MDIO_BUS_MUX
265         default ARCH_BCM_IPROC
266         help
267           This module provides a driver for MDIO bus multiplexers found in
268           iProc based Broadcom SoCs. This multiplexer connects one of several
269           child MDIO bus to a parent bus. Buses could be internal as well as
270           external and selection logic lies inside the same multiplexer.
271
272 config MDIO_BCM_UNIMAC
273         tristate "Broadcom UniMAC MDIO bus controller"
274         depends on HAS_IOMEM
275         help
276           This module provides a driver for the Broadcom UniMAC MDIO busses.
277           This hardware can be found in the Broadcom GENET Ethernet MAC
278           controllers as well as some Broadcom Ethernet switches such as the
279           Starfighter 2 switches.
280
281 config MDIO_BCM_IPROC
282         tristate "Broadcom iProc MDIO bus controller"
283         depends on ARCH_BCM_IPROC || COMPILE_TEST
284         depends on HAS_IOMEM && OF_MDIO
285         help
286           This module provides a driver for the MDIO busses found in the
287           Broadcom iProc SoC's.
288
289 config INTEL_XWAY_PHY
290         tristate "Driver for Intel XWAY PHYs"
291         ---help---
292           Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs.
293           These PHYs are marked as standalone chips under the names
294           PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel
295           SoCs xRX200, xRX300, xRX330, xRX350 and xRX550.
296
297 config MDIO_HISI_FEMAC
298         tristate "Hisilicon FEMAC MDIO bus controller"
299         depends on HAS_IOMEM && OF_MDIO
300         help
301           This module provides a driver for the MDIO busses found in the
302           Hisilicon SoC that have an Fast Ethernet MAC.
303
304 config MDIO_XGENE
305         tristate "APM X-Gene SoC MDIO bus controller"
306         depends on ARCH_XGENE || COMPILE_TEST
307         help
308           This module provides a driver for the MDIO busses found in the
309           APM X-Gene SoC's.
310
311 endif # PHYLIB
312
313 config MICREL_KS8995MA
314         tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch"
315         depends on SPI