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