miidevs revision 207446
1296936Smmel$FreeBSD: head/sys/dev/mii/miidevs 207446 2010-04-30 19:01:55Z yongari $
2296936Smmel/*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/
3296936Smmel
4296936Smmel/*-
5296936Smmel * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
6296936Smmel * All rights reserved.
7296936Smmel *
8296936Smmel * This code is derived from software contributed to The NetBSD Foundation
9296936Smmel * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
10296936Smmel * NASA Ames Research Center.
11296936Smmel *
12296936Smmel * Redistribution and use in source and binary forms, with or without
13296936Smmel * modification, are permitted provided that the following conditions
14296936Smmel * are met:
15296936Smmel * 1. Redistributions of source code must retain the above copyright
16296936Smmel *    notice, this list of conditions and the following disclaimer.
17296936Smmel * 2. Redistributions in binary form must reproduce the above copyright
18296936Smmel *    notice, this list of conditions and the following disclaimer in the
19296936Smmel *    documentation and/or other materials provided with the distribution.
20296936Smmel *
21296936Smmel * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
22296936Smmel * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23296936Smmel * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24296936Smmel * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
25296936Smmel * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26296936Smmel * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27296936Smmel * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28296936Smmel * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29296936Smmel * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30296936Smmel * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31296936Smmel * POSSIBILITY OF SUCH DAMAGE.
32296936Smmel */
33296936Smmel
34296936Smmel/*
35296936Smmel * List of known MII OUIs.
36296936Smmel * For a complete list see http://standards.ieee.org/regauth/oui/
37296936Smmel *
38296936Smmel * XXX Vendors do obviously not agree how OUIs (18 bit) are mapped
39296936Smmel * to the 16 bits available in the id registers. The MII_OUI() macro
40296936Smmel * in "mii.h" reflects the most obvious way. If a vendor uses a
41296936Smmel * different mapping, an "xx" prefixed OUI is defined here which is
42296936Smmel * mangled accordingly to compensate.
43296936Smmel */
44296936Smmel
45296936Smmeloui AGERE			0x00a0bc	Agere Systems
46296936Smmeloui ALTIMA			0x0010a9	Altima Communications
47296936Smmeloui AMD				0x00001a	Advanced Micro Devices
48296936Smmeloui ASIX			0x00602e	Asix Semiconductor
49296936Smmeloui ATHEROS			0x001374	Atheros Communications
50296936Smmeloui BROADCOM			0x001018	Broadcom Corporation
51296936Smmeloui BROADCOM2			0x000af7	Broadcom Corporation
52296936Smmeloui CICADA			0x0003F1	Cicada Semiconductor
53296936Smmeloui DAVICOM			0x00606e	Davicom Semiconductor
54296936Smmeloui ICPLUS			0x0090c3	IC Plus Corp.
55296936Smmeloui ICS				0x00a0be	Integrated Circuit Systems
56296936Smmeloui INTEL			0x00aa00	Intel
57296936Smmeloui JATO			0x00e083	Jato Technologies
58296936Smmeloui JMICRON			0x001b8c	JMicron Technologies
59296936Smmeloui LEVEL1			0x00207b	Level 1
60296936Smmeloui NATSEMI			0x080017	National Semiconductor
61296936Smmeloui QUALSEMI			0x006051	Quality Semiconductor
62296936Smmeloui REALTEK			0x000020	RealTek Semicondctor
63296936Smmeloui SEEQ			0x00a07d	Seeq
64296936Smmeloui SIS				0x00e006	Silicon Integrated Systems
65296936Smmeloui SMSC			0x0005be	SMSC
66296936Smmeloui TDK				0x00c039	TDK
67296936Smmeloui TI				0x080028	Texas Instruments
68296936Smmeloui VITESSE			0x0001c1	Vitesse Semiconductor
69296936Smmeloui XAQTI			0x00e0ae	XaQti Corp.
70296936Smmeloui MARVELL			0x005043	Marvell Semiconductor
71296936Smmeloui xxMARVELL			0x000ac2	Marvell Semiconductor
72296936Smmel
73296936Smmel/* in the 79c873, AMD uses another OUI (which matches Davicom!) */
74296936Smmeloui xxAMD			0x00606e	Advanced Micro Devices
75296936Smmel
76296936Smmel/* Intel 82553 A/B steppings */
77296936Smmeloui xxINTEL			0x00f800	Intel
78296936Smmel
79296936Smmel/* some vendors have the bits swapped within bytes
80296936Smmel	(ie, ordered as on the wire) */
81296936Smmeloui xxALTIMA			0x000895	Altima Communications
82296936Smmeloui xxBROADCOM			0x000818	Broadcom Corporation
83296936Smmeloui xxBROADCOM_ALT1		0x0050ef	Broadcom Corporation
84296936Smmeloui xxICS			0x00057d	Integrated Circuit Systems
85296936Smmeloui xxSEEQ			0x0005be	Seeq
86296936Smmeloui xxSIS			0x000760	Silicon Integrated Systems
87296936Smmeloui xxTI			0x100014	Texas Instruments
88296936Smmeloui xxXAQTI			0x350700	XaQti Corp.
89296936Smmel
90296936Smmel/* Level 1 is completely different - from right to left.
91296936Smmel	(Two bits get lost in the third OUI byte.) */
92296936Smmeloui xxLEVEL1			0x1e0400	Level 1
93296936Smmel
94296936Smmel/* Don't know what's going on here. */
95296936Smmeloui xxDAVICOM			0x006040	Davicom Semiconductor
96296936Smmel
97296936Smmel/* This is the OUI of the gigE PHY in the RealTek 8169S/8110S/8211B chips */
98296936Smmeloui xxREALTEK			0x000732
99296936Smmel
100296936Smmel/*
101296936Smmel * List of known models.  Grouped by oui.
102296936Smmel */
103296936Smmel
104296936Smmel/* Agere Systems PHYs */
105296936Smmelmodel AGERE ET1011		0x0001 ET1011 10/100/1000baseT PHY
106296936Smmelmodel AGERE ET1011C		0x0004 ET1011C 10/100/1000baseT PHY
107296936Smmel
108296936Smmel/* Altima Communications PHYs */
109296936Smmelmodel xxALTIMA AC101		0x0021 AC101 10/100 media interface
110296936Smmelmodel xxALTIMA AC101L		0x0012 AC101L 10/100 media interface
111296936Smmelmodel xxALTIMA ACXXX		0x0001 ACXXX 10/100 media interface
112296936Smmel
113296936Smmel/* Advanced Micro Devices PHYs */
114296936Smmelmodel AMD 79c973phy		0x0036 Am79c973 internal PHY
115296936Smmelmodel AMD 79c978		0x0039 Am79c978 HomePNA PHY
116296936Smmelmodel xxAMD 79C873		0x0000 Am79C873/DM9101 10/100 media interface
117296936Smmel
118296936Smmel/* Asix semiconductor PHYs. */
119296936Smmelmodel ASIX AX88X9X		0x0031 Ax88x9x internal PHY
120296936Smmel
121296936Smmel/* Atheros Communications/Attansic PHYs. */
122296936Smmelmodel ATHEROS F1		0x0001 Atheros F1 10/100/1000 PHY
123296936Smmelmodel ATHEROS F2		0x0002 Atheros F2 10/100 PHY
124296936Smmel
125296936Smmel/* Broadcom Corp. PHYs. */
126296936Smmelmodel BROADCOM 3C905B		0x0012 3c905B 10/100 internal PHY
127296936Smmelmodel BROADCOM 3C905C		0x0017 3c905C 10/100 internal PHY
128296936Smmelmodel BROADCOM BCM5201		0x0021 BCM5201 10/100baseTX PHY
129296936Smmelmodel BROADCOM BCM5221		0x001e BCM5221 10/100baseTX PHY
130296936Smmelmodel BROADCOM BCM4401		0x0036 BCM4401 10/100baseTX PHY
131296936Smmelmodel xxBROADCOM BCM5400	0x0004 Broadcom 1000baseTX PHY
132296936Smmelmodel xxBROADCOM BCM5401	0x0005 BCM5401 10/100/1000baseTX PHY
133296936Smmelmodel xxBROADCOM BCM5411	0x0007 BCM5411 10/100/1000baseTX PHY
134296936Smmelmodel xxBROADCOM BCM5754	0x000e BCM5754 10/100/1000baseTX PHY
135296936Smmelmodel xxBROADCOM BCM5752	0x0010 BCM5752 10/100/1000baseTX PHY
136296936Smmelmodel xxBROADCOM BCM5701	0x0011 BCM5701 10/100/1000baseTX PHY
137296936Smmelmodel xxBROADCOM BCM5706	0x0015 BCM5706 10/100/1000baseTX/SX PHY
138296936Smmelmodel xxBROADCOM BCM5703	0x0016 BCM5703 10/100/1000baseTX PHY
139296936Smmelmodel xxBROADCOM BCM5704	0x0019 BCM5704 10/100/1000baseTX PHY
140296936Smmelmodel xxBROADCOM BCM5705	0x001a BCM5705 10/100/1000baseTX PHY
141296936Smmelmodel xxBROADCOM BCM5750	0x0018 BCM5750 10/100/1000baseTX PHY
142296936Smmelmodel xxBROADCOM BCM54K2	0x002e BCM54K2 10/100/1000baseTX PHY
143296936Smmelmodel xxBROADCOM BCM5714	0x0034 BCM5714 10/100/1000baseTX PHY
144296936Smmelmodel xxBROADCOM BCM5780	0x0035 BCM5780 10/100/1000baseTX PHY
145296936Smmelmodel xxBROADCOM BCM5708C	0x0036 BCM5708C 10/100/1000baseTX PHY
146296936Smmelmodel xxBROADCOM_ALT1 BCM5755	0x000c BCM5755 10/100/1000baseTX PHY
147296936Smmelmodel xxBROADCOM_ALT1 BCM5787	0x000e BCM5787 10/100/1000baseTX PHY
148296936Smmelmodel xxBROADCOM_ALT1 BCM5708S	0x0015 BCM5708S 1000/2500BaseSX PHY
149296936Smmelmodel xxBROADCOM_ALT1 BCM5709CAX	0x002c BCM5709C(AX) 10/100/1000baseTX PHY
150296936Smmelmodel xxBROADCOM_ALT1 BCM5722	0x002d BCM5722 10/100/1000baseTX PHY
151296936Smmelmodel xxBROADCOM_ALT1 BCM5784	0x003a BCM5784 10/100/1000baseTX PHY
152296936Smmelmodel xxBROADCOM_ALT1 BCM5709C	0x003c BCM5709C 10/100/1000baseTX PHY
153296936Smmelmodel xxBROADCOM_ALT1 BCM5761	0x003d BCM5761 10/100/1000baseTX PHY
154296936Smmelmodel xxBROADCOM_ALT1 BCM5709S	0x003f BCM5709S 1000/2500baseSX PHY
155296936Smmelmodel BROADCOM2 BCM5906		0x0004 BCM5906 10/100baseTX PHY
156296936Smmel
157296936Smmel/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
158296936Smmelmodel CICADA CS8201		0x0001 Cicada CS8201 10/100/1000TX PHY
159296936Smmelmodel CICADA CS8204		0x0004 Cicada CS8204 10/100/1000TX PHY
160296936Smmelmodel CICADA VSC8211		0x000b Cicada VSC8211 10/100/1000TX PHY
161296936Smmelmodel CICADA CS8201A		0x0020 Cicada CS8201 10/100/1000TX PHY
162296936Smmelmodel CICADA CS8201B		0x0021 Cicada CS8201 10/100/1000TX PHY
163296936Smmelmodel CICADA CS8244		0x002c Cicada CS8244 10/100/1000TX PHY
164296936Smmelmodel VITESSE VSC8601		0x0002 Vitesse VSC8601 10/100/1000TX PHY
165296936Smmel
166296936Smmel/* Davicom Semiconductor PHYs */
167296936Smmelmodel DAVICOM DM9102		0x0004 DM9102 10/100 media interface
168296936Smmelmodel xxDAVICOM DM9101		0x0000 DM9101 10/100 media interface
169296936Smmel
170296936Smmel/* Integrated Circuit Systems PHYs */
171296936Smmelmodel xxICS 1889		0x0001 ICS1889 10/100 media interface
172296936Smmelmodel xxICS 1890		0x0002 ICS1890 10/100 media interface
173296936Smmelmodel xxICS 1892		0x0003 ICS1892 10/100 media interface
174296936Smmelmodel xxICS 1893		0x0004 ICS1893 10/100 media interface
175296936Smmel
176296936Smmel/* IC Plus Corp. PHYs */
177296936Smmelmodel ICPLUS IP101		0x0005 IC Plus 10/100 PHY
178296936Smmelmodel ICPLUS IP1000A		0x0008 IC Plus 10/100/1000 media interface
179296936Smmelmodel ICPLUS IP1001		0x0019 IC Plus IP1001 10/100/1000 media interface
180296936Smmel
181296936Smmel/* Intel PHYs */
182296936Smmelmodel xxINTEL I82553AB		0x0000 i83553 10/100 media interface
183296936Smmelmodel INTEL I82555		0x0015 i82555 10/100 media interface
184296936Smmelmodel INTEL I82562EM		0x0032 i82562EM 10/100 media interface
185296936Smmelmodel INTEL I82562ET		0x0033 i82562ET 10/100 media interface
186296936Smmelmodel INTEL I82553C		0x0035 i82553 10/100 media interface
187296936Smmel
188296936Smmel/* Jato Technologies PHYs */
189296936Smmelmodel JATO BASEX		0x0000 Jato 1000baseX media interface
190296936Smmel
191296936Smmel/* JMicron Technologies PHYs */
192296936Smmelmodel JMICRON JMP211		0x0021 JMP211 10/100/1000 media interface
193296936Smmelmodel JMICRON JMP202		0x0022 JMP202 10/100 media interface
194296936Smmel
195296936Smmel/* Level 1 PHYs */
196296936Smmelmodel xxLEVEL1 LXT970		0x0000 LXT970 10/100 media interface
197296936Smmel
198296936Smmel/* National Semiconductor PHYs */
199296936Smmelmodel NATSEMI DP83840		0x0000 DP83840 10/100 media interface
200296936Smmelmodel NATSEMI DP83843		0x0001 DP83843 10/100 media interface
201296936Smmelmodel NATSEMI DP83815		0x0002 DP83815 10/100 media interface
202296936Smmelmodel NATSEMI DP83847		0x0003 DP83847 10/100 media interface
203296936Smmelmodel NATSEMI DP83891		0x0005 DP83891 10/100/1000 media interface
204296936Smmelmodel NATSEMI DP83861		0x0006 DP83861 10/100/1000 media interface
205296936Smmelmodel NATSEMI DP83865		0x0007 DP83865 10/100/1000 media interface
206296936Smmel
207296936Smmel/* Quality Semiconductor PHYs */
208296936Smmelmodel QUALSEMI QS6612		0x0000 QS6612 10/100 media interface
209296936Smmel
210296936Smmel/* RealTek Semiconductor PHYs */
211296936Smmelmodel REALTEK RTL8201L		0x0020 RTL8201L 10/100 media interface
212296936Smmelmodel xxREALTEK RTL8305SC	0x0005 RTL8305SC 10/100 802.1q switch
213296936Smmelmodel xxREALTEK RTL8169S	0x0011 RTL8169S/8110S/8211B media interface
214296936Smmel
215296936Smmel/* Seeq PHYs */
216296936Smmelmodel xxSEEQ 80220		0x0003 Seeq 80220 10/100 media interface
217296936Smmelmodel xxSEEQ 84220		0x0004 Seeq 84220 10/100 media interface
218296936Smmel
219296936Smmel/* Silicon Integrated Systems PHYs */
220296936Smmelmodel xxSIS 900			0x0000 SiS 900 10/100 media interface
221296936Smmel
222296936Smmel/* SMSC PHYs */
223296936Smmelmodel SMSC LAN83C183		0x0004 SMSC LAN83C183 10/100 media interface
224296936Smmel
225296936Smmel/* TDK */
226296936Smmelmodel TDK 78Q2120		0x0014 TDK 78Q2120 media interface
227296936Smmel
228296936Smmel/* Texas Instruments PHYs */
229296936Smmelmodel xxTI TLAN10T		0x0001 ThunderLAN 10baseT media interface
230296936Smmelmodel xxTI 100VGPMI		0x0002 ThunderLAN 100VG-AnyLan media interface
231296936Smmel
232296936Smmel/* XaQti Corp. PHYs. */
233296936Smmelmodel XAQTI XMACII		0x0000 XaQti Corp. XMAC II gigabit interface
234296936Smmel
235296936Smmel/* Marvell Semiconductor PHYs */
236296936Smmelmodel MARVELL E1000		0x0000 Marvell 88E1000 Gigabit PHY
237296936Smmelmodel MARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
238296936Smmelmodel MARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
239296936Smmelmodel MARVELL E1000S		0x0004 Marvell 88E1000S Gigabit PHY
240314506Sianmodel MARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
241296936Smmelmodel MARVELL E1000_6		0x0006 Marvell 88E1000 Gigabit PHY
242296936Smmelmodel MARVELL E3082		0x0008 Marvell 88E3082 10/100 Fast Ethernet PHY
243296936Smmelmodel MARVELL E1112		0x0009 Marvell 88E1112 Gigabit PHY
244296936Smmelmodel MARVELL E1149		0x000b Marvell 88E1149 Gigabit PHY
245296936Smmelmodel MARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
246296936Smmelmodel MARVELL E1116		0x0021 Marvell 88E1116 Gigabit PHY
247296936Smmelmodel MARVELL E1116R		0x0024 Marvell 88E1116R Gigabit PHY
248296936Smmelmodel MARVELL E1118		0x0022 Marvell 88E1118 Gigabit PHY
249296936Smmelmodel MARVELL E3016		0x0026 Marvell 88E3016 10/100 Fast Ethernet PHY
250296936Smmelmodel MARVELL PHYG65G		0x0027 Marvell PHYG65G Gigabit PHY
251296936Smmelmodel xxMARVELL E1000		0x0005 Marvell 88E1000 Gigabit PHY
252296936Smmelmodel xxMARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
253296936Smmelmodel xxMARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
254296936Smmelmodel xxMARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
255296936Smmelmodel xxMARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
256296936Smmel