miidevs revision 170391
1130803Smarcel$FreeBSD: head/sys/dev/mii/miidevs 170391 2007-06-07 02:21:38Z davidch $
2130803Smarcel/*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/
3130803Smarcel
4130803Smarcel/*-
5130803Smarcel * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
6130803Smarcel * All rights reserved.
7130803Smarcel *
8130803Smarcel * This code is derived from software contributed to The NetBSD Foundation
9130803Smarcel * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
10130803Smarcel * NASA Ames Research Center.
11130803Smarcel *
12130803Smarcel * Redistribution and use in source and binary forms, with or without
13130803Smarcel * modification, are permitted provided that the following conditions
14130803Smarcel * are met:
15130803Smarcel * 1. Redistributions of source code must retain the above copyright
16130803Smarcel *    notice, this list of conditions and the following disclaimer.
17130803Smarcel * 2. Redistributions in binary form must reproduce the above copyright
18130803Smarcel *    notice, this list of conditions and the following disclaimer in the
19130803Smarcel *    documentation and/or other materials provided with the distribution.
20130803Smarcel * 3. All advertising materials mentioning features or use of this software
21130803Smarcel *    must display the following acknowledgement:
22130803Smarcel *	This product includes software developed by the NetBSD
23130803Smarcel *	Foundation, Inc. and its contributors.
24130803Smarcel * 4. Neither the name of The NetBSD Foundation nor the names of its
25130803Smarcel *    contributors may be used to endorse or promote products derived
26130803Smarcel *    from this software without specific prior written permission.
27130803Smarcel *
28130803Smarcel * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
29130803Smarcel * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
30130803Smarcel * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31130803Smarcel * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
32130803Smarcel * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33130803Smarcel * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34130803Smarcel * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35130803Smarcel * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36130803Smarcel * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37130803Smarcel * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38130803Smarcel * POSSIBILITY OF SUCH DAMAGE.
39130803Smarcel */
40130803Smarcel
41130803Smarcel/*
42130803Smarcel * List of known MII OUIs.
43130803Smarcel * For a complete list see http://standards.ieee.org/regauth/oui/
44130803Smarcel *
45130803Smarcel * XXX Vendors do obviously not agree how OUIs (18 bit) are mapped
46130803Smarcel * to the 16 bits available in the id registers. The MII_OUI() macro
47130803Smarcel * in "mii.h" reflects the most obvious way. If a vendor uses a
48130803Smarcel * different mapping, an "xx" prefixed OUI is defined here which is
49130803Smarcel * mangled accordingly to compensate.
50130803Smarcel */
51130803Smarcel
52130803Smarceloui ALTIMA			0x0010a9	Altima Communications
53130803Smarceloui AMD				0x00001a	Advanced Micro Devices
54130803Smarceloui BROADCOM			0x001018	Broadcom Corporation
55130803Smarceloui CICADA			0x0003F1	Cicada Semiconductor
56130803Smarceloui DAVICOM			0x00606e	Davicom Semiconductor
57130803Smarceloui ICPLUS			0x0090c3	IC Plus Corp.
58130803Smarceloui ICS				0x00a0be	Integrated Circuit Systems
59130803Smarceloui INTEL			0x00aa00	Intel
60130803Smarceloui JATO			0x00e083	Jato Technologies
61130803Smarceloui LEVEL1			0x00207b	Level 1
62130803Smarceloui NATSEMI			0x080017	National Semiconductor
63130803Smarceloui QUALSEMI			0x006051	Quality Semiconductor
64130803Smarceloui REALTEK			0x000020	RealTek Semicondctor
65130803Smarceloui SEEQ			0x00a07d	Seeq
66130803Smarceloui SIS				0x00e006	Silicon Integrated Systems
67130803Smarceloui TDK				0x00c039	TDK
68130803Smarceloui TI				0x080028	Texas Instruments
69130803Smarceloui VITESSE			0x0001c1	Vitesse Semiconductor
70130803Smarceloui XAQTI			0x00e0ae	XaQti Corp.
71130803Smarceloui MARVELL			0x005043	Marvell Semiconductor
72130803Smarceloui xxMARVELL			0x000ac2	Marvell Semiconductor
73130803Smarcel
74130803Smarcel/* in the 79c873, AMD uses another OUI (which matches Davicom!) */
75130803Smarceloui xxAMD			0x00606e	Advanced Micro Devices
76130803Smarcel
77130803Smarcel/* Intel 82553 A/B steppings */
78130803Smarceloui xxINTEL			0x00f800	Intel
79130803Smarcel
80130803Smarcel/* some vendors have the bits swapped within bytes
81130803Smarcel	(ie, ordered as on the wire) */
82130803Smarceloui xxALTIMA			0x000895	Altima Communications
83130803Smarceloui xxBROADCOM			0x000818	Broadcom Corporation
84130803Smarceloui xxBROADCOM_ALT1		0x0050ef	Broadcom Corporation
85130803Smarceloui xxICS			0x00057d	Integrated Circuit Systems
86130803Smarceloui xxSEEQ			0x0005be	Seeq
87130803Smarceloui xxSIS			0x000760	Silicon Integrated Systems
88130803Smarceloui xxTI			0x100014	Texas Instruments
89130803Smarceloui xxXAQTI			0x350700	XaQti Corp.
90130803Smarcel
91130803Smarcel/* Level 1 is completely different - from right to left.
92130803Smarcel	(Two bits get lost in the third OUI byte.) */
93130803Smarceloui xxLEVEL1			0x1e0400	Level 1
94130803Smarcel
95130803Smarcel/* Don't know what's going on here. */
96130803Smarceloui xxDAVICOM			0x006040	Davicom Semiconductor
97130803Smarcel
98130803Smarcel/* This is the OUI of the gigE PHY in the RealTek 8169S/8110S chips */
99130803Smarceloui xxREALTEK			0x000732
100130803Smarcel
101130803Smarcel/*
102130803Smarcel * List of known models.  Grouped by oui.
103130803Smarcel */
104130803Smarcel
105130803Smarcel/* Altima Communications PHYs */
106130803Smarcelmodel xxALTIMA AC101		0x0021 AC101 10/100 media interface
107130803Smarcelmodel xxALTIMA AC101L		0x0012 AC101L 10/100 media interface
108130803Smarcelmodel xxALTIMA ACXXX		0x0001 ACXXX 10/100 media interface
109130803Smarcel
110130803Smarcel/* Advanced Micro Devices PHYs */
111130803Smarcelmodel AMD 79c973phy		0x0036 Am79c973 internal PHY
112130803Smarcelmodel AMD 79c978		0x0039 Am79c978 HomePNA PHY
113130803Smarcelmodel xxAMD 79C873		0x0000 Am79C873/DM9101 10/100 media interface
114130803Smarcel
115130803Smarcel/* Broadcom Corp. PHYs. */
116130803Smarcelmodel BROADCOM 3C905B		0x0012 3c905B 10/100 internal PHY
117130803Smarcelmodel BROADCOM 3C905C		0x0017 3c905C 10/100 internal PHY
118130803Smarcelmodel BROADCOM BCM5201		0x0021 BCM5201 10/100baseTX PHY
119130803Smarcelmodel BROADCOM BCM5221		0x001e BCM5221 10/100baseTX PHY
120130803Smarcelmodel BROADCOM BCM4401		0x0036 BCM4401 10/100baseTX PHY
121130803Smarcelmodel xxBROADCOM BCM5400	0x0004 Broadcom 1000baseTX PHY
122130803Smarcelmodel xxBROADCOM BCM5401	0x0005 BCM5401 10/100/1000baseTX PHY
123130803Smarcelmodel xxBROADCOM BCM5411	0x0007 BCM5411 10/100/1000baseTX PHY
124130803Smarcelmodel xxBROADCOM BCM5754	0x000e BCM5754 10/100/1000baseTX PHY
125130803Smarcelmodel xxBROADCOM BCM5752	0x0010 BCM5752 10/100/1000baseTX PHY
126130803Smarcelmodel xxBROADCOM BCM5701	0x0011 BCM5701 10/100/1000baseTX PHY
127130803Smarcelmodel xxBROADCOM BCM5706	0x0015 BCM5706 10/100/1000baseTX/SX PHY
128130803Smarcelmodel xxBROADCOM BCM5703	0x0016 BCM5703 10/100/1000baseTX PHY
129130803Smarcelmodel xxBROADCOM BCM5704	0x0019 BCM5704 10/100/1000baseTX PHY
130130803Smarcelmodel xxBROADCOM BCM5705	0x001a BCM5705 10/100/1000baseTX PHY
131130803Smarcelmodel xxBROADCOM BCM5750	0x0018 BCM5750 10/100/1000baseTX PHY
132130803Smarcelmodel xxBROADCOM BCM5714	0x0034 BCM5714 10/100/1000baseTX PHY
133130803Smarcelmodel xxBROADCOM BCM5780	0x0035 BCM5780 10/100/1000baseTX PHY
134130803Smarcelmodel xxBROADCOM BCM5708C	0x0036 BCM5708C 10/100/1000baseTX PHY
135130803Smarcelmodel xxBROADCOM_ALT1 BCM5755	0x000c BCM5755 10/100/1000baseTX PHY
136130803Smarcelmodel xxBROADCOM_ALT1 BCM5787	0x000e BCM5787 10/100/1000baseTX PHY
137130803Smarcelmodel xxBROADCOM_ALT1 BCM5708S	0x0015 BCM5708S 1000/2500BaseSX PHY
138130803Smarcel
139130803Smarcel/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
140130803Smarcelmodel CICADA CS8201		0x0001 Cicada CS8201 10/100/1000TX PHY
141130803Smarcelmodel CICADA CS8201A		0x0020 Cicada CS8201 10/100/1000TX PHY
142130803Smarcelmodel CICADA CS8201B		0x0021 Cicada CS8201 10/100/1000TX PHY
143130803Smarcelmodel VITESSE VSC8601		0x0002 Vitesse VSC8601 10/100/1000TX PHY
144130803Smarcel
145130803Smarcel/* Davicom Semiconductor PHYs */
146130803Smarcelmodel DAVICOM DM9102		0x0004 DM9102 10/100 media interface
147130803Smarcelmodel xxDAVICOM DM9101		0x0000 DM9101 10/100 media interface
148130803Smarcel
149130803Smarcel/* Integrated Circuit Systems PHYs */
150130803Smarcelmodel xxICS 1890		0x0002 ICS1890 10/100 media interface
151130803Smarcel
152130803Smarcel/* IC Plus Corp. PHYs */
153130803Smarcelmodel ICPLUS IP101		0x0005 IC Plus 10/100 PHY
154130803Smarcelmodel ICPLUS IP1000A		0x0008 IC Plus 10/100/1000 media interface
155130803Smarcel
156130803Smarcel/* Intel PHYs */
157130803Smarcelmodel xxINTEL I82553AB		0x0000 i83553 10/100 media interface
158130803Smarcelmodel INTEL I82555		0x0015 i82555 10/100 media interface
159130803Smarcelmodel INTEL I82562EM		0x0032 i82562EM 10/100 media interface
160130803Smarcelmodel INTEL I82562ET		0x0033 i82562ET 10/100 media interface
161130803Smarcelmodel INTEL I82553C		0x0035 i82553 10/100 media interface
162130803Smarcel
163130803Smarcel/* Jato Technologies PHYs */
164130803Smarcelmodel JATO BASEX		0x0000 Jato 1000baseX media interface
165130803Smarcel
166130803Smarcel/* Level 1 PHYs */
167130803Smarcelmodel xxLEVEL1 LXT970		0x0000 LXT970 10/100 media interface
168130803Smarcel
169130803Smarcel/* National Semiconductor PHYs */
170130803Smarcelmodel NATSEMI DP83840		0x0000 DP83840 10/100 media interface
171130803Smarcelmodel NATSEMI DP83843		0x0001 DP83843 10/100 media interface
172130803Smarcelmodel NATSEMI DP83891		0x0005 DP83891 10/100/1000 media interface
173130803Smarcelmodel NATSEMI DP83861		0x0006 DP83861 10/100/1000 media interface
174130803Smarcel
175130803Smarcel/* Quality Semiconductor PHYs */
176130803Smarcelmodel QUALSEMI QS6612		0x0000 QS6612 10/100 media interface
177130803Smarcel
178130803Smarcel/* RealTek Semiconductor PHYs */
179130803Smarcelmodel REALTEK RTL8201L		0x0020 RTL8201L 10/100 media interface
180130803Smarcelmodel xxREALTEK RTL8305SC	0x0005 RTL8305SC 10/100 802.1q switch
181130803Smarcelmodel xxREALTEK RTL8169S	0x0011 RTL8169S/8110S media interface
182130803Smarcel
183130803Smarcel/* Seeq PHYs */
184130803Smarcelmodel xxSEEQ 80220		0x0003 Seeq 80220 10/100 media interface
185130803Smarcelmodel xxSEEQ 84220		0x0004 Seeq 84220 10/100 media interface
186130803Smarcel
187130803Smarcel/* Silicon Integrated Systems PHYs */
188130803Smarcelmodel xxSIS 900			0x0000 SiS 900 10/100 media interface
189130803Smarcel
190130803Smarcel/* TDK */
191130803Smarcelmodel TDK 78Q2120		0x0014 TDK 78Q2120 media interface
192130803Smarcel
193130803Smarcel/* Texas Instruments PHYs */
194130803Smarcelmodel xxTI TLAN10T		0x0001 ThunderLAN 10baseT media interface
195130803Smarcelmodel xxTI 100VGPMI		0x0002 ThunderLAN 100VG-AnyLan media interface
196130803Smarcel
197130803Smarcel/* XaQti Corp. PHYs. */
198130803Smarcelmodel XAQTI XMACII		0x0000 XaQti Corp. XMAC II gigabit interface
199130803Smarcel
200130803Smarcel/* Marvell Semiconductor PHYs */
201130803Smarcelmodel MARVELL E1000		0x0000 Marvell 88E1000 Gigabit PHY
202130803Smarcelmodel MARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
203130803Smarcelmodel MARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
204130803Smarcelmodel MARVELL E1000S		0x0004 Marvell 88E1000S Gigabit PHY
205130803Smarcelmodel MARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
206130803Smarcelmodel MARVELL E1000_6		0x0006 Marvell 88E1000 Gigabit PHY
207130803Smarcelmodel MARVELL E3082		0x0008 Marvell 88E3082 10/100 Fast Ethernet PHY
208130803Smarcelmodel MARVELL E1112		0x0009 Marvell 88E1112 Gigabit PHY
209130803Smarcelmodel MARVELL E1149		0x000b Marvell 88E1149 Gigabit PHY
210130803Smarcelmodel MARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
211130803Smarcelmodel MARVELL E1116		0x0021 Marvell 88E1116 Gigabit PHY
212130803Smarcelmodel MARVELL E1118		0x0022 Marvell 88E1118 Gigabit PHY
213130803Smarcelmodel xxMARVELL E1000		0x0005 Marvell 88E1000 Gigabit PHY
214130803Smarcelmodel xxMARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
215130803Smarcelmodel xxMARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
216130803Smarcelmodel xxMARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
217130803Smarcelmodel xxMARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
218130803Smarcel