Merge branch 'vendor/FILE'
[dragonfly.git] / sys / dev / netif / mii_layer / miidevs
1 $DragonFly: src/sys/dev/netif/mii_layer/miidevs,v 1.16 2008/07/22 11:16:11 sephe Exp $
2 /* $FreeBSD: src/sys/dev/mii/miidevs,v 1.4.2.13 2003/07/22 02:12:55 ps Exp $ */
3 /*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/
4
5 /*-
6  * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
7  * All rights reserved.
8  *
9  * This code is derived from software contributed to The NetBSD Foundation
10  * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
11  * NASA Ames Research Center.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  * 1. Redistributions of source code must retain the above copyright
17  *    notice, this list of conditions and the following disclaimer.
18  * 2. Redistributions in binary form must reproduce the above copyright
19  *    notice, this list of conditions and the following disclaimer in the
20  *    documentation and/or other materials provided with the distribution.
21  * 3. All advertising materials mentioning features or use of this software
22  *    must display the following acknowledgement:
23  *      This product includes software developed by the NetBSD
24  *      Foundation, Inc. and its contributors.
25  * 4. Neither the name of The NetBSD Foundation nor the names of its
26  *    contributors may be used to endorse or promote products derived
27  *    from this software without specific prior written permission.
28  *
29  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
30  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
31  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
33  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39  * POSSIBILITY OF SUCH DAMAGE.
40  */
41
42 /*
43  * List of known MII OUIs.
44  * For a complete list see http://standards.ieee.org/regauth/oui/
45  *
46  * XXX Vendors do obviously not agree how OUIs (18 bit) are mapped
47  * to the 16 bits available in the id registers. The MII_OUI() macro
48  * in "mii.h" reflects the most obvious way. If a vendor uses a
49  * different mapping, an "xx" prefixed OUI is defined here which is
50  * mangled accordingly to compensate.
51  */
52
53 oui ALTIMA                      0x0010a9        Altima Communications
54 oui AMD                         0x00001a        Advanced Micro Devices
55 oui ATHEROS                     0x001374        Atheros Communications
56 oui BROADCOM                    0x001018        Broadcom Corporation
57 oui BROADCOM2                   0x000af7        Broadcom Corporation
58 oui CICADA                      0x0003f1        Cicada Semiconductor
59 oui DAVICOM                     0x00606e        Davicom Semiconductor
60 oui ICS                         0x00a0be        Integrated Circuit Systems
61 oui INTEL                       0x00aa00        Intel
62 oui JATO                        0x00e083        Jato Technologies
63 oui JMICRON                     0x001b8c        JMicron Technologies
64 oui LEVEL1                      0x00207b        Level 1
65 oui NATSEMI                     0x080017        National Semiconductor
66 oui QUALSEMI                    0x006051        Quality Semiconductor
67 oui REALTEK                     0x000020        RealTek Semicondctor
68 oui REALTEK2                    0x00e04c        RealTek Semicondctor
69 oui SEEQ                        0x00a07d        Seeq
70 oui AGERE                       0x00a0bc        Agere Systems
71 oui SIS                         0x00e006        Silicon Integrated Systems
72 oui TDK                         0x00c039        TDK
73 oui TI                          0x080028        Texas Instruments
74 oui XAQTI                       0x00e0ae        XaQti Corp.
75 oui MARVELL                     0x005043        Marvell Semiconductor
76 oui ICPLUS                      0x0090c3        IC Plus Corp.
77 oui VITESSE                     0x0001c1        Vitesse Semiconductor
78
79 /* in the 79c873, AMD uses another OUI (which matches Davicom!) */
80 oui xxAMD                       0x00606e        Advanced Micro Devices
81
82 /* Intel 82553 A/B steppings */
83 oui xxINTEL                     0x00f800        Intel
84
85 /* some vendors have the bits swapped within bytes
86         (ie, ordered as on the wire) */
87 oui xxALTIMA                    0x000895        Altima Communications
88 oui xxBROADCOM                  0x000818        Broadcom Corporation
89 oui xxICS                       0x00057d        Integrated Circuit Systems
90 oui xxSEEQ                      0x0005be        Seeq
91 oui xxSIS                       0x000760        Silicon Integrated Systems
92 oui xxTI                        0x100014        Texas Instruments
93 oui xxXAQTI                     0x350700        XaQti Corp.
94
95 /* Level 1 is completely different - from right to left.
96         (Two bits get lost in the third OUI byte.) */
97 oui xxLEVEL1                    0x1e0400        Level 1
98 oui xxLEVEL1a                   0x0004de        Level 1
99
100 /* Don't know what's going on here. */
101 oui xxDAVICOM                   0x006040        Davicom Semiconductor
102 oui xxBROADCOM2                 0x0050ef        Broadcom Corporation
103 oui xxBROADCOM3                 0x00d897        Broadcom Corporation
104
105 /* This is the OUI of the gigE PHY in the RealTek 8211B/8169S/8110S chips */
106 oui xxREALTEK                   0x000732
107
108 oui xxMARVELL                   0x000ac2        Marvell Semiconductor
109 oui xxCICADA                    0x00c08f        Cicada Semiconductor
110
111 /*
112  * List of known models.  Grouped by oui.
113  */
114
115 /* Agere Systems PHYs */
116 model AGERE ET1011C             0x0004 ET1011C 10/100/1000baseT PHY
117
118 /* Altima Communications PHYs */
119 model xxALTIMA AC_UNKNOWN       0x0001 AC_UNKNOWN 10/100 media interface
120 model xxALTIMA AC101L           0x0012 AC101L 10/100 media interface
121 model xxALTIMA AC101            0x0021 AC101 10/100 media interface
122 /* AMD Am79C875 have ALTIMA OUI */
123 model xxALTIMA Am79C875         0x0014 Am79C875 10/100 media interface
124
125 /* Advanced Micro Devices PHYs */
126 model xxAMD 79C873              0x0000 Am79C873 10/100 media interface
127 model AMD 79c973phy             0x0036 Am79c973 internal PHY
128 model AMD 79c978                0x0039 Am79c978 HomePNA PHY
129
130 /* Atheros Communications/Attansic PHYs. */
131 model ATHEROS F1                0x0001 Atheros F1 10/100/1000 PHY
132 model ATHEROS F2                0x0002 Atheros F2 10/100 PHY
133
134 /* Broadcom Corp. PHYs. */
135 model BROADCOM BCM5400          0x0004 BCM5400 100/1000baseT PHY
136 model BROADCOM BCM5401          0x0005 BCM5401 1000baseT PHY
137 model BROADCOM BCM5411          0x0007 BCM5411 1000baseT PHY
138 model BROADCOM 3C905B           0x0012 Broadcom 3C905B internal PHY
139 model BROADCOM 3C905C           0x0017 Broadcom 3C905C internal PHY
140 model BROADCOM BCM5221          0x001e BCM5221 100baseTX PHY
141 model BROADCOM BCM5201          0x0021 BCM5201 10/100 PHY
142 model BROADCOM BCM5214          0x0028 BCM5214 Quad 10/100 PHY
143 model BROADCOM BCM5222          0x0032 BCM5222 Dual 10/100 PHY
144 model BROADCOM BCM5220          0x0033 BCM5220 10/100 PHY
145 model BROADCOM BCM4401          0x0036 BCM4401 10/100baseTX PHY
146 model xxBROADCOM BCM5400        0x0004 Broadcom 100/1000baseT PHY
147 model xxBROADCOM BCM5401        0x0005 BCM5401 10/100/1000baseT PHY
148 model xxBROADCOM BCM5411        0x0007 BCM5411 10/100/1000baseT PHY
149 model xxBROADCOM BCM5464        0x000b BCM5464 10/100/1000baseT PHY
150 model xxBROADCOM BCM5461        0x000c BCM5461 10/100/1000baseT PHY
151 model xxBROADCOM BCM5462        0x000d BCM5462 10/100/1000baseT PHY
152 model xxBROADCOM BCM5421        0x000e BCM5421 10/100/1000baseT PHY
153 model xxBROADCOM BCM5752        0x0010 BCM5752 10/100/1000baseT PHY
154 model xxBROADCOM BCM5701        0x0011 BCM5701 10/100/1000baseT PHY
155 model xxBROADCOM BCM5706C       0x0015 BCM5706C 10/100/1000baseT PHY
156 model xxBROADCOM BCM5703        0x0016 BCM5703 10/100/1000baseT PHY
157 model xxBROADCOM BCM5750        0x0018 BCM5750 10/100/1000baseT PHY
158 model xxBROADCOM BCM5704        0x0019 BCM5704 10/100/1000baseT PHY
159 model xxBROADCOM BCM5705        0x001a BCM5705 10/100/1000baseT PHY
160 model xxBROADCOM BCM54K2        0x002e BCM54K2 10/100/1000baseT PHY
161 model xxBROADCOM BCM5714        0x0034 BCM5714 10/100/1000baseT PHY
162 model xxBROADCOM BCM5780        0x0035 BCM5780 10/100/1000baseT PHY
163 model xxBROADCOM BCM5708C       0x0036 BCM5708C 10/100/1000baseT PHY
164 model xxBROADCOM2 BCM54XX       0x0007 BCM54XX 10/100/1000baseT PHY
165 model xxBROADCOM2 BCM5481       0x000a BCM5481 10/100/1000baseT PHY
166 model xxBROADCOM2 BCM5482       0x000b BCM5482 10/100/1000baseT PHY
167 model xxBROADCOM2 BCM5755       0x000c BCM5755 10/100/1000baseT PHY
168 model xxBROADCOM2 BCM5787       0x000e BCM5787 10/100/1000baseT PHY
169 model xxBROADCOM2 BCM5708S      0x0015 BCM5708S 1000/2500baseSX PHY
170 model xxBROADCOM2 BCM5709CAX    0x002c BCM5709C(AX) 10/100/1000baseT PHY
171 model xxBROADCOM2 BCM5722       0x002d BCM5722 10/100/1000baseT PHY
172 model xxBROADCOM2 BCM5784       0x003a BCM5784 10/100/1000baseT PHY
173 model xxBROADCOM2 BCM5709C      0x003c BCM5709C 10/100/1000baseT PHY
174 model xxBROADCOM2 BCM5761       0x003d BCM5761 10/100/1000baseT PHY
175 model xxBROADCOM2 BCM5709S      0x003f BCM5709S 1000/2500baseSX PHY
176 model xxBROADCOM3 BCM57780      0x0019 BCM57780 10/100/1000baseT PHY
177 model xxBROADCOM3 BCM5717C      0x0020 BCM5717C 10/100/1000baseT PHY
178 model xxBROADCOM3 BCM5719C      0x0022 BCM5719C 10/100/1000baseT PHY
179 model xxBROADCOM3 BCM57765      0x0024 BCM57765 10/100/1000baseT PHY
180 model BROADCOM2 BCM5906         0x0004 BCM5906 10/100baseTX PHY
181
182 /* Cicada Semiconductor PHYs (now owned by Vitesse?) */
183 model CICADA CS8201             0x0001 Cicada CS8201 10/100/1000T PHY
184 model CICADA CS8201A            0x0020 Cicada CS8201 10/100/1000T PHY
185 model CICADA CS8201B            0x0021 Cicada CS8201 10/100/1000T PHY
186 model xxCICADA CS8201           0x0001 Cicada CS8201 10/100/1000T PHY
187 model xxCICADA CS8201A          0x0020 Cicada CS8201 10/100/1000T PHY
188 model xxCICADA CS8201B          0x0021 Cicada CS8201 10/100/1000T PHY
189
190 /* Davicom Semiconductor PHYs */
191 model xxDAVICOM DM9101          0x0000 DM9101 10/100 media interface
192 model DAVICOM DM9102            0x0004 DM9102 10/100 media interface
193 model DAVICOM DM9601            0x000c DM9601 10/100 media interface
194
195 /* Integrated Circuit Systems PHYs */
196 model xxICS 1890                0x0002 ICS1890 10/100 media interface
197
198 /* Intel PHYs */
199 model xxINTEL I82553AB          0x0000 i83553 10/100 media interface
200 model INTEL I82555              0x0015 i82555 10/100 media interface
201 model INTEL I82562EM            0x0032 i82562EM 10/100 media interface
202 model INTEL I82562ET            0x0033 i82562ET 10/100 media interface
203 model INTEL I82553C             0x0035 i82553 10/100 media interface
204
205 /* Jato Technologies PHYs */
206 model JATO BASEX                0x0000 Jato 1000baseX media interface
207
208 /* JMicron Technologies PHYs */
209 model JMICRON JMP211            0x0021 JMP211 10/100/1000 media interface
210 model JMICRON JMP202            0x0022 JMP202 10/100 media interface
211
212 /* Level 1 PHYs */
213 model xxLEVEL1 LXT970           0x0000 LXT970 10/100 media interface
214 model xxLEVEL1a LXT971          0x000e LXT971 10/100 media interface
215
216 /* National Semiconductor PHYs */
217 model NATSEMI DP83840           0x0000 DP83840 10/100 media interface
218 model NATSEMI DP83843           0x0001 DP83843 10/100 media interface
219 model NATSEMI DP83891           0x0005 DP83891 10/100/1000 media interface
220 model NATSEMI DP83861           0x0006 DP83861 10/100/1000 media interface
221
222 /* Quality Semiconductor PHYs */
223 model QUALSEMI QS6612           0x0000 QS6612 10/100 media interface
224
225 /* RealTek Semiconductor PHYs */
226 model REALTEK RTL8201L          0x0020 RTL8201L 10/100 media interface
227 model xxREALTEK RTL8169S        0x0011 8211B/RTL8169S/8110S media interface
228 model REALTEK2 RTL8169S         0x0011 RTL8169S/8110S media interface
229
230 /* Seeq PHYs */
231 model xxSEEQ 80220              0x0003 Seeq 80220 10/100 media interface
232 model xxSEEQ 84220              0x0004 Seeq 84220 10/100 media interface
233
234 /* Silicon Integrated Systems PHYs */
235 model xxSIS 900                 0x0000 SiS 900 10/100 media interface
236
237 /* TDK */
238 model TDK 78Q2120               0x0014 TDK 78Q2120 media interface
239
240 /* Texas Instruments PHYs */
241 model xxTI TLAN10T              0x0001 ThunderLAN 10baseT media interface
242 model xxTI 100VGPMI             0x0002 ThunderLAN 100VG-AnyLan media interface
243
244 /* XaQti Corp. PHYs. */
245 model xxXAQTI XMACII            0x0000 XaQti Corp. XMAC II gigabit interface
246
247 /* Marvell Semiconductor PHYs */
248 model MARVELL E1000             0x0000 Marvell Semiconductor 88E1000* gigabit PHY
249 model MARVELL E1011             0x0002 Marvell Semiconductor 88E1011 Gigabit PHY
250 model MARVELL E1000_3           0x0003 Marvell 88E1000 Gigabit PHY
251 model MARVELL E1000S            0x0004 Marvell 88E1000S Gigabit PHY
252 model MARVELL E1000_5           0x0005 Marvell 88E1000 Gigabit PHY
253 model MARVELL E1101             0x0006 Marvell 88E1101 Gigabit PHY
254 model MARVELL E3082             0x0008 Marvell 88E3082 10/100 PHY
255 model MARVELL E1112             0x0009 Marvell 88E1112 Gigabit PHY
256 model MARVELL E1149             0x000b Marvell 88E1149 Gigabit PHY
257 model MARVELL E1111             0x000c Marvell 88E1111 Gigabit PHY
258 model MARVELL E1116             0x0021 Marvell 88E1116 Gigabit PHY
259 model MARVELL E1118             0x0022 Marvell 88E1118 Gigabit PHY
260 model MARVELL E1116R            0x0024 Marvell 88E1116R Gigabit PHY
261 model MARVELL E1149R            0x0025 Marvell 88E1149R Quad Gigabit PHY
262 model MARVELL E3016             0x0026 Marvell 88E3016 10/100 PHY
263 model MARVELL PHYG65G           0x0027 Marvell PHYG65G Gigabit PHY
264 model xxMARVELL E1011           0x0002 Marvell 88E1000 Gigabit PHY
265 model xxMARVELL E1000_3         0x0003 Marvell 88E1000 Gigabit PHY
266 model xxMARVELL E1000_5         0x0005 Marvell 88E1000 Gigabit PHY
267 model xxMARVELL E1111           0x000c Marvell 88E1111 Gigabit PHY
268
269 /* IC Plus Corp. PHYs */
270 model ICPLUS IP101              0x0005 IP101 10/100 PHY
271 model ICPLUS IP1000A            0x0008 IC Plus 10/100/1000 media interface
272
273 /* Vitesse Semiconductor PHYs */
274 model VITESSE VSC8601           0x0002 VSC8601 10/100/1000TX PHY
275