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