miiregs.h revision 5e8ade1879fc9f45c9fc1dea1d2d2a4e14eeca01
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* Definitions for MII registers from 802.3u and vendor documentation
*/
#ifndef _SYS_MIIREGS_H
#define _SYS_MIIREGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* Register addresses: Section 22.2.4 */
#define MII_CONTROL 0
#define MII_STATUS 1
#define MII_PHYIDH 2
#define MII_PHYIDL 3
/* Control register: 22.2.4.1, 28.2.4.1.1 */
/* Status register: 22.2.4.2, 28.2.4.1.2 */
#define MII_STATUS_EXTENDED (1<<0)
/* Advertisement/Partner ability registers: 28.2.4.1.3/4 */
#define MII_AN_ADVERT_SELECTOR (0x1f)
#define MII_AN_SELECTOR_8023 0x0001
/* Technology field bits (above). From Annex 28B */
/* Override fields for 1000 Base-X: 37.2.5.1.3 */
/* Override fields for 100 Base T2: 32.5.4.2 */
/* Expansion register 28.2.4.1.5 */
#define MII_MSSTATUS_IDLE_ERR (0xff)
/* Extended status: 22.2.4.4 */
/*
* Truncated OUIs as found in the PHY Identifier ( 22.2.4.3.1 ),
* and known models (and their registers) from those manufacturers
*/
/*
* PHY manufacturer OUIs
*/
#define MII_OUI_ALTIMA 0x000895
#define MII_OUI_AMD 0x00001a
#define MII_OUI_AMD_2 0x000058
#define MII_OUI_ATTANSIC 0x001374
#define MII_OUI_BROADCOM 0x001018
#define MII_OUI_BROADCOM_2 0x000818
#define MII_OUI_CICADA 0x0003f1
#define MII_OUI_CICADA_2 0x00c08f
#define MII_OUI_DAVICOM 0x00606e
#define MII_OUI_DAVICOM_2 0x000676
#define MII_OUI_ICS 0x00057d
#define MII_OUI_ICPLUS 0x0090c3
#define MII_OUI_INTEL 0x00aa00
#define MII_OUI_INTEL_2 0x001f00
#define MII_OUI_LUCENT 0x00601d
#define MII_OUI_MARVELL 0x005043
#define MII_OUI_NATIONAL_SEMI 0x080017
#define MII_OUI_NATIONAL_SEMI_2 0x1000e8
#define MII_OUI_QUALITY_SEMI 0x006051
#define MII_OUI_QUALITY_SEMI_2 0x00608a
/*
* PHY models
*/
#define MII_MODEL_ALTIMA_AC101L 0x12
#define MII_MODEL_ALTIMA_AM79C875 0x14
#define MII_MODEL_AMD_AM79C901 0x37
#define MII_MODEL_AMD_AM79C972 0x01
#define MII_MODEL_AMD_AM79C973 0x36
#define MII_MODEL_CICADA_CS8201 0x01
#define MII_MODEL_CICADA_CS8201A 0x20
#define MII_MODEL_CICADA_CS8201B 0x21
#define MII_MODEL_DAVICOM_DM9101 0x00
#define MII_MODEL_DAVICOM_DM9102 0x04
#define MII_MODEL_DAVICOM_DM9161 0x08
#define MII_MODEL_ICPLUS_IP101 0x05
#define MII_MODEL_ICS_ICS1889 0x01
#define MII_MODEL_ICS_ICS1890 0x02
#define MII_MODEL_ICS_ICS1892 0x03
#define MII_MODEL_ICS_ICS1893 0x04
#define MII_MODEL_INTEL_82553_CSTEP 0x35
#define MII_MODEL_INTEL_82555 0x15
#define MII_MODEL_INTEL_82562_EH 0x33
#define MII_MODEL_INTEL_82562_EM 0x31
#define MII_MODEL_INTEL_82562_ET 0x32
#define MII_MODEL_LUCENT_LU6612 0x0c
#define MII_MODEL_MARVELL_88E1000 0x00
#define MII_MODEL_MARVELL_88E1011 0x02
#define MII_MODEL_MARVELL_88E1000_2 0x03
#define MII_MODEL_MARVELL_88E1000S 0x04
#define MII_MODEL_MARVELL_88E1000_3 0x05
#define MII_MODEL_MARVELL_88E1112 0x09
#define MII_MODEL_MARVELL_88E1149 0x0b
#define MII_MODEL_MARVELL_88E1111 0x0c
#define MII_MODEL_MARVELL_88E1116 0x21
#define MII_MODEL_MARVELL_88E1118 0x22
#define MII_MODEL_MARVELL_88E1116R 0x24
#define MII_MODEL_NATIONAL_SEMI_DP83840 0x00
#define MII_MODEL_NATIONAL_SEMI_DP83843 0x01
#define MII_MODEL_NATIONAL_SEMI_DP83815 0x02
#define MII_MODEL_NATIONAL_SEMI_DP83847 0x03
#define MII_MODEL_NATIONAL_SEMI_DP83891 0x05
#define MII_MODEL_NATIONAL_SEMI_DP83861 0x06
#define MII_MODEL_QUALITY_SEMI_QS6612 0x00
#ifdef __cplusplus
}
#endif
#endif /* _SYS_MIIREGS_H */