1*297a64e7Sgd78059 /* 2*297a64e7Sgd78059 * CDDL HEADER START 3*297a64e7Sgd78059 * 4*297a64e7Sgd78059 * The contents of this file are subject to the terms of the 5*297a64e7Sgd78059 * Common Development and Distribution License, Version 1.0 only 6*297a64e7Sgd78059 * (the "License"). You may not use this file except in compliance 7*297a64e7Sgd78059 * with the License. 8*297a64e7Sgd78059 * 9*297a64e7Sgd78059 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*297a64e7Sgd78059 * or http://www.opensolaris.org/os/licensing. 11*297a64e7Sgd78059 * See the License for the specific language governing permissions 12*297a64e7Sgd78059 * and limitations under the License. 13*297a64e7Sgd78059 * 14*297a64e7Sgd78059 * When distributing Covered Code, include this CDDL HEADER in each 15*297a64e7Sgd78059 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*297a64e7Sgd78059 * If applicable, add the following below this CDDL HEADER, with the 17*297a64e7Sgd78059 * fields enclosed by brackets "[]" replaced with your own identifying 18*297a64e7Sgd78059 * information: Portions Copyright [yyyy] [name of copyright owner] 19*297a64e7Sgd78059 * 20*297a64e7Sgd78059 * CDDL HEADER END 21*297a64e7Sgd78059 */ 22*297a64e7Sgd78059 /* 23*297a64e7Sgd78059 * Copyright (c) 1999-2000 by Sun Microsystems, Inc. 24*297a64e7Sgd78059 * All rights reserved. 25*297a64e7Sgd78059 */ 26*297a64e7Sgd78059 27*297a64e7Sgd78059 #ifndef _SYS_ERI_PHY_H 28*297a64e7Sgd78059 #define _SYS_ERI_PHY_H 29*297a64e7Sgd78059 30*297a64e7Sgd78059 #pragma ident "%Z%%M% %I% %E% SMI" 31*297a64e7Sgd78059 32*297a64e7Sgd78059 #ifdef __cplusplus 33*297a64e7Sgd78059 extern "C" { 34*297a64e7Sgd78059 #endif 35*297a64e7Sgd78059 36*297a64e7Sgd78059 /* 37*297a64e7Sgd78059 * MII supports a 16-bit register stack of upto 32, addressable through the 38*297a64e7Sgd78059 * MDIO and MDC serial port. 39*297a64e7Sgd78059 */ 40*297a64e7Sgd78059 #define ERI_PHY_BMCR 00 /* Basic Mode Control Register */ 41*297a64e7Sgd78059 #define ERI_PHY_BMSR 01 /* Basic Mode Status Register */ 42*297a64e7Sgd78059 #define ERI_PHY_IDR1 02 /* PHY Identifier Register 1 */ 43*297a64e7Sgd78059 #define ERI_PHY_IDR2 03 /* PHY Identifier Register 2 */ 44*297a64e7Sgd78059 #define ERI_PHY_ANAR 04 /* Auto-Negotiation Advertisement Register */ 45*297a64e7Sgd78059 #define ERI_PHY_ANLPAR 05 /* Auto-Negotiation Link Partner Ability Reg */ 46*297a64e7Sgd78059 #define ERI_PHY_ANER 06 /* Auto-Negotiation Expansion Register */ 47*297a64e7Sgd78059 48*297a64e7Sgd78059 /* Registers 7-15 are reserved for future assignments by MII working group */ 49*297a64e7Sgd78059 /* Do not write to these registers */ 50*297a64e7Sgd78059 51*297a64e7Sgd78059 /* Registers 16-17 are reserved for future assignment by Vendor */ 52*297a64e7Sgd78059 /* Do not write to these registers */ 53*297a64e7Sgd78059 54*297a64e7Sgd78059 #define ERI_PHY_DIS 18 /* Disconnect Counter */ 55*297a64e7Sgd78059 #define ERI_PHY_FCSC 19 /* False Carrier Sense Counter */ 56*297a64e7Sgd78059 #define ERI_PHY_NWAYTR 20 /* NWay Test Register */ 57*297a64e7Sgd78059 #define ERI_PHY_REC 21 /* RX_ER Counter */ 58*297a64e7Sgd78059 #define ERI_PHY_SRR 22 /* Silicon Revision Register */ 59*297a64e7Sgd78059 #define ERI_PHY_CSC 23 /* CS Configuration Register */ 60*297a64e7Sgd78059 #define ERI_PHY_LBREMR 24 /* Loopback, Bypass, Receiver Error Mask Reg */ 61*297a64e7Sgd78059 #define ERI_PHY_AR 25 /* PHY Address Register */ 62*297a64e7Sgd78059 #define ERI_PHY_VRES1 26 /* Reserverd for future assignement by vendor */ 63*297a64e7Sgd78059 #define ERI_PHY_TPISR 27 /* 10 Mbps TPI Status Register */ 64*297a64e7Sgd78059 #define ERI_PHY_NICR 28 /* 10 Mbps Network I/F Configuration Register */ 65*297a64e7Sgd78059 66*297a64e7Sgd78059 /* Registers 29-31 are reserved for future assignment by Vendor */ 67*297a64e7Sgd78059 /* Do not write to these registers */ 68*297a64e7Sgd78059 69*297a64e7Sgd78059 70*297a64e7Sgd78059 /* ************************************************************************ */ 71*297a64e7Sgd78059 /* Register 00 Basic Mode Control Register */ 72*297a64e7Sgd78059 73*297a64e7Sgd78059 #define PHY_BMCR_RESET (1 << 15) /* Reset */ 74*297a64e7Sgd78059 #define PHY_BMCR_LPBK (1 << 14) /* Loopback of TXD<3:0> */ 75*297a64e7Sgd78059 #define PHY_BMCR_100M (1 << 13) /* Speed selection, 1=100Mbps */ 76*297a64e7Sgd78059 #define PHY_BMCR_ANE (1 << 12) /* Auto Negotiation Enable */ 77*297a64e7Sgd78059 #define PHY_BMCR_PWRDN (1 << 11) /* Power down */ 78*297a64e7Sgd78059 #define PHY_BMCR_ISOLATE (1 << 10) /* Isolate PHY from MII */ 79*297a64e7Sgd78059 #define PHY_BMCR_RAN (1 << 9) /* Restart Auto Negotiation */ 80*297a64e7Sgd78059 #define PHY_BMCR_FDX (1 << 8) /* Full Duplex */ 81*297a64e7Sgd78059 #define PHY_BMCR_COLTST (1 << 7) /* Collision Test */ 82*297a64e7Sgd78059 #define PHY_BMCR_RES1 (0x7f << 0) /* 0-6 Reserved */ 83*297a64e7Sgd78059 84*297a64e7Sgd78059 /* ************************************************************************ */ 85*297a64e7Sgd78059 /* Register 01 Basic Mode Status Register */ 86*297a64e7Sgd78059 87*297a64e7Sgd78059 #define PHY_BMSR_100T4 (1 << 15) /* PHY able to perform 100Base-T4 */ 88*297a64e7Sgd78059 #define PHY_BMSR_100FDX (1 << 14) /* PHY able to perform 100Base-TX FDX */ 89*297a64e7Sgd78059 #define PHY_BMSR_100HDX (1 << 13) /* PHY able to perform 100Base-TX HDX */ 90*297a64e7Sgd78059 #define PHY_BMSR_10FDX (1 << 12) /* PHY able to perform 10Base-T FDX */ 91*297a64e7Sgd78059 #define PHY_BMSR_10HDX (1 << 11) /* PHY able to perform 10Base-T HDX */ 92*297a64e7Sgd78059 #define PHY_BMSR_RES1 (0x1f << 6) /* 6-10 reserved */ 93*297a64e7Sgd78059 #define PHY_BMSR_ANC (1 << 5) /* Auto Negotiation Completed */ 94*297a64e7Sgd78059 #define PHY_BMSR_REMFLT (1 << 4) /* Remote Fault detected */ 95*297a64e7Sgd78059 #define PHY_BMSR_ACFG (1 << 3) /* Able to do Auto Link Negotiation */ 96*297a64e7Sgd78059 #define PHY_BMSR_LNKSTS (1 << 2) /* Link Status */ 97*297a64e7Sgd78059 #define PHY_BMSR_JABDET (1 << 1) /* Jabber Condition Detected */ 98*297a64e7Sgd78059 #define PHY_BMSR_EXTCAP (1 << 0) /* Extended Register Capability */ 99*297a64e7Sgd78059 100*297a64e7Sgd78059 #define PHY_CAPABILITY_MASK (PHY_BMSR_100FDX | PHY_BMSR_100HDX \ 101*297a64e7Sgd78059 | PHY_BMSR_10FDX | PHY_BMSR_10HDX) 102*297a64e7Sgd78059 103*297a64e7Sgd78059 /* ************************************************************************ */ 104*297a64e7Sgd78059 /* 105*297a64e7Sgd78059 * Registers 2 and 3 provide a 32 bit value which is a unique identifier 106*297a64e7Sgd78059 * for a particular type of PHY. A 24-bit Organizationally Unique Identifier 107*297a64e7Sgd78059 * (OUI) is defined with bit 1 as the MSB and bit 24 as the LSB. Bits 3-18 of 108*297a64e7Sgd78059 * the OUI are found in PHY Identifier Register 1 and bits 19-24 are found in 109*297a64e7Sgd78059 * PHY Identifier Register 2. 110*297a64e7Sgd78059 * 111*297a64e7Sgd78059 * The hexadecimal OUI code for NSC is 0x080017 . 112*297a64e7Sgd78059 */ 113*297a64e7Sgd78059 /* Register 02 PHY Identifier Register 1 */ 114*297a64e7Sgd78059 115*297a64e7Sgd78059 /* Register 03 PHY Identifier Register 2 */ 116*297a64e7Sgd78059 117*297a64e7Sgd78059 #define PHY_IDR2_OUILSB (0x3f << 10) /* Bits 19-24 of OUI */ 118*297a64e7Sgd78059 #define PHY_IDR2_VNDMDL (0x3f << 4) /* vendor Model no. */ 119*297a64e7Sgd78059 #define PHY_IDR2_MDLREV (0xf << 0) /* Model revision no. */ 120*297a64e7Sgd78059 121*297a64e7Sgd78059 /* ************************************************************************ */ 122*297a64e7Sgd78059 /* 123*297a64e7Sgd78059 * Register 04 Auto-Negotiation Advertisement Register (nway1Reg) 124*297a64e7Sgd78059 * This register will hold the different modes of operation to be advertised to 125*297a64e7Sgd78059 * the far-end PHY. 126*297a64e7Sgd78059 */ 127*297a64e7Sgd78059 128*297a64e7Sgd78059 #define PHY_ANAR_NP (1 << 15) /* Next Page bit */ 129*297a64e7Sgd78059 #define PHY_ANAR_ACK (1 << 14) /* Acks reception of Link Partner */ 130*297a64e7Sgd78059 /* Capability word */ 131*297a64e7Sgd78059 #define PHY_ANAR_RF (1 << 13) /* Advertise Remote Fault det. cap. */ 132*297a64e7Sgd78059 #define PHY_ANAR_RES1 (0x7 << 10) /* 10-12 reserved */ 133*297a64e7Sgd78059 #define PHY_ANAR_T4 (1 << 9) /* Advertise 100Base-T4 Capability */ 134*297a64e7Sgd78059 #define PHY_ANAR_TXFDX (1 << 8) /* Advertise 100Base-TX FDX Cap. */ 135*297a64e7Sgd78059 #define PHY_ANAR_TX (1 << 7) /* Advertise 100Base-TX Cap. */ 136*297a64e7Sgd78059 #define PHY_ANAR_10FDX (1 << 6) /* Advertise 10Base-T FDX Cap. */ 137*297a64e7Sgd78059 #define PHY_ANAR_10 (1 << 5) /* Advertise 10Base-T Cap. */ 138*297a64e7Sgd78059 #define PHY_ANAR_SELECT (0x1f << 0) /* Binary Encoded selector supported */ 139*297a64e7Sgd78059 /* this node. Currently only CSMA/CD */ 140*297a64e7Sgd78059 /* <00001> is specified */ 141*297a64e7Sgd78059 142*297a64e7Sgd78059 #define PHY_SELECTOR 1 /* Default selector for CSMA/CD */ 143*297a64e7Sgd78059 /* 144*297a64e7Sgd78059 * Priority scheme (from highest to lowest) for Auto Link Negotiation: 145*297a64e7Sgd78059 * 1 - 100Base-TX Full Duplex 146*297a64e7Sgd78059 * 2 - 100Base-T4 147*297a64e7Sgd78059 * 3 - 100Base-TX 148*297a64e7Sgd78059 * 4 - 10Base-T Full Duplex 149*297a64e7Sgd78059 * 5 - 10Base-T 150*297a64e7Sgd78059 */ 151*297a64e7Sgd78059 152*297a64e7Sgd78059 /* ************************************************************************ */ 153*297a64e7Sgd78059 /* 154*297a64e7Sgd78059 * Register 05 Auto-Negotiation Link Partner Ability Reg 155*297a64e7Sgd78059 * This register contains the Link Partners capabilities after NWay 156*297a64e7Sgd78059 * Auto-Negotiation is complete. 157*297a64e7Sgd78059 */ 158*297a64e7Sgd78059 159*297a64e7Sgd78059 #define PHY_ANLPAR_NP (1 << 15) /* Next page Bit */ 160*297a64e7Sgd78059 #define PHY_ANLPAR_ACK (1 << 14) /* Link Partner acks reception of our */ 161*297a64e7Sgd78059 /* capability data word */ 162*297a64e7Sgd78059 #define PHY_ANLPAR_RF (1 << 13) /* LP indicates Remote fault */ 163*297a64e7Sgd78059 #define PHY_ANLPAR_RES1 (0x7 << 10) /* 10-12 reserved */ 164*297a64e7Sgd78059 #define PHY_ANLPAR_T4 (1 << 9) /* 100Base-T4 supported by LP */ 165*297a64e7Sgd78059 #define PHY_ANLPAR_TXFDX (1 << 8) /* 100Base-TX FDX supp. by LP */ 166*297a64e7Sgd78059 #define PHY_ANLPAR_TX (1 << 7) /* 100Base-TX supp. by LP */ 167*297a64e7Sgd78059 #define PHY_ANLPAR_10FDX (1 << 6) /* 10Base-T FDX supp. by LP */ 168*297a64e7Sgd78059 #define PHY_ANLPAR_10 (1 << 5) /* 10Base-T supp. by LP */ 169*297a64e7Sgd78059 #define PHY_ANLPAR_SELECT (0x1f << 0) /* LP's binary encoded node selector */ 170*297a64e7Sgd78059 /* Currently only CSMA/CD is <00001> */ 171*297a64e7Sgd78059 /* is specified */ 172*297a64e7Sgd78059 173*297a64e7Sgd78059 /* ************************************************************************ */ 174*297a64e7Sgd78059 /* 175*297a64e7Sgd78059 * Register 06 Auto-Negotiation Expansion Register 176*297a64e7Sgd78059 * This register contains additional status for NWay Auto-Negotiation 177*297a64e7Sgd78059 */ 178*297a64e7Sgd78059 179*297a64e7Sgd78059 #define PHY_ANER_RES1 (0x7ff << 5) /* 5-15 reserved */ 180*297a64e7Sgd78059 #define PHY_ANER_MLF (1 << 4) /* Multiple Link faults occured */ 181*297a64e7Sgd78059 #define PHY_ANER_LPNP (1 << 3) /* LP supports Next Page negotiation */ 182*297a64e7Sgd78059 #define PHY_ANER_NPABLE (1 << 2) /* This node can send additional */ 183*297a64e7Sgd78059 /* Next Pages. Should be 0 for DP83840 */ 184*297a64e7Sgd78059 #define PHY_ANER_PAGERX (1 << 1) /* new LINK Code Word Page recvd. */ 185*297a64e7Sgd78059 #define PHY_ANER_LPNW (1 << 0) /* LP supports NWay Auto-negotiation */ 186*297a64e7Sgd78059 187*297a64e7Sgd78059 188*297a64e7Sgd78059 /* ************************************************************************ */ 189*297a64e7Sgd78059 190*297a64e7Sgd78059 /* Registers 7-15 are reserved for future assignments by MII working group */ 191*297a64e7Sgd78059 /* Do not write to these registers */ 192*297a64e7Sgd78059 193*297a64e7Sgd78059 /* DP83840 - 10/100 Mbps Physical layer from National semiconductor */ 194*297a64e7Sgd78059 /* Registers 16-17 are reserved for future assignment by Vendor */ 195*297a64e7Sgd78059 /* Do not write to these registers */ 196*297a64e7Sgd78059 197*297a64e7Sgd78059 /* ************************************************************************ */ 198*297a64e7Sgd78059 199*297a64e7Sgd78059 /* 200*297a64e7Sgd78059 * Register 18 Disconnect Counter 201*297a64e7Sgd78059 * This 16-bit counter is incremented for every disconnect event. It rolls over 202*297a64e7Sgd78059 * when full. 203*297a64e7Sgd78059 */ 204*297a64e7Sgd78059 205*297a64e7Sgd78059 /* ************************************************************************ */ 206*297a64e7Sgd78059 /* 207*297a64e7Sgd78059 * Register 19 False Carrier Sense Counter 208*297a64e7Sgd78059 * This 16-bit counter is incremented for each false carrier event (i.e. carrier 209*297a64e7Sgd78059 * assertion without JK detect). It freezes when full. 210*297a64e7Sgd78059 */ 211*297a64e7Sgd78059 212*297a64e7Sgd78059 /* ************************************************************************ */ 213*297a64e7Sgd78059 /* 214*297a64e7Sgd78059 * Register 20 NWay Test Register 215*297a64e7Sgd78059 */ 216*297a64e7Sgd78059 #define PHY_NWAYTR_RES1 (0xff << 8) /* 8-15 reserved */ 217*297a64e7Sgd78059 #define PHY_NWAYTR_LPBK (1 << 7) /* Puts NWay into Loopback mode */ 218*297a64e7Sgd78059 #define PHY_NWAYTR_RES2 (0x7f << 0) /* 0-6 reserved */ 219*297a64e7Sgd78059 220*297a64e7Sgd78059 /* ************************************************************************ */ 221*297a64e7Sgd78059 /* 222*297a64e7Sgd78059 * Register 21 RX_ER Counter 223*297a64e7Sgd78059 * This 16-bit counter is incremented once per valid packet (i.e. no collision 224*297a64e7Sgd78059 * occured during packet reception), if there is one or more receive error 225*297a64e7Sgd78059 * condition during the packet reception. The counter is incremented at the end 226*297a64e7Sgd78059 * of the packet reception. 227*297a64e7Sgd78059 */ 228*297a64e7Sgd78059 229*297a64e7Sgd78059 /* ************************************************************************ */ 230*297a64e7Sgd78059 /* 231*297a64e7Sgd78059 * Register 22 Silicon Revision Register 232*297a64e7Sgd78059 * Contains information on silicon revision 233*297a64e7Sgd78059 * This register will be incremented for any change made to the device. 234*297a64e7Sgd78059 */ 235*297a64e7Sgd78059 /* ************************************************************************ */ 236*297a64e7Sgd78059 /* 237*297a64e7Sgd78059 * Register 23 CS Configuration Register 238*297a64e7Sgd78059 */ 239*297a64e7Sgd78059 240*297a64e7Sgd78059 #define PHY_CSCR_NRZIDIS (1 << 15) /* NRZI disabled (for FDDI) */ 241*297a64e7Sgd78059 #define PHY_CSCR_RES1 (1 << 14) /* reserved */ 242*297a64e7Sgd78059 #define PHY_CSCR_TOCDIS (1 << 13) /* disable Timeout counter */ 243*297a64e7Sgd78059 /* in descrambler */ 244*297a64e7Sgd78059 #define PHY_CSCR_REPTR (1 << 12) /* Mode1: Node = 0, repeater = 1 */ 245*297a64e7Sgd78059 #define PHY_CSCR_ENCSEL (1 << 11) /* encoder: 0 = MLT-3, 1 = binary */ 246*297a64e7Sgd78059 #define PHY_CSCR_RES2 (0x7 << 8) /* 8-10 reserved */ 247*297a64e7Sgd78059 #define PHY_CSCR_CLK25M (1 << 7) /* Tristates CLK25M */ 248*297a64e7Sgd78059 #define PHY_CSCR_FLN100 (1 << 6) /* 0 = force good link in 100Mbps */ 249*297a64e7Sgd78059 #define PHY_CSCR_FCONN (1 << 5) /* 1 = bypass disconnect function */ 250*297a64e7Sgd78059 #define PHY_CSCR_TXOFF (1 << 4) /* 1 = Pulls TD from phaser ckt low */ 251*297a64e7Sgd78059 #define PHY_CSCR_RES3 (1 << 3) /* reserved */ 252*297a64e7Sgd78059 #define PHY_CSCR_CSTSEN (1 << 2) /* LED1 pin for connection status */ 253*297a64e7Sgd78059 #define PHY_CSCR_10FDXE (1 << 1) /* LED4 pin for 10Base-T FDX */ 254*297a64e7Sgd78059 #define PHY_CSCR_RES4 (1 << 0) /* reserved */ 255*297a64e7Sgd78059 256*297a64e7Sgd78059 /* ************************************************************************ */ 257*297a64e7Sgd78059 /* 258*297a64e7Sgd78059 * Register 24 Loopback, Bypass, Receiver Error Mask Reg 259*297a64e7Sgd78059 * The high byte of this register configures the DP83840 whilst its low byte 260*297a64e7Sgd78059 * programs the receive error types to be reported in real time as a HEX code 261*297a64e7Sgd78059 * across the MII RXD<3:0> interface. 262*297a64e7Sgd78059 */ 263*297a64e7Sgd78059 264*297a64e7Sgd78059 #define PHY_LBREMR_BPEB (1 << 15) /* Bypass Elasticity buffer */ 265*297a64e7Sgd78059 #define PHY_LBREMR_BP4B5B (1 << 14) /* Bypass 4B5B and 5B4B encoder */ 266*297a64e7Sgd78059 #define PHY_LBREMR_BPSCR (1 << 13) /* Bypass scrambler/descrambler */ 267*297a64e7Sgd78059 #define PHY_LBREMR_BPALIGN (1 << 12) /* Bypass symbol alignment ckt */ 268*297a64e7Sgd78059 #define PHY_LBREMR_EWRAP (1 << 11) /* 10Base-T ENDEC Loopback */ 269*297a64e7Sgd78059 #define PHY_LBREMR_XWRAP (1 << 10) /* 10Base-T Transceiver loopback */ 270*297a64e7Sgd78059 #define PHY_LBREMR_LB (0x3 << 8) /* Twister and remote loopback */ 271*297a64e7Sgd78059 #define PHY_LBREMR_RES1 (0x7 << 5) /* Reserved */ 272*297a64e7Sgd78059 #define PHY_LBREMR_CODE (1 << 4) /* Report det. of Code Error */ 273*297a64e7Sgd78059 #define PHY_LBREMR_PME (1 << 3) /* Report det. of Pre-mature End err */ 274*297a64e7Sgd78059 #define PHY_LBREMR_LINK (1 << 2) /* Report det. of Link Error */ 275*297a64e7Sgd78059 #define PHY_LBREMR_PKT (1 << 1) /* Report det. of Packet error */ 276*297a64e7Sgd78059 #define PHY_LBREMR_EB (1 << 0) /* Report det. of Elasticty buf err */ 277*297a64e7Sgd78059 278*297a64e7Sgd78059 /* ************************************************************************ */ 279*297a64e7Sgd78059 /* 280*297a64e7Sgd78059 * Register 25 PHY Address Register 281*297a64e7Sgd78059 */ 282*297a64e7Sgd78059 283*297a64e7Sgd78059 #define PHY_AR_RES1 (0x1ff << 7) /* reserved */ 284*297a64e7Sgd78059 #define PHY_AR_SPEED10 (1 << 6) /* speed : 1 = 10 Mbps, 0 - 100 Mbps */ 285*297a64e7Sgd78059 #define PHY_AR_CONSTS (1 << 5) /* status of the disconnect function */ 286*297a64e7Sgd78059 #define PHY_AR_ADDR (0x1f << 0) /* PHY Address */ 287*297a64e7Sgd78059 288*297a64e7Sgd78059 /* 289*297a64e7Sgd78059 * The PHYAD<4:0> allow 32 unique PHY addresses. The PHYAD<4:0> share the RX_ER, 290*297a64e7Sgd78059 * PHYAD3, CRS, ENCSEL ald LBEN pins of the PHY. By patching the PHYAD address 291*297a64e7Sgd78059 * pins with a light pull-up or pull-down resistor, the PMD address can be 292*297a64e7Sgd78059 * strobed and stored in these register location during Reset or Power-on reset 293*297a64e7Sgd78059 * time. 294*297a64e7Sgd78059 * 295*297a64e7Sgd78059 * The first PHY address bit transmitted or received is the MSB of the address. 296*297a64e7Sgd78059 * A PHY connected to a station management entity via an interface connector 297*297a64e7Sgd78059 * shall always respond to PHY address < 00000 > . A station management entity 298*297a64e7Sgd78059 * connected to multiple PHY entities must know the appropriate PHY address of 299*297a64e7Sgd78059 * each PHY entity. PHY address should be set to < 00001 > for a single 300*297a64e7Sgd78059 * PHY entity. A PHY address of < 00000 > will cause the Isolate bit 0: < 10 > 301*297a64e7Sgd78059 * to be set to one. 302*297a64e7Sgd78059 */ 303*297a64e7Sgd78059 304*297a64e7Sgd78059 /* ************************************************************************ */ 305*297a64e7Sgd78059 /* 306*297a64e7Sgd78059 * Register 26 Reserverd for future assignement by vendor 307*297a64e7Sgd78059 */ 308*297a64e7Sgd78059 309*297a64e7Sgd78059 /* ************************************************************************ */ 310*297a64e7Sgd78059 /* 311*297a64e7Sgd78059 * Register 27 10 Mbps TPI Status Register 312*297a64e7Sgd78059 */ 313*297a64e7Sgd78059 314*297a64e7Sgd78059 #define PHY_TPISR_RES1 (0x3f << 10) /* reserved */ 315*297a64e7Sgd78059 #define PHY_TPISR_10BTSER (1 << 9) /* 10BASE-T Serial mode */ 316*297a64e7Sgd78059 #define PHY_TPISR_RES2 (0x1ff << 0) /* reserved */ 317*297a64e7Sgd78059 318*297a64e7Sgd78059 /* ************************************************************************ */ 319*297a64e7Sgd78059 /* 320*297a64e7Sgd78059 * Register 28 10 Mbps Network I/F Configuration Register 321*297a64e7Sgd78059 */ 322*297a64e7Sgd78059 323*297a64e7Sgd78059 #define PHY_NICR_RES1 (0x3ff << 6) /* reserved */ 324*297a64e7Sgd78059 #define PHY_NICR_LD (1 << 5) /* Link disable */ 325*297a64e7Sgd78059 #define PHY_NICR_HBE (1 << 4) /* Enable Heart beat function */ 326*297a64e7Sgd78059 #define PHY_NICR_UTP (1 << 3) /* 1 = UTP, 0 = STP */ 327*297a64e7Sgd78059 #define PHY_NICR_LSS (1 << 2) /* Low Squelch select */ 328*297a64e7Sgd78059 #define PHY_NICR_RES2 (1 << 1) /* reserved */ 329*297a64e7Sgd78059 #define PHY_NICR_JBEN (1 << 0) /* Enables Jabber function in FDX */ 330*297a64e7Sgd78059 /* or xwrap mode */ 331*297a64e7Sgd78059 332*297a64e7Sgd78059 /* ************************************************************************ */ 333*297a64e7Sgd78059 334*297a64e7Sgd78059 /* Registers 29-31 are reserved for future assignment by Vendor */ 335*297a64e7Sgd78059 /* Do not write to these registers */ 336*297a64e7Sgd78059 337*297a64e7Sgd78059 /* ************************************************************************ */ 338*297a64e7Sgd78059 339*297a64e7Sgd78059 #ifdef __cplusplus 340*297a64e7Sgd78059 } 341*297a64e7Sgd78059 #endif 342*297a64e7Sgd78059 343*297a64e7Sgd78059 #endif /* _SYS_ERI_PHY_H */ 344