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 $*/
6 * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
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.
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
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.
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.
43 * List of known MII OUIs.
44 * For a complete list see http://standards.ieee.org/regauth/oui/
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.
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
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
79 /* in the 79c873, AMD uses another OUI (which matches Davicom!) */
80 oui xxAMD 0x00606e Advanced Micro Devices
82 /* Intel 82553 A/B steppings */
83 oui xxINTEL 0x00f800 Intel
85 /* some vendors have the bits swapped within bytes
86 (ie, ordered as on the wire) */
87 /* oui xxATHEROS 0x00c82e Atheros Communications */
88 oui xxALTIMA 0x000895 Altima Communications
89 oui xxBROADCOM 0x000818 Broadcom Corporation
90 oui xxICS 0x00057d Integrated Circuit Systems
91 oui xxSEEQ 0x0005be Seeq
92 oui xxSIS 0x000760 Silicon Integrated Systems
93 oui xxTI 0x100014 Texas Instruments
94 oui xxXAQTI 0x350700 XaQti Corp.
96 /* Level 1 is completely different - from right to left.
97 (Two bits get lost in the third OUI byte.) */
98 oui xxLEVEL1 0x1e0400 Level 1
99 oui xxLEVEL1a 0x0004de Level 1
101 /* Don't know what's going on here. */
102 oui xxDAVICOM 0x006040 Davicom Semiconductor
103 oui xxBROADCOM2 0x0050ef Broadcom Corporation
104 oui xxBROADCOM3 0x00d897 Broadcom Corporation
105 oui xxBROADCOM4 0x180361 Broadcom Corporation
107 /* This is the OUI of the gigE PHY in the RealTek 8211B/8169S/8110S chips */
108 oui xxREALTEK 0x000732
110 oui xxMARVELL 0x000ac2 Marvell Semiconductor
111 oui xxCICADA 0x00c08f Cicada Semiconductor
114 * List of known models. Grouped by oui.
117 /* Agere Systems PHYs */
118 model AGERE ET1011 0x0001 ET1011 10/100/1000baseT PHY
119 model AGERE ET1011C 0x0004 ET1011C 10/100/1000baseT PHY
121 /* Altima Communications PHYs */
122 model xxALTIMA AC_UNKNOWN 0x0001 AC_UNKNOWN 10/100 media interface
123 model xxALTIMA AC101L 0x0012 AC101L 10/100 media interface
124 model xxALTIMA AC101 0x0021 AC101 10/100 media interface
125 /* AMD Am79C875 have ALTIMA OUI */
126 model xxALTIMA Am79C875 0x0014 Am79C875 10/100 media interface
128 /* Atheros Communications/Attansic PHYs */
129 model ATHEROS F1 0x0001 Atheros F1 10/100/1000 PHY
130 model ATHEROS F2 0x0002 Atheros F2 10/100 PHY
131 model ATHEROS AR8021 0x0004 Atheros AR8021 10/100/1000 PHY
132 model ATHEROS F1_7 0x0007 Atheros F1 10/100/1000 PHY
134 /* Atheros Communications PHYs */
135 /* model xxATHEROS F1 0x0001 Atheros F1 10/100/1000 PHY */
136 /* model xxATHEROS F2 0x0002 Atheros F2 10/100 PHY */
137 /* model xxATHEROS AR8021 0x0004 Atheros AR8021 10/100/1000 PHY */
138 /* model xxATHEROS F1_7 0x0007 Atheros F1 10/100/1000 PHY */
140 /* Advanced Micro Devices PHYs */
141 model xxAMD 79C873 0x0000 Am79C873 10/100 media interface
142 model AMD 79c973phy 0x0036 Am79c973 internal PHY
143 model AMD 79c978 0x0039 Am79c978 HomePNA PHY
145 /* Broadcom Corp. PHYs. */
146 model BROADCOM BCM5400 0x0004 BCM5400 100/1000baseT PHY
147 model BROADCOM BCM5401 0x0005 BCM5401 1000baseT PHY
148 model BROADCOM BCM5411 0x0007 BCM5411 1000baseT PHY
149 model BROADCOM 3C905B 0x0012 Broadcom 3C905B internal PHY
150 model BROADCOM 3C905C 0x0017 Broadcom 3C905C internal PHY
151 model BROADCOM BCM5221 0x001e BCM5221 100baseTX PHY
152 model BROADCOM BCM5201 0x0021 BCM5201 10/100 PHY
153 model BROADCOM BCM5214 0x0028 BCM5214 Quad 10/100 PHY
154 model BROADCOM BCM5222 0x0032 BCM5222 Dual 10/100 PHY
155 model BROADCOM BCM5220 0x0033 BCM5220 10/100 PHY
156 model BROADCOM BCM4401 0x0036 BCM4401 10/100baseTX PHY
157 model xxBROADCOM BCM5400 0x0004 Broadcom 100/1000baseT PHY
158 model xxBROADCOM BCM5401 0x0005 BCM5401 10/100/1000baseT PHY
159 model xxBROADCOM BCM5411 0x0007 BCM5411 10/100/1000baseT PHY
160 model xxBROADCOM BCM5464 0x000b BCM5464 10/100/1000baseT PHY
161 model xxBROADCOM BCM5461 0x000c BCM5461 10/100/1000baseT PHY
162 model xxBROADCOM BCM5462 0x000d BCM5462 10/100/1000baseT PHY
163 model xxBROADCOM BCM5421 0x000e BCM5421 10/100/1000baseT PHY
164 model xxBROADCOM BCM5752 0x0010 BCM5752 10/100/1000baseT PHY
165 model xxBROADCOM BCM5701 0x0011 BCM5701 10/100/1000baseT PHY
166 model xxBROADCOM BCM5706C 0x0015 BCM5706C 10/100/1000baseT PHY
167 model xxBROADCOM BCM5703 0x0016 BCM5703 10/100/1000baseT PHY
168 model xxBROADCOM BCM5750 0x0018 BCM5750 10/100/1000baseT PHY
169 model xxBROADCOM BCM5704 0x0019 BCM5704 10/100/1000baseT PHY
170 model xxBROADCOM BCM5705 0x001a BCM5705 10/100/1000baseT PHY
171 model xxBROADCOM BCM54K2 0x002e BCM54K2 10/100/1000baseT PHY
172 model xxBROADCOM BCM5714 0x0034 BCM5714 10/100/1000baseT PHY
173 model xxBROADCOM BCM5780 0x0035 BCM5780 10/100/1000baseT PHY
174 model xxBROADCOM BCM5708C 0x0036 BCM5708C 10/100/1000baseT PHY
175 model xxBROADCOM2 BCM54XX 0x0007 BCM54XX 10/100/1000baseT PHY
176 model xxBROADCOM2 BCM5481 0x000a BCM5481 10/100/1000baseT PHY
177 model xxBROADCOM2 BCM5482 0x000b BCM5482 10/100/1000baseT PHY
178 model xxBROADCOM2 BCM5755 0x000c BCM5755 10/100/1000baseT PHY
179 model xxBROADCOM2 BCM5787 0x000e BCM5787 10/100/1000baseT PHY
180 model xxBROADCOM2 BCM5708S 0x0015 BCM5708S 1000/2500baseSX PHY
181 model xxBROADCOM2 BCM5709CAX 0x002c BCM5709C(AX) 10/100/1000baseT PHY
182 model xxBROADCOM2 BCM5722 0x002d BCM5722 10/100/1000baseT PHY
183 model xxBROADCOM2 BCM5784 0x003a BCM5784 10/100/1000baseT PHY
184 model xxBROADCOM2 BCM5709C 0x003c BCM5709C 10/100/1000baseT PHY
185 model xxBROADCOM2 BCM5761 0x003d BCM5761 10/100/1000baseT PHY
186 model xxBROADCOM2 BCM5709S 0x003f BCM5709S 1000/2500baseSX PHY
187 model xxBROADCOM3 BCM57780 0x0019 BCM57780 10/100/1000baseT PHY
188 model xxBROADCOM3 BCM54640 0x001b BCM54640 10/100/1000baseT PHY
189 model xxBROADCOM3 BCM54680 0x001c BCM54680 10/100/1000baseT PHY
190 model xxBROADCOM3 BCM54685 0x001d BCM54685 10/100/1000baseT PHY
191 model xxBROADCOM3 BCM54880 0x001e BCM54880 10/100/1000baseT PHY
192 model xxBROADCOM3 BCM54881 0x001f BCM54881 10/100/1000baseT PHY
193 model xxBROADCOM3 BCM5718C 0x0020 BCM5718C 10/100/1000baseT PHY
194 model xxBROADCOM3 BCM5719C 0x0022 BCM5719C 10/100/1000baseT PHY
195 model xxBROADCOM3 BCM57765 0x0024 BCM57765 10/100/1000baseT PHY
196 model xxBROADCOM3 BCM5720C 0x0036 BCM5720C 10/100/1000baseT PHY
197 model xxBROADCOM4 BCM5762 0x0038 BCM5762 10/100/1000BaseT PHY
198 model BROADCOM2 BCM5906 0x0004 BCM5906 10/100baseTX PHY
200 /* Cicada Semiconductor PHYs (now owned by Vitesse?) */
201 model CICADA CS8201 0x0001 Cicada CS8201 10/100/1000T PHY
202 model CICADA CS8201A 0x0020 Cicada CS8201 10/100/1000T PHY
203 model CICADA CS8201B 0x0021 Cicada CS8201 10/100/1000T PHY
204 model xxCICADA CS8201 0x0001 Cicada CS8201 10/100/1000T PHY
205 model xxCICADA CS8201A 0x0020 Cicada CS8201 10/100/1000T PHY
206 model xxCICADA CS8201B 0x0021 Cicada CS8201 10/100/1000T PHY
208 /* Davicom Semiconductor PHYs */
209 model xxDAVICOM DM9101 0x0000 DM9101 10/100 media interface
210 model DAVICOM DM9102 0x0004 DM9102 10/100 media interface
211 model DAVICOM DM9601 0x000c DM9601 10/100 media interface
213 /* Integrated Circuit Systems PHYs */
214 model xxICS 1890 0x0002 ICS1890 10/100 media interface
217 model xxINTEL I82553AB 0x0000 i83553 10/100 media interface
218 model INTEL I82555 0x0015 i82555 10/100 media interface
219 model INTEL I82562EM 0x0032 i82562EM 10/100 media interface
220 model INTEL I82562ET 0x0033 i82562ET 10/100 media interface
221 model INTEL I82553C 0x0035 i82553 10/100 media interface
223 /* Jato Technologies PHYs */
224 model JATO BASEX 0x0000 Jato 1000baseX media interface
226 /* JMicron Technologies PHYs */
227 model JMICRON JMP211 0x0021 JMP211 10/100/1000 media interface
228 model JMICRON JMP202 0x0022 JMP202 10/100 media interface
231 model xxLEVEL1 LXT970 0x0000 LXT970 10/100 media interface
232 model xxLEVEL1a LXT971 0x000e LXT971 10/100 media interface
234 /* National Semiconductor PHYs */
235 model NATSEMI DP83840 0x0000 DP83840 10/100 media interface
236 model NATSEMI DP83843 0x0001 DP83843 10/100 media interface
237 model NATSEMI DP83891 0x0005 DP83891 10/100/1000 media interface
238 model NATSEMI DP83861 0x0006 DP83861 10/100/1000 media interface
240 /* Quality Semiconductor PHYs */
241 model QUALSEMI QS6612 0x0000 QS6612 10/100 media interface
243 /* RealTek Semiconductor PHYs */
244 model REALTEK RTL8201L 0x0020 RTL8201L 10/100 media interface
245 model xxREALTEK RTL8251 0x0000 RTL8251 media interface
246 model xxREALTEK RTL8169S 0x0011 8211B/RTL8169S/8110S media interface
247 model REALTEK2 RTL8169S 0x0011 RTL8169S/8110S media interface
250 model xxSEEQ 80220 0x0003 Seeq 80220 10/100 media interface
251 model xxSEEQ 84220 0x0004 Seeq 84220 10/100 media interface
253 /* Silicon Integrated Systems PHYs */
254 model xxSIS 900 0x0000 SiS 900 10/100 media interface
257 model TDK 78Q2120 0x0014 TDK 78Q2120 media interface
259 /* Texas Instruments PHYs */
260 model xxTI TLAN10T 0x0001 ThunderLAN 10baseT media interface
261 model xxTI 100VGPMI 0x0002 ThunderLAN 100VG-AnyLan media interface
263 /* XaQti Corp. PHYs. */
264 model xxXAQTI XMACII 0x0000 XaQti Corp. XMAC II gigabit interface
266 /* Marvell Semiconductor PHYs */
267 model MARVELL E1000 0x0000 Marvell Semiconductor 88E1000* gigabit PHY
268 model MARVELL E1011 0x0002 Marvell Semiconductor 88E1011 Gigabit PHY
269 model MARVELL E1000_3 0x0003 Marvell 88E1000 Gigabit PHY
270 model MARVELL E1000S 0x0004 Marvell 88E1000S Gigabit PHY
271 model MARVELL E1000_5 0x0005 Marvell 88E1000 Gigabit PHY
272 model MARVELL E1101 0x0006 Marvell 88E1101 Gigabit PHY
273 model MARVELL E3082 0x0008 Marvell 88E3082 10/100 PHY
274 model MARVELL E1112 0x0009 Marvell 88E1112 Gigabit PHY
275 model MARVELL E1149 0x000b Marvell 88E1149 Gigabit PHY
276 model MARVELL E1111 0x000c Marvell 88E1111 Gigabit PHY
277 model MARVELL E1116 0x0021 Marvell 88E1116 Gigabit PHY
278 model MARVELL E1118 0x0022 Marvell 88E1118 Gigabit PHY
279 model MARVELL E1116R 0x0024 Marvell 88E1116R Gigabit PHY
280 model MARVELL E1149R 0x0025 Marvell 88E1149R Quad Gigabit PHY
281 model MARVELL E3016 0x0026 Marvell 88E3016 10/100 PHY
282 model MARVELL PHYG65G 0x0027 Marvell PHYG65G Gigabit PHY
283 model xxMARVELL E1011 0x0002 Marvell 88E1000 Gigabit PHY
284 model xxMARVELL E1000_3 0x0003 Marvell 88E1000 Gigabit PHY
285 model xxMARVELL E1000_5 0x0005 Marvell 88E1000 Gigabit PHY
286 model xxMARVELL E1111 0x000c Marvell 88E1111 Gigabit PHY
288 /* IC Plus Corp. PHYs */
289 model ICPLUS IP101 0x0005 IP101 10/100 PHY
290 model ICPLUS IP1000A 0x0008 IC Plus 10/100/1000 media interface
292 /* Vitesse Semiconductor PHYs */
293 model VITESSE VSC8601 0x0002 VSC8601 10/100/1000TX PHY