miidevs revision 175702
150276Speter$FreeBSD: head/sys/dev/mii/miidevs 175702 2008-01-27 01:10:41Z marius $
2166124Srafan/*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/
350276Speter
450276Speter/*-
550276Speter * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
650276Speter * All rights reserved.
750276Speter *
850276Speter * This code is derived from software contributed to The NetBSD Foundation
950276Speter * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
1050276Speter * NASA Ames Research Center.
1150276Speter *
1250276Speter * Redistribution and use in source and binary forms, with or without
1350276Speter * modification, are permitted provided that the following conditions
1450276Speter * are met:
1550276Speter * 1. Redistributions of source code must retain the above copyright
1650276Speter *    notice, this list of conditions and the following disclaimer.
1750276Speter * 2. Redistributions in binary form must reproduce the above copyright
1850276Speter *    notice, this list of conditions and the following disclaimer in the
1950276Speter *    documentation and/or other materials provided with the distribution.
2050276Speter * 3. All advertising materials mentioning features or use of this software
2150276Speter *    must display the following acknowledgement:
2250276Speter *	This product includes software developed by the NetBSD
2350276Speter *	Foundation, Inc. and its contributors.
2450276Speter * 4. Neither the name of The NetBSD Foundation nor the names of its
2550276Speter *    contributors may be used to endorse or promote products derived
2650276Speter *    from this software without specific prior written permission.
2750276Speter *
2850276Speter * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
29166124Srafan * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
3050276Speter * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
3150276Speter * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
3262449Speter * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
3362449Speter * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
3462449Speter * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
3562449Speter * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
3650276Speter * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3750276Speter * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38166124Srafan * POSSIBILITY OF SUCH DAMAGE.
3950276Speter */
4050276Speter
4150276Speter/*
4250276Speter * List of known MII OUIs.
4350276Speter * For a complete list see http://standards.ieee.org/regauth/oui/
4450276Speter *
4550276Speter * XXX Vendors do obviously not agree how OUIs (18 bit) are mapped
4650276Speter * to the 16 bits available in the id registers. The MII_OUI() macro
4750276Speter * in "mii.h" reflects the most obvious way. If a vendor uses a
48166124Srafan * different mapping, an "xx" prefixed OUI is defined here which is
4950276Speter * mangled accordingly to compensate.
5050276Speter */
5150276Speter
5250276Speteroui ALTIMA			0x0010a9	Altima Communications
5350276Speteroui AMD				0x00001a	Advanced Micro Devices
5450276Speteroui BROADCOM			0x001018	Broadcom Corporation
5550276Speteroui CICADA			0x0003F1	Cicada Semiconductor
5650276Speteroui DAVICOM			0x00606e	Davicom Semiconductor
5750276Speteroui ICPLUS			0x0090c3	IC Plus Corp.
5850276Speteroui ICS				0x00a0be	Integrated Circuit Systems
59166124Srafanoui INTEL			0x00aa00	Intel
6050276Speteroui JATO			0x00e083	Jato Technologies
6150276Speteroui LEVEL1			0x00207b	Level 1
6250276Speteroui NATSEMI			0x080017	National Semiconductor
6350276Speteroui QUALSEMI			0x006051	Quality Semiconductor
6450276Speteroui REALTEK			0x000020	RealTek Semicondctor
65166124Srafanoui SEEQ			0x00a07d	Seeq
66166124Srafanoui SIS				0x00e006	Silicon Integrated Systems
67166124Srafanoui TDK				0x00c039	TDK
68166124Srafanoui TI				0x080028	Texas Instruments
6950276Speteroui VITESSE			0x0001c1	Vitesse Semiconductor
7050276Speteroui XAQTI			0x00e0ae	XaQti Corp.
7150276Speteroui MARVELL			0x005043	Marvell Semiconductor
7250276Speteroui xxMARVELL			0x000ac2	Marvell Semiconductor
7350276Speter
7450276Speter/* in the 79c873, AMD uses another OUI (which matches Davicom!) */
75oui xxAMD			0x00606e	Advanced Micro Devices
76
77/* Intel 82553 A/B steppings */
78oui xxINTEL			0x00f800	Intel
79
80/* some vendors have the bits swapped within bytes
81	(ie, ordered as on the wire) */
82oui xxALTIMA			0x000895	Altima Communications
83oui xxBROADCOM			0x000818	Broadcom Corporation
84oui xxBROADCOM_ALT1		0x0050ef	Broadcom Corporation
85oui xxICS			0x00057d	Integrated Circuit Systems
86oui xxSEEQ			0x0005be	Seeq
87oui xxSIS			0x000760	Silicon Integrated Systems
88oui xxTI			0x100014	Texas Instruments
89oui xxXAQTI			0x350700	XaQti Corp.
90
91/* Level 1 is completely different - from right to left.
92	(Two bits get lost in the third OUI byte.) */
93oui xxLEVEL1			0x1e0400	Level 1
94
95/* Don't know what's going on here. */
96oui xxDAVICOM			0x006040	Davicom Semiconductor
97
98/* This is the OUI of the gigE PHY in the RealTek 8169S/8110S/8211B chips */
99oui xxREALTEK			0x000732
100
101/*
102 * List of known models.  Grouped by oui.
103 */
104
105/* Altima Communications PHYs */
106model xxALTIMA AC101		0x0021 AC101 10/100 media interface
107model xxALTIMA AC101L		0x0012 AC101L 10/100 media interface
108model xxALTIMA ACXXX		0x0001 ACXXX 10/100 media interface
109
110/* Advanced Micro Devices PHYs */
111model AMD 79c973phy		0x0036 Am79c973 internal PHY
112model AMD 79c978		0x0039 Am79c978 HomePNA PHY
113model xxAMD 79C873		0x0000 Am79C873/DM9101 10/100 media interface
114
115/* Broadcom Corp. PHYs. */
116model BROADCOM 3C905B		0x0012 3c905B 10/100 internal PHY
117model BROADCOM 3C905C		0x0017 3c905C 10/100 internal PHY
118model BROADCOM BCM5201		0x0021 BCM5201 10/100baseTX PHY
119model BROADCOM BCM5221		0x001e BCM5221 10/100baseTX PHY
120model BROADCOM BCM4401		0x0036 BCM4401 10/100baseTX PHY
121model xxBROADCOM BCM5400	0x0004 Broadcom 1000baseTX PHY
122model xxBROADCOM BCM5401	0x0005 BCM5401 10/100/1000baseTX PHY
123model xxBROADCOM BCM5411	0x0007 BCM5411 10/100/1000baseTX PHY
124model xxBROADCOM BCM5754	0x000e BCM5754 10/100/1000baseTX PHY
125model xxBROADCOM BCM5752	0x0010 BCM5752 10/100/1000baseTX PHY
126model xxBROADCOM BCM5701	0x0011 BCM5701 10/100/1000baseTX PHY
127model xxBROADCOM BCM5706	0x0015 BCM5706 10/100/1000baseTX/SX PHY
128model xxBROADCOM BCM5703	0x0016 BCM5703 10/100/1000baseTX PHY
129model xxBROADCOM BCM5704	0x0019 BCM5704 10/100/1000baseTX PHY
130model xxBROADCOM BCM5705	0x001a BCM5705 10/100/1000baseTX PHY
131model xxBROADCOM BCM5750	0x0018 BCM5750 10/100/1000baseTX PHY
132model xxBROADCOM BCM5714	0x0034 BCM5714 10/100/1000baseTX PHY
133model xxBROADCOM BCM5780	0x0035 BCM5780 10/100/1000baseTX PHY
134model xxBROADCOM BCM5708C	0x0036 BCM5708C 10/100/1000baseTX PHY
135model xxBROADCOM_ALT1 BCM5755	0x000c BCM5755 10/100/1000baseTX PHY
136model xxBROADCOM_ALT1 BCM5787	0x000e BCM5787 10/100/1000baseTX PHY
137model xxBROADCOM_ALT1 BCM5708S	0x0015 BCM5708S 1000/2500BaseSX PHY
138
139/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
140model CICADA CS8201		0x0001 Cicada CS8201 10/100/1000TX PHY
141model CICADA CS8201A		0x0020 Cicada CS8201 10/100/1000TX PHY
142model CICADA CS8201B		0x0021 Cicada CS8201 10/100/1000TX PHY
143model VITESSE VSC8601		0x0002 Vitesse VSC8601 10/100/1000TX PHY
144
145/* Davicom Semiconductor PHYs */
146model DAVICOM DM9102		0x0004 DM9102 10/100 media interface
147model xxDAVICOM DM9101		0x0000 DM9101 10/100 media interface
148
149/* Integrated Circuit Systems PHYs */
150model xxICS 1889		0x0001 ICS1889 10/100 media interface
151model xxICS 1890		0x0002 ICS1890 10/100 media interface
152model xxICS 1892		0x0003 ICS1892 10/100 media interface
153model xxICS 1893		0x0004 ICS1893 10/100 media interface
154
155/* IC Plus Corp. PHYs */
156model ICPLUS IP101		0x0005 IC Plus 10/100 PHY
157model ICPLUS IP1000A		0x0008 IC Plus 10/100/1000 media interface
158
159/* Intel PHYs */
160model xxINTEL I82553AB		0x0000 i83553 10/100 media interface
161model INTEL I82555		0x0015 i82555 10/100 media interface
162model INTEL I82562EM		0x0032 i82562EM 10/100 media interface
163model INTEL I82562ET		0x0033 i82562ET 10/100 media interface
164model INTEL I82553C		0x0035 i82553 10/100 media interface
165
166/* Jato Technologies PHYs */
167model JATO BASEX		0x0000 Jato 1000baseX media interface
168
169/* Level 1 PHYs */
170model xxLEVEL1 LXT970		0x0000 LXT970 10/100 media interface
171
172/* National Semiconductor PHYs */
173model NATSEMI DP83840		0x0000 DP83840 10/100 media interface
174model NATSEMI DP83843		0x0001 DP83843 10/100 media interface
175model NATSEMI DP83815		0x0002 DP83815 10/100 media interface
176model NATSEMI DP83847		0x0003 DP83847 10/100 media interface
177model NATSEMI DP83891		0x0005 DP83891 10/100/1000 media interface
178model NATSEMI DP83861		0x0006 DP83861 10/100/1000 media interface
179
180/* Quality Semiconductor PHYs */
181model QUALSEMI QS6612		0x0000 QS6612 10/100 media interface
182
183/* RealTek Semiconductor PHYs */
184model REALTEK RTL8201L		0x0020 RTL8201L 10/100 media interface
185model xxREALTEK RTL8305SC	0x0005 RTL8305SC 10/100 802.1q switch
186model xxREALTEK RTL8169S	0x0011 RTL8169S/8110S/8211B media interface
187
188/* Seeq PHYs */
189model xxSEEQ 80220		0x0003 Seeq 80220 10/100 media interface
190model xxSEEQ 84220		0x0004 Seeq 84220 10/100 media interface
191
192/* Silicon Integrated Systems PHYs */
193model xxSIS 900			0x0000 SiS 900 10/100 media interface
194
195/* TDK */
196model TDK 78Q2120		0x0014 TDK 78Q2120 media interface
197
198/* Texas Instruments PHYs */
199model xxTI TLAN10T		0x0001 ThunderLAN 10baseT media interface
200model xxTI 100VGPMI		0x0002 ThunderLAN 100VG-AnyLan media interface
201
202/* XaQti Corp. PHYs. */
203model XAQTI XMACII		0x0000 XaQti Corp. XMAC II gigabit interface
204
205/* Marvell Semiconductor PHYs */
206model MARVELL E1000		0x0000 Marvell 88E1000 Gigabit PHY
207model MARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
208model MARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
209model MARVELL E1000S		0x0004 Marvell 88E1000S Gigabit PHY
210model MARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
211model MARVELL E1000_6		0x0006 Marvell 88E1000 Gigabit PHY
212model MARVELL E3082		0x0008 Marvell 88E3082 10/100 Fast Ethernet PHY
213model MARVELL E1112		0x0009 Marvell 88E1112 Gigabit PHY
214model MARVELL E1149		0x000b Marvell 88E1149 Gigabit PHY
215model MARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
216model MARVELL E1116		0x0021 Marvell 88E1116 Gigabit PHY
217model MARVELL E1118		0x0022 Marvell 88E1118 Gigabit PHY
218model xxMARVELL E1000		0x0005 Marvell 88E1000 Gigabit PHY
219model xxMARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
220model xxMARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
221model xxMARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY
222model xxMARVELL E1111		0x000c Marvell 88E1111 Gigabit PHY
223