$NetBSD: miidevs,v 1.52 2004/02/07 00:51:05 matt Exp $

/*-
 * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
 * NASA Ames Research Center.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the NetBSD
 *	Foundation, Inc. and its contributors.
 * 4. Neither the name of The NetBSD Foundation nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * List of known MII OUIs.
 * For a complete list see http://standards.ieee.org/regauth/oui/
 *
 * XXX Vendors do obviously not agree how OUIs (24 bit) are mapped
 * to the 22 bits available in the id registers.
 * IEEE 802.3u-1995, subclause 22.2.4.3.1, figure 22-12, depicts the right
 * mapping; the bit positions are defined in IEEE 802-1990, figure 5.2.
 * (There is a formal 802.3 interpretation, number 1-07/98 of July 09 1998,
 * about this.)
 * The MII_OUI() macro in "mii.h" reflects this.
 * If a vendor uses a different mapping, an "xx" prefixed OUI is defined here
 * which is mangled accordingly to compensate.
 */

oui ALTIMA			0x0010a9	Altima Communications
oui AMD				0x00001a	Advanced Micro Devices
oui BROADCOM			0x001018	Broadcom Corporation
oui DAVICOM			0x00606e	Davicom Semiconductor
oui ENABLESEMI			0x0010dd	Enable Semiconductor
oui ICS				0x00a0be	Integrated Circuit Systems
oui INTEL			0x00aa00	Intel
oui LEVEL1			0x00207b	Level 1
oui MARVELL			0x005043	Marvell Semiconductor
oui MYSON			0x00c0b4	Myson Technology
oui NATSEMI			0x080017	National Semiconductor
oui PMCSIERRA			0x00e004	PMC-Sierra
oui QUALSEMI			0x006051	Quality Semiconductor
oui SEEQ			0x00a07d	Seeq
oui SIS				0x00e006	Silicon Integrated Systems
oui TI				0x080028	Texas Instruments
oui TSC				0x00c039	TDK Semiconductor
oui XAQTI			0x00e0ae	XaQti Corp.

/* Some Intel 82553's use an alternative OUI. */
oui xxINTEL			0x001f00	Intel

/* bad bitorder (bits "g" and "h" (= MSBs byte 1) lost) */
oui yyAMD			0x000058	Advanced Micro Devices
oui xxBROADCOM			0x000818	Broadcom Corporation
oui xxDAVICOM			0x000676	Davicom Semiconductor
oui yyINTEL			0x005500	Intel
oui xxMARVELL			0x000ac2	Marvell Semiconductor
oui xxMYSON			0x00032d	Myson Technology
oui xxNATSEMI			0x1000e8	National Semiconductor
oui xxQUALSEMI			0x00068a	Quality Semiconductor
oui xxTSC			0x00039c	TDK Semiconductor

/* bad byteorder (bits "q" and "r" (= LSBs byte 3) lost) */
oui xxLEVEL1			0x782000	Level 1
oui xxXAQTI			0xace000	XaQti Corp.

/* Don't know what's going on here. */
oui xxPMCSIERRA			0x0009c0	PMC-Sierra
oui xxPMCSIERRA2		0x009057	PMC-Sierra

/*
 * List of known models.  Grouped by oui.
 */

/* Altima Communications PHYs */
/* Don't know the model for ACXXX */
model ALTIMA ACXXX		0x0001 ACXXX 10/100 media interface
model ALTIMA AC101		0x0021 AC101 10/100 media interface
model ALTIMA AC101L		0x0012 AC101L 10/100 media interface
/* AMD Am79C87[45] have ALTIMA OUI */
model ALTIMA Am79C875		0x0014 Am79C875 10/100 media interface
model ALTIMA Am79C874		0x0021 Am79C874 10/100 media interface

/* Advanced Micro Devices PHYs */
/* see Davicom DM9101 for Am79C873 */
model yyAMD 79C972_10T		0x0001 Am79C972 internal 10BASE-T interface
model yyAMD 79c973phy		0x0036 Am79C973 internal 10/100 media interface
model yyAMD 79c901		0x0037 Am79C901 10BASE-T interface
model yyAMD 79c901home		0x0039 Am79C901 HomePNA 1.0 interface

/* Broadcom Corp. PHYs */
model xxBROADCOM 3C905B		0x0012 Broadcom 3c905B internal PHY
model xxBROADCOM 3C905C		0x0017 Broadcom 3c905C internal PHY
model xxBROADCOM BCM5201	0x0021 BCM5201 10/100 media interface
model xxBROADCOM BCM5214	0x0028 BCM5214 Quad 10/100 media interface
model xxBROADCOM BCM5221	0x001e BCM5221 10/100 media interface
model BROADCOM BCM5400		0x0004 BCM5400 1000BASE-T media interface
model BROADCOM BCM5401		0x0005 BCM5401 1000BASE-T media interface
model BROADCOM BCM5411		0x0007 BCM5411 1000BASE-T media interface
model BROADCOM BCM5421		0x000e BCM5421 1000BASE-T media interface
model BROADCOM BCM5701		0x0011 BCM5701 1000BASE-T media interface
model BROADCOM BCM5703		0x0016 BCM5703 1000BASE-T media interface
model BROADCOM BCM5704		0x0019 BCM5704 1000BASE-T media interface
model BROADCOM BCM5705		0x001a BCM5705 1000BASE-T media interface

/* Davicom Semiconductor PHYs */
/* AMD Am79C873 seems to be a relabeled DM9101 */
model xxDAVICOM DM9101		0x0000 DM9101 (AMD Am79C873) 10/100 media interface

/* Integrated Circuit Systems PHYs */
model ICS 1889			0x0001 ICS1889 10/100 media interface
model ICS 1890			0x0002 ICS1890 10/100 media interface
model ICS 1892			0x0003 ICS1892 10/100 media interface
model ICS 1893			0x0004 ICS1893 10/100 media interface

/* Intel PHYs */
model xxINTEL I82553		0x0000 i82553 10/100 media interface
model yyINTEL I82555		0x0015 i82555 10/100 media interface
model yyINTEL I82562EH		0x0017 i82562EH HomePNA interface
model yyINTEL I82562EM		0x0032 i82562EM 10/100 media interface
model yyINTEL I82562ET		0x0033 i82562ET 10/100 media interface
model yyINTEL I82553		0x0035 i82553 10/100 media interface

model yyINTEL IGP01E1000	0x0038 Intel IGP01E1000 Gigabit PHY

/* Level 1 PHYs */
model xxLEVEL1 LXT970		0x0000 LXT970 10/100 media interface
model LEVEL1 LXT971		0x000e LXT971/2 10/100 media interface
model LEVEL1 LXT973		0x0021 LXT973 10/100 Dual PHY
model LEVEL1 LXT974		0x0004 LXT974 10/100 Quad PHY
model LEVEL1 LXT975		0x0005 LXT975 10/100 Quad PHY
model LEVEL1 LXT1000_OLD	0x0003 LXT1000 1000BASE-T media interface
model LEVEL1 LXT1000		0x000c LXT1000 1000BASE-T media interface

/* Marvell Semiconductor PHYs */
model xxMARVELL E1011		0x0002 Marvell 88E1011 Gigabit PHY
model xxMARVELL E1000_3		0x0003 Marvell 88E1000 Gigabit PHY
model xxMARVELL E1000_5		0x0005 Marvell 88E1000 Gigabit PHY

/* Myson Technology PHYs */
model xxMYSON MTD972		0x0000 MTD972 10/100 media interface
model MYSON MTD803		0x0000 MTD803 3-in-1 media interface

/* National Semiconductor PHYs */
model xxNATSEMI DP83840		0x0000 DP83840 10/100 media interface
model xxNATSEMI DP83843		0x0001 DP83843 10/100 media interface
model xxNATSEMI DP83815		0x0002 DP83815 10/100 media interface
model xxNATSEMI DP83891		0x0005 DP83891 1000BASE-T media interface
model xxNATSEMI DP83861		0x0006 DP83861 1000BASE-T media interface

/* PMC Sierra PHYs */
model xxPMCSIERRA PM8351	0x0000 PM8351 OctalPHY Gigabit interface
model xxPMCSIERRA2 PM8352	0x0002 PM8352 OctalPHY Gigabit interface
model xxPMCSIERRA2 PM8353	0x0003 PM8353 QuadPHY Gigabit interface
model PMCSIERRA PM8354		0x0004 PM8354 QuadPHY Gigabit interface

/* Quality Semiconductor PHYs */
model xxQUALSEMI QS6612		0x0000 QS6612 10/100 media interface

/* Seeq PHYs */
model SEEQ 80220		0x0003 Seeq 80220 10/100 media interface
model SEEQ 84220		0x0004 Seeq 84220 10/100 media interface
model SEEQ 80225		0x0008 Seeq 80225 10/100 media interface

/* Silicon Integrated Systems PHYs */
model SIS 900			0x0000 SiS 900 10/100 media interface

/* Texas Instruments PHYs */
model TI TLAN10T		0x0001 ThunderLAN 10BASE-T media interface
model TI 100VGPMI		0x0002 ThunderLAN 100VG-AnyLan media interface
model TI TNETE2101		0x0003 TNETE2101 media interface

/* TDK Semiconductor PHYs */
model xxTSC 78Q2120		0x0014 78Q2120 10/100 media interface
model xxTSC 78Q2121		0x0015 78Q2121 100BASE-TX media interface

/* XaQti Corp. PHYs */
model xxXAQTI XMACII		0x0000 XaQti Corp. XMAC II gigabit interface
