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