miidevs revision 221407
1169689Skan$FreeBSD: head/sys/dev/mii/miidevs 221407 2011-05-03 19:51:29Z marius $
2169689Skan/*$NetBSD: miidevs,v 1.99 2011/01/26 18:39:04 bouyer Exp $*/
3132718Skan
4132718Skan/*-
5132718Skan * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
6132718Skan * All rights reserved.
7132718Skan *
8132718Skan * This code is derived from software contributed to The NetBSD Foundation
9132718Skan * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
10132718Skan * NASA Ames Research Center.
11132718Skan *
12132718Skan * Redistribution and use in source and binary forms, with or without
13132718Skan * modification, are permitted provided that the following conditions
14132718Skan * are met:
15132718Skan * 1. Redistributions of source code must retain the above copyright
16132718Skan *    notice, this list of conditions and the following disclaimer.
17132718Skan * 2. Redistributions in binary form must reproduce the above copyright
18132718Skan *    notice, this list of conditions and the following disclaimer in the
19169689Skan *    documentation and/or other materials provided with the distribution.
20169689Skan *
21132718Skan * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
22169689Skan * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23169689Skan * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24169689Skan * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
25169689Skan * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26169689Skan * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27169689Skan * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28169689Skan * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29169689Skan * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30169689Skan * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31169689Skan * POSSIBILITY OF SUCH DAMAGE.
32169689Skan */
33169689Skan
34169689Skan/*
35169689Skan * List of known MII OUIs.
36169689Skan * For a complete list see http://standards.ieee.org/regauth/oui/
37169689Skan *
38169689Skan * XXX Vendors do obviously not agree how OUIs (24 bit) are mapped
39169689Skan * to the 22 bits available in the id registers.
40169689Skan * IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right
41169689Skan * mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
42169689Skan * (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998,
43169689Skan * about this.)
44169689Skan * The MII_OUI() macro in "mii.h" reflects this.
45169689Skan * If a vendor uses a different mapping, an "xx" prefixed OUI is defined here
46169689Skan * which is mangled accordingly to compensate.
47169689Skan */
48169689Skan
49169689Skanoui AGERE			0x00053d	Agere Systems
50169689Skanoui ALTIMA			0x0010a9	Altima Communications
51169689Skanoui AMD				0x00001a	Advanced Micro Devices
52169689Skanoui BROADCOM			0x001018	Broadcom Corporation
53169689Skanoui BROADCOM2			0x000af7	Broadcom Corporation
54169689Skanoui BROADCOM3			0x001be9	Broadcom Corporation
55169689Skanoui CICADA			0x0003F1	Cicada Semiconductor
56169689Skanoui DAVICOM			0x00606e	Davicom Semiconductor
57169689Skanoui ENABLESEMI			0x0010dd	Enable Semiconductor
58169689Skanoui ICPLUS			0x0090c3	IC Plus Corp.
59169689Skanoui ICS				0x00a0be	Integrated Circuit Systems
60169689Skanoui INTEL			0x00aa00	Intel Corporation
61169689Skanoui JMICRON			0x00d831	JMicron Technologies
62169689Skanoui LEVEL1			0x00207b	Level 1
63169689Skanoui MARVELL			0x005043	Marvell Semiconductor
64169689Skanoui MYSON			0x00c0b4	Myson Technology
65169689Skanoui NATSEMI			0x080017	National Semiconductor
66169689Skanoui PMCSIERRA			0x00e004	PMC-Sierra
67169689Skanoui QUALSEMI			0x006051	Quality Semiconductor
68169689Skanoui RDC				0x00d02d	RDC Semiconductor
69169689Skanoui REALTEK			0x00e04c	RealTek Semicondctor
70169689Skanoui SEEQ			0x00a07d	Seeq Technology
71169689Skanoui SIS				0x00e006	Silicon Integrated Systems
72169689Skanoui TI				0x080028	Texas Instruments
73169689Skanoui TSC				0x00c039	TDK Semiconductor
74169689Skanoui XAQTI			0x00e0ae	XaQti Corp.
75169689Skan
76169689Skan/* Some Intel 82553's use an alternative OUI. */
77169689Skanoui xxINTEL			0x001f00	Intel Corporation
78169689Skan
79169689Skan/* Some VIA 6122's use an alternative OUI. */
80169689Skanoui xxCICADA			0x00c08f	Cicada Semiconductor
81169689Skan
82169689Skan/* bad bitorder (bits "g" and "h" (= MSBs byte 1) lost) */
83169689Skanoui yyAMD			0x000058	Advanced Micro Devices
84169689Skanoui xxATHEROS			0x00c82e	Atheros Communications
85169689Skanoui xxBROADCOM			0x000818	Broadcom Corporation
86169689Skanoui xxBROADCOM_ALT1		0x0050ef	Broadcom Corporation
87169689Skanoui xxDAVICOM			0x000676	Davicom Semiconductor
88169689Skanoui yyINTEL			0x005500	Intel Corporation
89169689Skanoui xxJATO			0x0007c1	Jato Technologies
90169689Skanoui xxMARVELL			0x000ac2	Marvell Semiconductor
91169689Skanoui xxMYSON			0x00032d	Myson Technology
92169689Skanoui xxNATSEMI			0x1000e8	National Semiconductor
93169689Skanoui xxQUALSEMI			0x00068a	Quality Semiconductor
94169689Skanoui xxTSC			0x00039c	TDK Semiconductor
95169689Skanoui xxVITESSE			0x008083	Vitesse Semiconductor
96169689Skan
97169689Skan/* bad byteorder (bits "q" and "r" (= LSBs byte 3) lost) */
98169689Skanoui xxLEVEL1			0x782000	Level 1
99169689Skanoui xxXAQTI			0xace000	XaQti Corp.
100169689Skan
101169689Skan/* Don't know what's going on here. */
102169689Skanoui xxASIX			0x000674	Asix Semiconductor
103169689Skanoui yyDAVICOM			0x000602	Davicom Semiconductor
104169689Skanoui xxICPLUS			0x0009c3	IC Plus Corp.
105169689Skanoui xxPMCSIERRA			0x0009c0	PMC-Sierra
106169689Skanoui xxPMCSIERRA2		0x009057	PMC-Sierra
107169689Skanoui xxREALTEK			0x000732	RealTek Semicondctor
108169689Skanoui yyREALTEK			0x000004	RealTek Semicondctor
109169689Skan
110169689Skan/*
111169689Skan * List of known models.  Grouped by oui.
112169689Skan */
113169689Skan
114169689Skan/* Agere Systems PHYs */
115169689Skanmodel AGERE ET1011		0x0001 ET1011 10/100/1000baseT PHY
116169689Skanmodel AGERE ET1011C		0x0004 ET1011C 10/100/1000baseT PHY
117169689Skan
118169689Skan/* Altima Communications PHYs */
119169689Skanmodel ALTIMA ACXXX		0x0001 ACXXX 10/100 media interface
120169689Skanmodel ALTIMA AC101L		0x0012 AC101L 10/100 media interface
121169689Skanmodel ALTIMA AC101		0x0021 AC101 10/100 media interface
122169689Skan/* AMD Am79C87[45] have ALTIMA OUI */
123169689Skanmodel ALTIMA Am79C875		0x0014 Am79C875 10/100 media interface
124169689Skanmodel ALTIMA Am79C874		0x0021 Am79C874 10/100 media interface
125169689Skan
126169689Skan/* Advanced Micro Devices PHYs */
127169689Skan/* see Davicom DM9101 for Am79C873 */
128169689Skanmodel yyAMD 79C972_10T		0x0001 Am79C972 internal 10BASE-T interface
129169689Skanmodel yyAMD 79c973phy		0x0036 Am79C973 internal 10/100 media interface
130169689Skanmodel yyAMD 79c901		0x0037 Am79C901 10BASE-T interface
131169689Skanmodel yyAMD 79c901home		0x0039 Am79C901 HomePNA 1.0 interface
132169689Skan
133169689Skan/* Atheros Communications/Attansic PHYs */
134169689Skanmodel xxATHEROS F1		0x0001 Atheros F1 10/100/1000 PHY
135169689Skanmodel xxATHEROS F2		0x0002 Atheros F2 10/100 PHY
136169689Skanmodel xxATHEROS F1_7		0x0007 Atheros F1 10/100/1000 PHY
137169689Skan
138169689Skan/* Asix semiconductor PHYs */
139169689Skanmodel xxASIX AX88X9X		0x0031 Ax88x9x internal PHY
140169689Skan
141169689Skan/* Broadcom Corp. PHYs */
142132718Skanmodel xxBROADCOM 3C905B		0x0012 Broadcom 3c905B internal PHY
143132718Skanmodel xxBROADCOM 3C905C		0x0017 Broadcom 3c905C internal PHY
144132718Skanmodel xxBROADCOM BCM5201	0x0021 BCM5201 10/100 media interface
145132718Skanmodel xxBROADCOM BCM5214	0x0028 BCM5214 Quad 10/100 media interface
146132718Skanmodel xxBROADCOM BCM5221	0x001e BCM5221 10/100 media interface
147169689Skanmodel xxBROADCOM BCM5222	0x0032 BCM5222 Dual 10/100 media interface
148169689Skanmodel xxBROADCOM BCM4401	0x0036 BCM4401 10/100 media interface
149132718Skanmodel BROADCOM BCM5400		0x0004 BCM5400 1000BASE-T media interface
150132718Skanmodel BROADCOM BCM5401		0x0005 BCM5401 1000BASE-T media interface
151169689Skanmodel BROADCOM BCM5411		0x0007 BCM5411 1000BASE-T media interface
152132718Skanmodel BROADCOM BCM5464		0x000b BCM5464 1000BASE-T media interface
153132718Skanmodel BROADCOM BCM5461		0x000c BCM5461 1000BASE-T media interface
154132718Skanmodel BROADCOM BCM5462		0x000d BCM5462 1000BASE-T media interface
155132718Skanmodel BROADCOM BCM5421		0x000e BCM5421 1000BASE-T media interface
156132718Skanmodel BROADCOM BCM5752		0x0010 BCM5752 1000BASE-T media interface
157132718Skanmodel BROADCOM BCM5701		0x0011 BCM5701 1000BASE-T media interface
158132718Skanmodel BROADCOM BCM5706		0x0015 BCM5706 1000BASE-T/SX media interface
159132718Skanmodel BROADCOM BCM5703		0x0016 BCM5703 1000BASE-T media interface
160132718Skanmodel BROADCOM BCM5750		0x0018 BCM5750 1000BASE-T media interface
161132718Skanmodel BROADCOM BCM5704		0x0019 BCM5704 1000BASE-T media interface
162132718Skanmodel BROADCOM BCM5705		0x001a BCM5705 1000BASE-T media interface
163132718Skanmodel BROADCOM BCM54K2		0x002e BCM54K2 1000BASE-T media interface
164132718Skanmodel BROADCOM BCM5714		0x0034 BCM5714 1000BASE-T media interface
165169689Skanmodel BROADCOM BCM5780		0x0035 BCM5780 1000BASE-T media interface
166169689Skanmodel BROADCOM BCM5708C		0x0036 BCM5708C 1000BASE-T media interface
167169689Skanmodel BROADCOM2 BCM5906		0x0004 BCM5906 10/100baseTX media interface
168169689Skanmodel BROADCOM2 BCM5481		0x000a BCM5481 1000BASE-T media interface
169132718Skanmodel BROADCOM2 BCM5482		0x000b BCM5482 1000BASE-T media interface
170132718Skanmodel BROADCOM2 BCM5755		0x000c BCM5755 1000BASE-T media interface
171132718Skanmodel BROADCOM2 BCM5754		0x000e BCM5754/5787 1000BASE-T media interface
172132718Skanmodel BROADCOM2 BCM5708S	0x0015 BCM5708S 1000/2500baseSX PHY
173169689Skanmodel BROADCOM2 BCM5709CAX	0x002c BCM5709CAX 10/100/1000baseT PHY
174169689Skanmodel BROADCOM2 BCM5722		0x002d BCM5722 1000BASE-T media interface
175169689Skanmodel BROADCOM2 BCM5784		0x003a BCM5784 10/100/1000baseT PHY
176132718Skanmodel BROADCOM2 BCM5709C	0x003c BCM5709 10/100/1000baseT PHY
177169689Skanmodel BROADCOM2 BCM5761		0x003d BCM5761 10/100/1000baseT PHY
178169689Skanmodel BROADCOM2 BCM5709S	0x003f BCM5709S 1000/2500baseSX PHY
179132718Skanmodel BROADCOM3 BCM5717C	0x0020 BCM5717C 1000BASE-T media interface
180169689Skanmodel BROADCOM3 BCM57765	0x0024 BCM57765 1000BASE-T media interface
181132718Skanmodel xxBROADCOM_ALT1 BCM5906	0x0004 BCM5906 10/100baseTX media interface
182132718Skan
183169689Skan/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
184169689Skanmodel xxCICADA CS8201		0x0001 Cicada CS8201 10/100/1000TX PHY
185132718Skanmodel xxCICADA CS8204		0x0004 Cicada CS8204 10/100/1000TX PHY
186169689Skanmodel xxCICADA VSC8211		0x000b Cicada VSC8211 10/100/1000TX PHY
187169689Skanmodel xxCICADA CS8201A		0x0020 Cicada CS8201 10/100/1000TX PHY
188132718Skanmodel xxCICADA CS8201B		0x0021 Cicada CS8201 10/100/1000TX PHY
189132718Skanmodel xxCICADA CS8244		0x002c Cicada CS8244 10/100/1000TX PHY
190132718Skanmodel xxVITESSE VSC8601		0x0002 Vitesse VSC8601 10/100/1000TX PHY
191132718Skan
192132718Skan/* Davicom Semiconductor PHYs */
193132718Skan/* AMD Am79C873 seems to be a relabeled DM9101 */
194132718Skanmodel xxDAVICOM DM9101		0x0000 DM9101 (AMD Am79C873) 10/100 media interface
195132718Skanmodel xxDAVICOM DM9102		0x0004 DM9102 10/100 media interface
196169689Skanmodel yyDAVICOM DM9101		0x0000 DM9101 10/100 media interface
197169689Skan
198169689Skan/* IC Plus Corp. PHYs */
199169689Skanmodel xxICPLUS IP101		0x0005 IP101 10/100 PHY
200169689Skanmodel xxICPLUS IP1000A		0x0008 IP100A 10/100/1000 media interface
201169689Skanmodel xxICPLUS IP1001		0x0019 IP1001 10/100/1000 media interface
202169689Skan
203169689Skan/* Integrated Circuit Systems PHYs */
204169689Skanmodel ICS 1889			0x0001 ICS1889 10/100 media interface
205169689Skanmodel ICS 1890			0x0002 ICS1890 10/100 media interface
206169689Skanmodel ICS 1892			0x0003 ICS1892 10/100 media interface
207169689Skanmodel ICS 1893			0x0004 ICS1893 10/100 media interface
208169689Skan
209169689Skan/* Intel Corporation PHYs */
210169689Skanmodel xxINTEL I82553		0x0000 i82553 10/100 media interface
211169689Skanmodel yyINTEL I82555		0x0015 i82555 10/100 media interface
212169689Skanmodel yyINTEL I82562EH		0x0017 i82562EH HomePNA interface
213169689Skanmodel yyINTEL I82562G		0x0031 i82562G 10/100 media interface
214169689Skanmodel yyINTEL I82562EM		0x0032 i82562EM 10/100 media interface
215169689Skanmodel yyINTEL I82562ET		0x0033 i82562ET 10/100 media interface
216169689Skanmodel yyINTEL I82553		0x0035 i82553 10/100 media interface
217169689Skanmodel yyINTEL I82566		0x0039 i82566 10/100/1000 media interface
218132718Skanmodel INTEL I82577		0x0005 i82577 10/100/1000 media interface
219132718Skan
220132718Skan/* Jato Technologies PHYs */
221132718Skanmodel xxJATO BASEX		0x0000 Jato 1000baseX media interface
222132718Skan
223132718Skan/* JMicron Technologies PHYs */
224132718Skanmodel JMICRON JMP211		0x0021 JMP211 10/100/1000 media interface
225169689Skanmodel JMICRON JMP202		0x0022 JMP202 10/100 media interface
226169689Skan
227169689Skan/* Level 1 PHYs */
228169689Skanmodel xxLEVEL1 LXT970		0x0000 LXT970 10/100 media interface
229169689Skanmodel LEVEL1 LXT971		0x000e LXT971/2 10/100 media interface
230169689Skanmodel LEVEL1 LXT973		0x0021 LXT973 10/100 Dual PHY
231169689Skanmodel LEVEL1 LXT974		0x0004 LXT974 10/100 Quad PHY
232169689Skanmodel LEVEL1 LXT975		0x0005 LXT975 10/100 Quad PHY
233169689Skanmodel LEVEL1 LXT1000_OLD	0x0003 LXT1000 1000BASE-T media interface
234169689Skanmodel LEVEL1 LXT1000		0x000c LXT1000 1000BASE-T media interface
235169689Skan
236169689Skan/* Marvell Semiconductor PHYs */
237169689Skanmodel xxMARVELL E1000		0x0000 Marvell 88E1000 Gigabit PHY
238132718Skanmodel xxMARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
239132718Skanmodel xxMARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
240132718Skanmodel xxMARVELL E1000S		0x0004 Marvell 88E1000S Gigabit PHY
241132718Skanmodel xxMARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
242132718Skanmodel xxMARVELL E1101		0x0006 Marvell 88E1101 Gigabit PHY
243132718Skanmodel xxMARVELL E3082		0x0008 Marvell 88E3082 10/100 Fast Ethernet PHY
244132718Skanmodel xxMARVELL E1112		0x0009 Marvell 88E1112 Gigabit PHY
245132718Skanmodel xxMARVELL E1149		0x000b Marvell 88E1149 Gigabit PHY
246132718Skanmodel xxMARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
247132718Skanmodel xxMARVELL E1116		0x0021 Marvell 88E1116 Gigabit PHY
248132718Skanmodel xxMARVELL E1116R		0x0024 Marvell 88E1116R Gigabit PHY
249132718Skanmodel xxMARVELL E1118		0x0022 Marvell 88E1118 Gigabit PHY
250132718Skanmodel xxMARVELL E3016		0x0026 Marvell 88E3016 10/100 Fast Ethernet PHY
251132718Skanmodel xxMARVELL PHYG65G		0x0027 Marvell PHYG65G Gigabit PHY
252132718Skanmodel MARVELL E1000		0x0005 Marvell 88E1000 Gigabit PHY
253132718Skanmodel MARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
254169689Skanmodel MARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
255169689Skanmodel MARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
256169689Skanmodel MARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
257169689Skan
258169689Skan/* National Semiconductor PHYs */
259169689Skanmodel xxNATSEMI DP83840		0x0000 DP83840 10/100 media interface
260132718Skanmodel xxNATSEMI DP83843		0x0001 DP83843 10/100 media interface
261132718Skanmodel xxNATSEMI DP83815		0x0002 DP83815 10/100 media interface
262132718Skanmodel xxNATSEMI DP83847		0x0003 DP83847 10/100 media interface
263132718Skanmodel xxNATSEMI DP83891		0x0005 DP83891 1000BASE-T media interface
264132718Skanmodel xxNATSEMI DP83861		0x0006 DP83861 1000BASE-T media interface
265132718Skanmodel xxNATSEMI DP83865		0x0007 DP83865 1000BASE-T media interface
266132718Skan
267169689Skan/* PMC Sierra PHYs */
268169689Skanmodel xxPMCSIERRA PM8351	0x0000 PM8351 OctalPHY Gigabit interface
269132718Skanmodel xxPMCSIERRA2 PM8352	0x0002 PM8352 OctalPHY Gigabit interface
270132718Skanmodel xxPMCSIERRA2 PM8353	0x0003 PM8353 QuadPHY Gigabit interface
271132718Skanmodel PMCSIERRA PM8354		0x0004 PM8354 QuadPHY Gigabit interface
272132718Skan
273132718Skan/* Quality Semiconductor PHYs */
274169689Skanmodel xxQUALSEMI QS6612		0x0000 QS6612 10/100 media interface
275169689Skan
276169689Skan/* RDC Semiconductor PHYs */
277169689Skanmodel RDC R6040			0x0003 R6040 10/100 media interface
278169689Skan
279169689Skan/* RealTek Semicondctor PHYs */
280169689Skanmodel yyREALTEK RTL8201L	0x0020 RTL8201L 10/100 media interface
281169689Skanmodel xxREALTEK RTL8169S	0x0011 RTL8169S/8110S/8211 1000BASE-T media interface
282169689Skanmodel REALTEK RTL8305SC		0x0005 RTL8305SC 10/100 802.1q switch
283169689Skanmodel REALTEK RTL8201E		0x0008 RTL8201E 10/100 media interface
284169689Skanmodel REALTEK RTL8169S		0x0011 RTL8169S/8110S/8211 1000BASE-T media interface
285169689Skan
286169689Skan/* Seeq Seeq PHYs */
287169689Skanmodel SEEQ 80220		0x0003 Seeq 80220 10/100 media interface
288169689Skanmodel SEEQ 84220		0x0004 Seeq 84220 10/100 media interface
289169689Skanmodel SEEQ 80225		0x0008 Seeq 80225 10/100 media interface
290169689Skan
291169689Skan/* Silicon Integrated Systems PHYs */
292169689Skanmodel SIS 900			0x0000 SiS 900 10/100 media interface
293169689Skan
294169689Skan/* Texas Instruments PHYs */
295169689Skanmodel TI TLAN10T		0x0001 ThunderLAN 10BASE-T media interface
296169689Skanmodel TI 100VGPMI		0x0002 ThunderLAN 100VG-AnyLan media interface
297169689Skanmodel TI TNETE2101		0x0003 TNETE2101 media interface
298169689Skan
299169689Skan/* TDK Semiconductor PHYs */
300169689Skanmodel xxTSC 78Q2120		0x0014 78Q2120 10/100 media interface
301169689Skanmodel xxTSC 78Q2121		0x0015 78Q2121 100BASE-TX media interface
302169689Skan
303169689Skan/* XaQti Corp. PHYs */
304169689Skanmodel xxXAQTI XMACII		0x0000 XaQti Corp. XMAC II gigabit interface
305169689Skan