miidevs.h revision 1.75
1/*	$OpenBSD: miidevs.h,v 1.75 2006/02/12 00:38:50 brad Exp $	*/
2
3/*
4 * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
5 *
6 * generated from:
7 *	OpenBSD: miidevs,v 1.72 2006/02/12 00:38:27 brad Exp
8 */
9/* $NetBSD: miidevs,v 1.3 1998/11/05 03:43:43 thorpej Exp $ */
10
11/*-
12 * Copyright (c) 1998 The NetBSD Foundation, Inc.
13 * All rights reserved.
14 *
15 * This code is derived from software contributed to The NetBSD Foundation
16 * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
17 * NASA Ames Research Center.
18 *
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions
21 * are met:
22 * 1. Redistributions of source code must retain the above copyright
23 *    notice, this list of conditions and the following disclaimer.
24 * 2. Redistributions in binary form must reproduce the above copyright
25 *    notice, this list of conditions and the following disclaimer in the
26 *    documentation and/or other materials provided with the distribution.
27 * 3. All advertising materials mentioning features or use of this software
28 *    must display the following acknowledgement:
29 *	This product includes software developed by the NetBSD
30 *	Foundation, Inc. and its contributors.
31 * 4. Neither the name of The NetBSD Foundation nor the names of its
32 *    contributors may be used to endorse or promote products derived
33 *    from this software without specific prior written permission.
34 *
35 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
36 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
37 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
39 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
40 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
41 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
42 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
43 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
44 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
45 * POSSIBILITY OF SUCH DAMAGE.
46 */
47
48/*
49 * List of known MII OUIs
50 */
51
52#define	MII_OUI_3COM	0x00105a	/* 3com */
53#define	MII_OUI_LUCENT	0x00601d	/* Lucent Technologies */
54#define	MII_OUI_ALTIMA	0x0010a9	/* Altima Communications */
55#define	MII_OUI_AMD	0x00001a	/* Advanced Micro Devices */
56#define	MII_OUI_ASIX	0x000ec6	/* ASIX Electronics */
57#define	MII_OUI_BROADCOM	0x001018	/* Broadcom Corporation */
58#define	MII_OUI_CENIX	0x000749	/* CENiX Inc. */
59#define	MII_OUI_CICADA	0x0003F1	/* Cicada Semiconductor */
60#define	MII_OUI_ENABLESEMI	0x0010dd	/* Enable Semiconductor */
61#define	MII_OUI_DAVICOM	0x00606e	/* Davicom Semiconductor */
62#define	MII_OUI_MARVELL	0x005043	/* Marvell Semiconductor */
63#define	MII_OUI_ICPLUS	0x0090c3	/* IC Plus Corp. */
64#define	MII_OUI_ICS	0x00a0be	/* Integrated Circuit Systems */
65#define	MII_OUI_INTEL	0x00aa00	/* Intel */
66#define	MII_OUI_JATO	0x00e083	/* Jato Technologies */
67#define	MII_OUI_LEVEL1	0x00207b	/* Level 1 */
68#define	MII_OUI_MYSON	0x00c0b4	/* Myson Technology */
69#define	MII_OUI_NATSEMI	0x080017	/* National Semiconductor */
70#define	MII_OUI_PLESSEY	0x046b40	/* Plessey Semiconductor */
71#define	MII_OUI_QUALSEMI	0x006051	/* Quality Semiconductor */
72#define	MII_OUI_REALTEK	0x000020	/* Realtek Semiconductor */
73#define	MII_OUI_REALTEK2	0x00e04c	/* Realtek Semiconductor */
74#define	MII_OUI_SEEQ	0x00a07d	/* Seeq */
75#define	MII_OUI_SIS	0x00e006	/* Silicon Integrated Systems */
76#define	MII_OUI_TI	0x080028	/* Texas Instruments */
77#define	MII_OUI_TSC	0x00c039	/* TDK Semiconductor */
78#define	MII_OUI_VIA	0x004063	/* VIA Networking Technologies */
79#define	MII_OUI_XAQTI	0x00e0ae	/* XaQti Corp. */
80
81/* in the 79c873, AMD uses another OUI (which matches Davicom!) */
82#define	MII_OUI_xxALTIMA	0x000895	/* Altima Communications */
83#define	MII_OUI_xxAMD	0x00606e	/* Advanced Micro Devices */
84#define	MII_OUI_xxINTEL	0x00f800	/* Intel (alt) */
85#define	MII_OUI_xxCICADA	0x00c08f	/* Cicada Semiconductor (alt) */
86
87/* some vendors have the bits swapped within bytes
88	(ie, ordered as on the wire) */
89#define	MII_OUI_xxBROADCOM	0x000818	/* Broadcom Corporation */
90#define	MII_OUI_xxICS	0x00057d	/* Integrated Circuit Systems */
91#define	MII_OUI_xxSEEQ	0x0005be	/* Seeq */
92#define	MII_OUI_xxSIS	0x000760	/* Silicon Integrated Systems */
93#define	MII_OUI_xxTI	0x100014	/* Texas Instruments */
94#define	MII_OUI_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.) */
98#define	MII_OUI_xxLEVEL1	0x1e0400	/* Level 1 */
99#define	MII_OUI_xxLEVEL1a	0x0004de	/* Level 1 */
100
101/* Don't know what's going on here. */
102#define	MII_OUI_xxDAVICOM	0x006040	/* Davicom Semiconductor */
103
104/* This is the OUI of the gigE PHY in the RealTek 8169S/8110S chips */
105#define	MII_OUI_xxREALTEK	0x000732	/* Realtek Semiconductor */
106
107/* Contrived vendor for dcphy */
108#define	MII_OUI_xxDEC	0x040440	/* Digital Clone */
109
110#define	MII_OUI_xxMARVELL	0x000ac2	/* Marvell Semiconductor */
111
112/*
113 * List of known models.  Grouped by oui.
114 */
115
116/* Advanced Micro Devices PHYs */
117#define	MII_MODEL_xxAMD_79C873	0x0000
118#define	MII_STR_xxAMD_79C873	"Am79C873 10/100 PHY"
119#define	MII_MODEL_AMD_79C873phy	0x0036
120#define	MII_STR_AMD_79C873phy	"Am79C873 internal PHY"
121#define	MII_MODEL_AMD_79C875phy	0x0014
122#define	MII_STR_AMD_79C875phy	"Am79C875 quad PHY"
123
124/* Altima Communications PHYs */
125#define	MII_MODEL_xxALTIMA_AC_UNKNOWN	0x0001
126#define	MII_STR_xxALTIMA_AC_UNKNOWN	"AC_UNKNOWN 10/100 PHY"
127#define	MII_MODEL_xxALTIMA_AC101	0x0021
128#define	MII_STR_xxALTIMA_AC101	"AC101 10/100 PHY"
129#define	MII_MODEL_xxALTIMA_AC101L	0x0012
130#define	MII_STR_xxALTIMA_AC101L	"AC101L 10/100 PHY"
131
132/* Broadcom Corp. PHYs */
133#define	MII_MODEL_xxBROADCOM_BCM5400	0x0004
134#define	MII_STR_xxBROADCOM_BCM5400	"BCM5400 1000baseT PHY"
135#define	MII_MODEL_xxBROADCOM_BCM5401	0x0005
136#define	MII_STR_xxBROADCOM_BCM5401	"BCM5401 10/100/1000baseT PHY"
137#define	MII_MODEL_xxBROADCOM_BCM5411	0x0007
138#define	MII_STR_xxBROADCOM_BCM5411	"BCM5411 10/100/1000baseT PHY"
139#define	MII_MODEL_xxBROADCOM_BCM5462	0x000d
140#define	MII_STR_xxBROADCOM_BCM5462	"BCM5462 10/100/1000baseT PHY"
141#define	MII_MODEL_xxBROADCOM_BCM5421	0x000e
142#define	MII_STR_xxBROADCOM_BCM5421	"BCM5421 10/100/1000baseT PHY"
143#define	MII_MODEL_xxBROADCOM_BCM5752	0x0010
144#define	MII_STR_xxBROADCOM_BCM5752	"BCM5752 10/100/1000baseT PHY"
145#define	MII_MODEL_xxBROADCOM_BCM5701	0x0011
146#define	MII_STR_xxBROADCOM_BCM5701	"BCM5701 10/100/1000baseT PHY"
147#define	MII_MODEL_xxBROADCOM_BCM5703	0x0016
148#define	MII_STR_xxBROADCOM_BCM5703	"BCM5703 10/100/1000baseT PHY"
149#define	MII_MODEL_xxBROADCOM_BCM5704	0x0019
150#define	MII_STR_xxBROADCOM_BCM5704	"BCM5704 10/100/1000baseT PHY"
151#define	MII_MODEL_xxBROADCOM_BCM5705	0x001a
152#define	MII_STR_xxBROADCOM_BCM5705	"BCM5705 10/100/1000baseT PHY"
153#define	MII_MODEL_xxBROADCOM_BCM5750	0x0018
154#define	MII_STR_xxBROADCOM_BCM5750	"BCM5750 10/100/1000baseT PHY"
155#define	MII_MODEL_xxBROADCOM_BCM54K2	0x002e
156#define	MII_STR_xxBROADCOM_BCM54K2	"BCM54K2 10/100/1000baseT PHY"
157#define	MII_MODEL_xxBROADCOM_BCM5714	0x0034
158#define	MII_STR_xxBROADCOM_BCM5714	"BCM5714 10/100/1000baseT PHY"
159#define	MII_MODEL_xxBROADCOM_BCM5780	0x0035
160#define	MII_STR_xxBROADCOM_BCM5780	"BCM5780 10/100/1000baseT PHY"
161#define	MII_MODEL_BROADCOM_BCM5400	0x0004
162#define	MII_STR_BROADCOM_BCM5400	"BCM5400 1000baseT PHY"
163#define	MII_MODEL_BROADCOM_BCM5401	0x0005
164#define	MII_STR_BROADCOM_BCM5401	"BCM5401 1000baseT PHY"
165#define	MII_MODEL_BROADCOM_BCM5411	0x0007
166#define	MII_STR_BROADCOM_BCM5411	"BCM5411 1000baseT PHY"
167#define	MII_MODEL_BROADCOM_3C905B	0x0012
168#define	MII_STR_BROADCOM_3C905B	"Broadcom 3C905B internal PHY"
169#define	MII_MODEL_BROADCOM_3C905C	0x0017
170#define	MII_STR_BROADCOM_3C905C	"Broadcom 3C905C internal PHY"
171#define	MII_MODEL_BROADCOM_BCM5221	0x001e
172#define	MII_STR_BROADCOM_BCM5221	"BCM5221 100baseTX PHY"
173#define	MII_MODEL_BROADCOM_BCM5201	0x0021
174#define	MII_STR_BROADCOM_BCM5201	"BCM5201 10/100 PHY"
175#define	MII_MODEL_BROADCOM_BCM5214	0x0028
176#define	MII_STR_BROADCOM_BCM5214	"BCM5214 Quad 10/100 PHY"
177#define	MII_MODEL_BROADCOM_BCM5222	0x0032
178#define	MII_STR_BROADCOM_BCM5222	"BCM5222 Dual 10/100 PHY"
179#define	MII_MODEL_BROADCOM_BCM5220	0x0033
180#define	MII_STR_BROADCOM_BCM5220	"BCM5220 10/100 PHY"
181#define	MII_MODEL_BROADCOM_BCM4401	0x0036
182#define	MII_STR_BROADCOM_BCM4401	"BCM4401 10/100baseTX PHY"
183
184/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
185#define	MII_MODEL_CICADA_CS8201	0x0001
186#define	MII_STR_CICADA_CS8201	"Cicada CS8201 10/100/1000TX PHY"
187#define	MII_MODEL_CICADA_CS8201A	0x0020
188#define	MII_STR_CICADA_CS8201A	"Cicada CS8201 10/100/1000TX PHY"
189#define	MII_MODEL_CICADA_CS8201B	0x0021
190#define	MII_STR_CICADA_CS8201B	"Cicada CS8201 10/100/1000TX PHY"
191#define	MII_MODEL_xxCICADA_CS8201B	0x0021
192#define	MII_STR_xxCICADA_CS8201B	"Cicada CS8201 10/100/1000TX PHY"
193
194/* Davicom Semiconductor PHYs */
195#define	MII_MODEL_xxDAVICOM_DM9101	0x0000
196#define	MII_STR_xxDAVICOM_DM9101	"DM9101 10/100 PHY"
197#define	MII_MODEL_DAVICOM_DM9102	0x0004
198#define	MII_STR_DAVICOM_DM9102	"DM9102 10/100 PHY"
199#define	MII_MODEL_DAVICOM_DM9601	0x000c
200#define	MII_STR_DAVICOM_DM9601	"DM9601 10/100 PHY"
201
202/* Enable Semiconductor PHYs (Agere) */
203#define	MII_MODEL_ENABLESEMI_LU3X31FT	0x0001
204#define	MII_STR_ENABLESEMI_LU3X31FT	"Enable LU3X31FT"
205#define	MII_MODEL_ENABLESEMI_88E1000S	0x0004
206#define	MII_STR_ENABLESEMI_88E1000S	"Enable 88E1000S"
207#define	MII_MODEL_ENABLESEMI_88E1000	0x0005
208#define	MII_STR_ENABLESEMI_88E1000	"Enable 88E1000"
209
210/* Marvell Semiconductor PHYs */
211#define	MII_MODEL_MARVELL_E1000	0x0000
212#define	MII_STR_MARVELL_E1000	"Marvell 88E1000* Gigabit PHY"
213#define	MII_MODEL_MARVELL_E1011	0x0002
214#define	MII_STR_MARVELL_E1011	"Marvell 88E1011 Gigabit PHY"
215#define	MII_MODEL_MARVELL_E1000_3	0x0003
216#define	MII_STR_MARVELL_E1000_3	"Marvell 88E1000 Gigabit PHY"
217#define	MII_MODEL_MARVELL_E1000_4	0x0004
218#define	MII_STR_MARVELL_E1000_4	"Marvell 88E1000S Gigabit PHY"
219#define	MII_MODEL_MARVELL_E1000_5	0x0005
220#define	MII_STR_MARVELL_E1000_5	"Marvell 88E1000 Gigabit PHY"
221#define	MII_MODEL_MARVELL_E1000_6	0x0006
222#define	MII_STR_MARVELL_E1000_6	"Marvell 88E1000 Gigabit PHY"
223#define	MII_MODEL_MARVELL_E1111	0x000c
224#define	MII_STR_MARVELL_E1111	"Marvell 88E1111 Gigabit PHY"
225#define	MII_MODEL_xxMARVELL_E1000_2	0x0002
226#define	MII_STR_xxMARVELL_E1000_2	"Marvell 88E1000 Gigabit PHY"
227#define	MII_MODEL_xxMARVELL_E1000_3	0x0003
228#define	MII_STR_xxMARVELL_E1000_3	"Marvell 88E1000 Gigabit PHY"
229#define	MII_MODEL_xxMARVELL_E1000_5	0x0005
230#define	MII_STR_xxMARVELL_E1000_5	"Marvell 88E1000 Gigabit PHY"
231#define	MII_MODEL_xxMARVELL_E1111	0x000c
232#define	MII_STR_xxMARVELL_E1111	"Marvell 88E1111 Gigabit PHY"
233
234/* Contrived vendor/model for dcphy */
235#define	MII_MODEL_xxDEC_xxDC	0x0001
236#define	MII_STR_xxDEC_xxDC	"DC"
237
238/* IC Plus Corp. PHYs */
239#define	MII_MODEL_ICPLUS_IP101	0x0005
240#define	MII_STR_ICPLUS_IP101	"IP101 10/100 PHY"
241
242/* Integrated Circuit Systems PHYs */
243#define	MII_MODEL_xxICS_1890	0x0002
244#define	MII_STR_xxICS_1890	"ICS1890 10/100 PHY"
245#define	MII_MODEL_xxICS_1892	0x0003
246#define	MII_STR_xxICS_1892	"ICS1892 10/100 PHY"
247#define	MII_MODEL_xxICS_1893	0x0004
248#define	MII_STR_xxICS_1893	"ICS1893 10/100 PHY"
249
250/* Intel PHYs */
251#define	MII_MODEL_xxINTEL_I82553	0x0000
252#define	MII_STR_xxINTEL_I82553	"i82553 10/100 PHY"
253#define	MII_MODEL_INTEL_I82555	0x0015
254#define	MII_STR_INTEL_I82555	"i82555 10/100 PHY"
255#define	MII_MODEL_INTEL_I82562EM	0x0032
256#define	MII_STR_INTEL_I82562EM	"i82562EM 10/100 PHY"
257#define	MII_MODEL_INTEL_I82562ET	0x0033
258#define	MII_STR_INTEL_I82562ET	"i82562ET 10/100 PHY"
259#define	MII_MODEL_INTEL_I82553	0x0035
260#define	MII_STR_INTEL_I82553	"i82553 10/100 PHY"
261
262/* Jato Technologies PHYs */
263#define	MII_MODEL_JATO_BASEX	0x0000
264#define	MII_STR_JATO_BASEX	"Jato 1000baseX PHY"
265
266/* Level 1 PHYs */
267#define	MII_MODEL_xxLEVEL1_LXT970	0x0000
268#define	MII_STR_xxLEVEL1_LXT970	"LXT970 10/100 PHY"
269#define	MII_MODEL_xxLEVEL1a_LXT971	0x000e
270#define	MII_STR_xxLEVEL1a_LXT971	"LXT971 10/100 PHY"
271
272/* Lucent Technologies PHYs */
273#define	MII_MODEL_LUCENT_LU6612	0x000c
274#define	MII_STR_LUCENT_LU6612	"LU6612 10/100 PHY"
275#define	MII_MODEL_LUCENT_LU3X51FT	0x0033
276#define	MII_STR_LUCENT_LU3X51FT	"LU3X51FT 10/100 PHY"
277#define	MII_MODEL_LUCENT_LU3X54FT	0x0036
278#define	MII_STR_LUCENT_LU3X54FT	"LU3X54FT 10/100 PHY"
279
280/* Myson Technology PHYs */
281#define	MII_MODEL_MYSON_MTD972	0x0000
282#define	MII_STR_MYSON_MTD972	"MTD972 10/100 PHY"
283
284/* National Semiconductor PHYs */
285#define	MII_MODEL_NATSEMI_DP83840	0x0000
286#define	MII_STR_NATSEMI_DP83840	"DP83840 10/100 PHY"
287#define	MII_MODEL_NATSEMI_DP83843	0x0001
288#define	MII_STR_NATSEMI_DP83843	"DP83843 10/100 PHY"
289#define	MII_MODEL_NATSEMI_DP83815	0x0002
290#define	MII_STR_NATSEMI_DP83815	"DP83815 10/100 PHY"
291#define	MII_MODEL_NATSEMI_DP83891	0x0005
292#define	MII_STR_NATSEMI_DP83891	"DP83891 10/100/1000 PHY"
293#define	MII_MODEL_NATSEMI_DP83861	0x0006
294#define	MII_STR_NATSEMI_DP83861	"DP83861 10/100/1000 PHY"
295
296/* Plessey Semiconductor PHYs */
297#define	MII_MODEL_PLESSEY_NWK914	0x0000
298#define	MII_STR_PLESSEY_NWK914	"NWK914 10/100 PHY"
299
300/* Quality Semiconductor PHYs */
301#define	MII_MODEL_QUALSEMI_QS6612	0x0000
302#define	MII_STR_QUALSEMI_QS6612	"QS6612 10/100 PHY"
303
304/* Realtek Semiconductor PHYs */
305#define	MII_MODEL_REALTEK_RTL8201L	0x0020
306#define	MII_STR_REALTEK_RTL8201L	"RTL8201L 10/100 PHY"
307#define	MII_MODEL_xxREALTEK_RTL8169S	0x0011
308#define	MII_STR_xxREALTEK_RTL8169S	"RTL8169S/8110S PHY"
309
310/* Seeq PHYs */
311#define	MII_MODEL_xxSEEQ_80220	0x0003
312#define	MII_STR_xxSEEQ_80220	"Seeq 80220 10/100 PHY"
313#define	MII_MODEL_xxSEEQ_84220	0x0004
314#define	MII_STR_xxSEEQ_84220	"Seeq 84220 10/100 PHY"
315#define	MII_MODEL_xxSEEQ_80225	0x0008
316#define	MII_STR_xxSEEQ_80225	"Seeq 80225 10/100 PHY"
317
318/* Silicon Integrated Systems PHYs */
319#define	MII_MODEL_xxSIS_900	0x0000
320#define	MII_STR_xxSIS_900	"SiS 900 10/100 PHY"
321
322/* Texas Instruments PHYs */
323#define	MII_MODEL_xxTI_TLAN10T	0x0001
324#define	MII_STR_xxTI_TLAN10T	"ThunderLAN 10baseT PHY"
325#define	MII_MODEL_xxTI_100VGPMI	0x0002
326#define	MII_STR_xxTI_100VGPMI	"ThunderLAN 100VG-AnyLan PHY"
327#define	MII_MODEL_xxTI_TNETE2101	0x0003
328#define	MII_STR_xxTI_TNETE2101	"TNETE2101 PHY"
329
330/* TDK Semiconductor PHYs */
331#define	MII_MODEL_TSC_78Q2120	0x0014
332#define	MII_STR_TSC_78Q2120	"78Q2120 10/100 PHY"
333#define	MII_MODEL_TSC_78Q2121	0x0015
334#define	MII_STR_TSC_78Q2121	"78Q2121 100baseTX PHY"
335
336/* VIA Networking Technologies PHYs */
337#define	MII_MODEL_VIA_VT6103	0x0032
338#define	MII_STR_VIA_VT6103	"VT6103 10/100 PHY"
339#define	MII_MODEL_VIA_VT6103_2	0x0034
340#define	MII_STR_VIA_VT6103_2	"VT6103 10/100 PHY"
341
342/* XaQti Corp. PHYs */
343#define	MII_MODEL_XAQTI_XMACII	0x0000
344#define	MII_STR_XAQTI_XMACII	"XaQti Corp. XMAC II Gigabit PHY"
345