1/*- 2 * Copyright (c) 2003 3 * Fraunhofer Institute for Open Communication Systems (FhG Fokus). 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * 27 * Author: Hartmut Brandt <harti@freebsd.org> 28 * 29 * $FreeBSD$ 30 * 31 * Register definitions for the following chips: 32 * IDT 77105 33 * IDT 77155 34 */ 35#ifndef _DEV_UTOPIA_IDTPHY_H 36#define _DEV_UTOPIA_IDTPHY_H 37 38#define IDTPHY_REGO_MCR 0x00 39#define IDTPHY_REGN_MCR "Master Control Register" 40#define IDTPHY_REGX_MCR "\020\010UPLO\7DREC\6ECEI\5TDPC\4DRIC\3HALTTX\2BYTEM\1EI" 41#define IDTPHY_REGM_MCR_UPL0 0x80 42#define IDTPHY_REGM_MCR_DREC 0x40 43#define IDTPHY_REGM_MCR_ECEI 0x20 44#define IDTPHY_REGM_MCR_TDPC 0x10 45#define IDTPHY_REGM_MCR_DRIC 0x08 46#define IDTPHY_REGM_MCR_HALTTX 0x04 47#define IDTPHY_REGM_MCR_BYTEM 0x02 48#define IDTPHY_REGM_MCR_EI 0x01 49 50#define IDTPHY_REGO_ISTAT 0x01 51#define IDTPHY_REGN_ISTAT "Interrupt Status" 52#define IDTPHY_REGX_ISTAT "\020\7GOOD\6HECE\5SCRE\4TPE\3RSCC\2RSE\1RFO" 53#define IDTPHY_REGM_ISTAT_GOOD 0x40 /* good signal bit */ 54#define IDTPHY_REGM_ISTAT_HECE 0x20 /* HEC error */ 55#define IDTPHY_REGM_ISTAT_SCRE 0x10 /* short cell received error */ 56#define IDTPHY_REGM_ISTAT_TPE 0x08 /* transmit parity error */ 57#define IDTPHY_REGM_ISTAT_RSCC 0x04 /* receive signal condition change */ 58#define IDTPHY_REGM_ISTAT_RSE 0x02 /* receive symbol error */ 59#define IDTPHY_REGM_ISTAT_RFO 0x01 /* read FIFO overrun */ 60 61#define IDTPHY_REGO_DIAG 0x02 62#define IDTPHY_REGN_DIAG "Diagnostic Control" 63#define IDTPHY_REGX_DIAG "\020\010FTD\7ROS\6MULTI\5RFLUSH\4ITPE\3IHECE\11\3\0NORM\11\3\2PLOOP\11\3\3LLOOP" 64#define IDTPHY_REGM_DIAG_FTD 0x80 /* Force TxClav Deassert */ 65#define IDTPHY_REGM_DIAG_ROS 0x40 /* RxClav Operation Select */ 66#define IDTPHY_REGM_DIAG_MULTI 0x20 /* Multi-phy operation */ 67#define IDTPHY_REGM_DIAG_RFLUSH 0x10 /* clear receive Fifo */ 68#define IDTPHY_REGM_DIAG_ITPE 0x08 /* insert transmit payload error */ 69#define IDTPHY_REGM_DIAG_IHECE 0x04 /* insert transmit HEC error */ 70#define IDTPHY_REGM_DIAG_LOOP 0x03 /* loopback mode */ 71#define IDTPHY_REGM_DIAG_LOOP_NONE 0x00 /* normal */ 72#define IDTPHY_REGM_DIAG_LOOP_PHY 0x02 /* PHY loopback */ 73#define IDTPHY_REGM_DIAG_LOOP_LINE 0x03 /* Line loopback */ 74 75#define IDTPHY_REGO_LHEC 0x03 76#define IDTPHY_REGN_LHEC "LED Driver and HEC Status/Control" 77#define IDTPHY_REGX_LHEC "\020\7DRHEC\6DTHEC\11\x18\0CYC1\11\x18\1CYC2\11\x18\2CYC4\11\x18\3CYC8\3FIFOE\2TXLED\1RXLED" 78#define IDTPHY_REGM_LHEC_DRHEC 0x40 /* disable receive HEC */ 79#define IDTPHY_REGM_LHEC_DTHEC 0x20 /* disable transmit HEC */ 80#define IDTPHY_REGM_LHEC_RXREF 0x18 /* RxRef pulse width */ 81#define IDTPHY_REGM_LHEC_RXREF1 0x00 /* 1 pulse */ 82#define IDTPHY_REGM_LHEC_RXREF2 0x08 /* 2 pulse */ 83#define IDTPHY_REGM_LHEC_RXREF4 0x10 /* 4 pulse */ 84#define IDTPHY_REGM_LHEC_RXREF8 0x18 /* 8 pulse */ 85#define IDTPHY_REGM_LHEC_FIFOE 0x04 /* Fifo empty */ 86#define IDTPHY_REGM_LHEC_TXLED 0x02 /* Tx LED status */ 87#define IDTPHY_REGM_LHEC_RXLED 0x01 /* Rx LED status */ 88 89#define IDTPHY_REGO_CNT 0x04 /* +0x05 */ 90#define IDTPHY_REGN_CNT "Counter" 91 92#define IDTPHY_REGO_CNTS 0x06 93#define IDTPHY_REGN_CNTS "Counter select" 94#define IDTPHY_REGX_CNTS "\020\4SEC\3TX\2RX\1HECE" 95#define IDTPHY_REGM_CNTS_SEC 0x08 /* symbol error counter */ 96#define IDTPHY_REGM_CNTS_TX 0x04 /* Tx cells */ 97#define IDTPHY_REGM_CNTS_RX 0x02 /* Rx cells */ 98#define IDTPHY_REGM_CNTS_HECE 0x01 /* HEC errors */ 99 100#define IDTPHY_PRINT_77105 \ 101 { /* 00 */ \ 102 UTP_REGT_BITS, IDTPHY_REGO_MCR, \ 103 IDTPHY_REGN_MCR, IDTPHY_REGX_MCR }, \ 104 { /* 01 */ \ 105 UTP_REGT_BITS, IDTPHY_REGO_ISTAT, \ 106 IDTPHY_REGN_ISTAT, IDTPHY_REGX_ISTAT }, \ 107 { /* 02 */ \ 108 UTP_REGT_BITS, IDTPHY_REGO_DIAG, \ 109 IDTPHY_REGN_DIAG, IDTPHY_REGX_DIAG }, \ 110 { /* 03 */ \ 111 UTP_REGT_BITS, IDTPHY_REGO_LHEC, \ 112 IDTPHY_REGN_LHEC, IDTPHY_REGX_LHEC }, \ 113 { /* 04, 05 */ \ 114 UTP_REGT_INT16, IDTPHY_REGO_CNT, \ 115 IDTPHY_REGN_CNT, NULL }, \ 116 { /* 06 */ \ 117 UTP_REGT_BITS, IDTPHY_REGO_CNTS, \ 118 IDTPHY_REGN_CNTS, IDTPHY_REGX_CNTS } 119 120#define IDTPHY_REGO_MRID 0x00 121#define IDTPHY_REGN_MRID "Master Reset & ID" 122#define IDTPHY_REGM_MRID_RESET 0x80 /* software reset */ 123#define IDTPHY_REGM_MRID_TYPE 0x70 /* type */ 124#define IDTPHY_REGM_MRID_155 0x30 /* idt77155 type */ 125#define IDTPHY_REGM_MRID_ID 0x0f /* revision */ 126#define IDTPHY_REGX_MRID \ 127 "\020\010mstReset\12\x70\12type\12\xf\12id" 128 129#define IDTPHY_REGO_CONF 0x01 130#define IDTPHY_REGN_CONF "Configuration" 131#define IDTPHY_REGM_CONF_AFEBE 0x40 /* autoFEBE */ 132#define IDTPHY_REGM_CONF_ALRDI 0x20 /* autoLRDI */ 133#define IDTPHY_REGM_CONF_APRDI 0x10 /* autoPRDI */ 134#define IDTPHY_REGM_CONF_TCAIN 0x08 /* TCAInv */ 135#define IDTPHY_REGM_CONF_RCAIN 0x04 /* RCAInv */ 136#define IDTPHY_REGM_CONF_RXDIN 0x02 /* RXDInv */ 137#define IDTPHY_REGM_CONF_RESV 0x81 138#define IDTPHY_REGX_CONF \ 139 "\020\07autoFEBE\6autoLRDI\5autoPRDI\4TCAInv\3RCAInv\2RXDInv" 140 141#define IDTPHY_REGO_INT 0x02 142#define IDTPHY_REGN_INT "Interrupt" 143#define IDTPHY_REGM_INT_TXOOLI 0x80 /* txOOLInt */ 144#define IDTPHY_REGM_INT_RXLOCI 0x40 /* rxLOCInt */ 145#define IDTPHY_REGM_INT_RXOOLI 0x20 /* rxOOLInt */ 146#define IDTPHY_REGM_INT_TXCDI 0x10 /* txCDi */ 147#define IDTPHY_REGM_INT_RXCDI 0x08 /* rxCDi */ 148#define IDTPHY_REGM_INT_RXPOHI 0x04 /* rxPOHi */ 149#define IDTPHY_REGM_INT_RXLOHI 0x02 /* rxLOHi */ 150#define IDTPHY_REGM_INT_RXSOHI 0x01 /* rxSOHi */ 151#define IDTPHY_REGX_INT \ 152 "\020\10txOOLInt\7rxLOCInt\6rxOOLInt\5txCDi\4rxCDi\3rxPOHi" \ 153 "\2rxLOHi\1rxSOHi" 154 155#define IDTPHY_REGO_MCM 0x04 156#define IDTPHY_REGN_MCM "Master Clock Monitor" 157#define IDTPHY_REGM_MCM_RRCLK 0x08 /* rrclkReg */ 158#define IDTPHY_REGM_MCM_TRCLK 0x04 /* trclkReg */ 159#define IDTPHY_REGM_MCM_RCLK 0x02 /* rclkReg */ 160#define IDTPHY_REGM_MCM_TCLK 0x01 /* tclkReg */ 161#define IDTPHY_REGM_MCM_RESV 0xf0 162#define IDTPHY_REGX_MCM \ 163 "\020\4rrclkReg\3trclkReg\2rclkReg\1tclkReg" 164 165#define IDTPHY_REGO_MCTL 0x05 166#define IDTPHY_REGN_MCTL "Master Control" 167#define IDTPHY_REGM_MCTL_LOCI 0x80 /* rxLOCIEn */ 168#define IDTPHY_REGM_MCTL_LOC 0x40 /* LOC */ 169#define IDTPHY_REGM_MCTL_FIXP 0x20 /* txFixptr */ 170#define IDTPHY_REGM_MCTL_LLOOP 0x04 /* txLLoop */ 171#define IDTPHY_REGM_MCTL_DLOOP 0x02 /* rxDLoop */ 172#define IDTPHY_REGM_MCTL_TLOOP 0x01 /* rxLoopT */ 173#define IDTPHY_REGM_MCTL_RESV 0x18 174#define IDTPHY_REGX_MCTL \ 175 "\020\10rxLOCIEn\7LOC\6txFixptr\3txLLoop\2rxDLoop\1rxLoopT" 176 177#define IDTPHY_REGO_TXC 0x06 178#define IDTPHY_REGN_TXC "Transmit Clock Synthesis C/S" 179#define IDTPHY_REGM_TXC_TXOOL 0x08 /* txOOL */ 180#define IDTPHY_REGM_TXC_TXOOLI 0x02 /* txOOLIEn */ 181#define IDTPHY_REGM_TXC_TXREF 0x01 /* txrefSel */ 182#define IDTPHY_REGM_TXC_RESV 0xf4 183#define IDTPHY_REGX_TXC \ 184 "\020\4txOOL\2txOOLIEn\1txrefSel" 185 186#define IDTPHY_REGO_RXC 0x07 187#define IDTPHY_REGN_RXC "Receive Clock/Data Recovery C/S" 188#define IDTPHY_REGM_RXC_RXOOL 0x08 /* rxOOL */ 189#define IDTPHY_REGM_RXC_RXOOLI 0x02 /* rxOOLIEn */ 190#define IDTPHY_REGM_RXC_RXREF 0x01 /* rxrefSel */ 191#define IDTPHY_REGM_RXC_RESV 0xf4 192#define IDTPHY_REGX_RXC \ 193 "\020\4rxOOL\2rxOOLIEn\1rxrefSel" 194 195#define IDTPHY_REGO_RSOC 0x10 196#define IDTPHY_REGN_RSOC "Receive Overhead Control" 197#define IDTPHY_REGM_RSOC_DSCR 0x40 /* scrDis */ 198#define IDTPHY_REGM_RSOC_FOOF 0x20 /* frcOOF */ 199#define IDTPHY_REGM_RSOC_B1IE 0x08 /* B1ErrIEn */ 200#define IDTPHY_REGM_RSOC_LOSI 0x04 /* LOSIEn */ 201#define IDTPHY_REGM_RSOC_LOFI 0x02 /* LOFIEn */ 202#define IDTPHY_REGM_RSOC_OOFI 0x01 /* OOFIEn */ 203#define IDTPHY_REGM_RSOC_RESV 0x90 204#define IDTPHY_REGX_RSOC \ 205 "\020\7scrDis\6frcOOF\4B1ErrIEn\3LOSIEn\2LOFIEn\1OOFIEn" 206 207#define IDTPHY_REGO_RSOS 0x11 208#define IDTPHY_REGN_RSOS "Receive Overhead Status" 209#define IDTPHY_REGM_RSOS_C1INT 0x80 /* C1Int */ 210#define IDTPHY_REGM_RSOS_B1INT 0x40 /* B1ErrInt */ 211#define IDTPHY_REGM_RSOS_LOSI 0x20 /* LOSInt */ 212#define IDTPHY_REGM_RSOS_LOFI 0x10 /* LOFInt */ 213#define IDTPHY_REGM_RSOS_OOFI 0x08 /* OOFInt */ 214#define IDTPHY_REGM_RSOS_LOS 0x04 /* LOS */ 215#define IDTPHY_REGM_RSOS_LOF 0x02 /* LOF */ 216#define IDTPHY_REGM_RSOS_OOF 0x01 /* OOF */ 217#define IDTPHY_REGX_RSOS \ 218 "\020\10C1Int\7B1ErrInt\6LOSInt\5LOFInt\4OOFint\3LOS\2LOF\1OOF" 219 220#define IDTPHY_REGO_BIPC 0x12 /* + 0x13 LE */ 221#define IDTPHY_REGN_BIPC "Receive Section BIP Errors" 222 223#define IDTPHY_REGO_TSOC 0x14 224#define IDTPHY_REGN_TSOC "Transmit Overhead Control" 225#define IDTPHY_REGM_TSOC_DSCR 0x40 /* scrDis */ 226#define IDTPHY_REGM_TSOC_LAISI 0x01 /* LAISIns */ 227#define IDTPHY_REGM_TSOC_RESV 0xbe 228#define IDTPHY_REGX_TSOC \ 229 "\020\7scrDis\1LAISIns" 230 231#define IDTPHY_REGO_TSOC2 0x15 232#define IDTPHY_REGN_TSOC2 "Transmit Overhead Control 2" 233#define IDTPHY_REGM_TSOC2_LOSI 0x04 /* LOSIns */ 234#define IDTPHY_REGM_TSOC2_B1INV 0x02 /* B1Inv */ 235#define IDTPHY_REGM_TSOC2_IFE 0x01 /* frErrIns */ 236#define IDTPHY_REGM_TSOC2_RESV 0xf8 237#define IDTPHY_REGX_TSOC2 \ 238 "\020\3LOSIns\2B1Inv\1frErrIns" 239 240#define IDTPHY_REGO_RLOS 0x18 241#define IDTPHY_REGN_RLOS "Receive Line Overhead Status" 242#define IDTPHY_REGM_RLOS_B2W 0x80 /* B2Word */ 243#define IDTPHY_REGM_RLOS_LAIS 0x02 /* LAIS */ 244#define IDTPHY_REGM_RLOS_LRDI 0x01 /* LRDI */ 245#define IDTPHY_REGM_RLOS_RESV 0x7c 246#define IDTPHY_REGX_RLOS \ 247 "\020\10B2Word\2LAIS\1LRDI" 248 249#define IDTPHY_REGO_RLOI 0x19 250#define IDTPHY_REGN_RLOI "Receive Line Overhead Interrupt" 251#define IDTPHY_REGM_RLOI_LFEBEE 0x80 /* LFEBEIEn */ 252#define IDTPHY_REGM_RLOI_B2EE 0x40 /* B2ErrIEn */ 253#define IDTPHY_REGM_RLOI_LAISE 0x20 /* LAISIEn */ 254#define IDTPHY_REGM_RLOI_LRDIE 0x10 /* LRDIIEn */ 255#define IDTPHY_REGM_RLOI_LFEBEI 0x08 /* LFEBEInt */ 256#define IDTPHY_REGM_RLOI_B2EI 0x04 /* B2ErrInt */ 257#define IDTPHY_REGM_RLOI_LAISI 0x02 /* LAISInt */ 258#define IDTPHY_REGM_RLOI_LRDII 0x01 /* LRDIInt */ 259#define IDTPHY_REGX_RLOI \ 260 "\020\10LFEBEIEn\7B2ErrIEn\6LAISIEn\5LRDIIEn\4LFEBEInt\3B2ErrInt" \ 261 "\2LAISInt\1LRDIInt" 262 263#define IDTPHY_REGO_B2EC 0x1a /* + 0x1b, 0x1c, 20bit LE */ 264#define IDTPHY_REGN_B2EC "B2 Errors" 265 266#define IDTPHY_REGO_FEBEC 0x1d /* + 0x1e, 0x1f, 20bit LE */ 267#define IDTPHY_REGN_FEBEC "Line FEBE Errors" 268 269#define IDTPHY_REGO_TLOS 0x20 270#define IDTPHY_REGN_TLOS "Transmit Line Overhead Status" 271#define IDTPHY_REGM_TLOS_LRDI 0x01 /* LRDI */ 272#define IDTPHY_REGM_TLOS_RESV 0xfe 273#define IDTPHY_REGX_TLOS \ 274 "\020\1LRDI" 275 276#define IDTPHY_REGO_TLOC 0x21 277#define IDTPHY_REGN_TLOC "Transmit Line Overhead Control" 278#define IDTPHY_REGM_TLOC_B2INV 0x01 /* B2Inv */ 279#define IDTPHY_REGM_TLOC_RESV 0xfe 280#define IDTPHY_REGX_TLOC \ 281 "\020\1B2Inv" 282 283#define IDTPHY_REGO_TK1 0x24 284#define IDTPHY_REGN_TK1 "Transmit K1" 285 286#define IDTPHY_REGO_TK2 0x25 287#define IDTPHY_REGN_TK2 "Transmit K2" 288 289#define IDTPHY_REGO_RK1 0x26 290#define IDTPHY_REGN_RK1 "Receive K1" 291 292#define IDTPHY_REGO_RK2 0x27 293#define IDTPHY_REGN_RK2 "Receive K2" 294 295#define IDTPHY_REGO_RPOS 0x30 296#define IDTPHY_REGN_RPOS "Receive Path Overhead Status" 297#define IDTPHY_REGM_RPOS_LOP 0x20 /* LOP */ 298#define IDTPHY_REGM_RPOS_PAIS 0x08 /* PAIS */ 299#define IDTPHY_REGM_RPOS_PRDI 0x04 /* PRDI */ 300#define IDTPHY_REGM_RPOS_RESV 0xd3 301#define IDTPHY_REGX_RPOS \ 302 "\020\6LOP\4PAIS\3PRDI" 303 304#define IDTPHY_REGO_RPOI 0x31 305#define IDTPHY_REGN_RPOI "Receive Path Overhead Interrupt" 306#define IDTPHY_REGM_RPOI_C2I 0x80 /* C2Int */ 307#define IDTPHY_REGM_RPOI_LOPI 0x20 /* LOPInt */ 308#define IDTPHY_REGM_RPOI_PAISI 0x08 /* PAISInt */ 309#define IDTPHY_REGM_RPOI_PRDII 0x04 /* PRDIInt */ 310#define IDTPHY_REGM_RPOI_B3EI 0x02 /* B3ErrInt */ 311#define IDTPHY_REGM_RPOI_PFEBEI 0x01 /* PFEBEInt */ 312#define IDTPHY_REGM_RPOI_RESV 0x50 313#define IDTPHY_REGX_RPOI \ 314 "\020\10C2Int\6LOPInt\4PAISInt\3PRDIInt\2B3ErrInt\1PFEBEInt" 315 316#define IDTPHY_REGO_RPIE 0x33 317#define IDTPHY_REGN_RPIE "Receive Path Interrupt Enable" 318#define IDTPHY_REGM_RPIE_C2E 0x80 /* C2IEn */ 319#define IDTPHY_REGM_RPIE_LOPE 0x20 /* LOPIEn */ 320#define IDTPHY_REGM_RPIE_PAISE 0x08 /* PAISIEn */ 321#define IDTPHY_REGM_RPIE_PRDIE 0x04 /* PRDIIEn */ 322#define IDTPHY_REGM_RPIE_B3EE 0x02 /* B3ErrIEn */ 323#define IDTPHY_REGM_RPIE_PFEBEE 0x01 /* PFEBEIEn */ 324#define IDTPHY_REGM_RPIE_RESV 0x50 325#define IDTPHY_REGX_RPIE \ 326 "\020\10CSIEn\6LOPIEn\4PAISIEn\3PRDIIEn\2B3ErrIEn\1PFEBEIEn" 327 328#define IDTPHY_REGO_RC2 0x37 329#define IDTPHY_REGN_RC2 "Receive C2" 330 331#define IDTPHY_REGO_B3EC 0x38 /* + 0x39, LE, 16bit */ 332#define IDTPHY_REGN_B3EC "B3 Errors" 333 334#define IDTPHY_REGO_PFEBEC 0x3a /* + 0x3b, LE, 16bit */ 335#define IDTPHY_REGN_PFEBEC "Path FEBE Errors" 336 337#define IDTPHY_REGO_RPEC 0x3d 338#define IDTPHY_REGN_RPEC "Receive Path BIP Error Control" 339#define IDTPHY_REGM_RPEC_B3C 0x20 /* blkBIP */ 340#define IDTPHY_REGM_RPEC_RESV 0xdf 341#define IDTPHY_REGX_RPEC \ 342 "\020\6blkBIP" 343 344#define IDTPHY_REGO_TPOC 0x40 345#define IDTPHY_REGN_TPOC "Transmit Path Control" 346#define IDTPHY_REGM_TPOC_B3INV 0x02 /* B3Inv */ 347#define IDTPHY_REGM_TPOC_PAISI 0x01 /* PAISIns */ 348#define IDTPHY_REGM_TPOC_RESC 0xfc 349#define IDTPHY_REGX_TPOC \ 350 "\020\2B3Inv\1PAISIns" 351 352#define IDTPHY_REGO_TPTC 0x41 353#define IDTPHY_REGN_TPTC "Transmit Pointer Control" 354#define IDTPHY_REGM_TPTC_FPTR 0x40 /* frcPtr */ 355#define IDTPHY_REGM_TPTC_STUFF 0x20 /* stuffCtl */ 356#define IDTPHY_REGM_TPTC_PTR 0x10 /* Ptr */ 357#define IDTPHY_REGM_TPTC_NDF 0x08 /* NDF */ 358#define IDTPHY_REGM_TPTC_DECP 0x04 /* decPtr */ 359#define IDTPHY_REGM_TPTC_INCP 0x02 /* incPtr */ 360#define IDTPHY_REGM_TPTC_RESV 0x81 361#define IDTPHY_REGX_TPTC \ 362 "\020\7frcPtr\6stuffCtl\5Ptr\4NDF\3decPtr\2incPtr" 363 364#define IDTPHY_REGO_PTRL 0x45 365#define IDTPHY_REGN_PTRL "Transmit Pointer LSB" 366#define IDTPHY_REGX_PTRL \ 367 "\020\12\xff\20arbPtr" 368 369#define IDTPHY_REGO_PTRM 0x46 370#define IDTPHY_REGN_PTRM "Transmit Pointer MSB" 371#define IDTPHY_REGM_PTRM_NDF 0xf0 /* NDFVal */ 372#define IDTPHY_REGS_PTRM_NDF 4 373#define IDTPHY_REGM_PTRM_SS 0x0c /* ssBit */ 374#define IDTPHY_REGM_PTRM_SONET 0x00 375#define IDTPHY_REGM_PTRM_SDH 0x08 376#define IDTPHY_REGM_PTRM_PTR 0x03 377#define IDTPHY_REGX_PTRM \ 378 "\020\12\xf0\20NDFVal\12\xc\20ssBit\12\x3\20arbPtr" 379 380#define IDTPHY_REGO_TC2 0x48 381#define IDTPHY_REGN_TC2 "Transmit C2" 382 383#define IDTPHY_REGO_TPOC2 0x49 384#define IDTPHY_REGN_TPOC2 "Transmit Path Control 2" 385#define IDTPHY_REGM_TPOC2_FEBE 0xf0 /* PFEBEIns */ 386#define IDTPHY_REGS_TPOC2_FEBE 4 387#define IDTPHY_REGM_TPOC2_PRDII 0x08 /* PRDIIns */ 388#define IDTPHY_REGM_TPOC2_G1 0x07 /* G1Ins */ 389#define IDTPHY_REGX_TPOC2 \ 390 "\020\12\xf0\20PFEBEIns\4PRDIIns\12\x7\20G1Ins" 391 392#define IDTPHY_REGO_RCC 0x50 393#define IDTPHY_REGN_RCC "Receive Cell Control" 394#define IDTPHY_REGM_RCC_OCD 0x80 /* OCD */ 395#define IDTPHY_REGM_RCC_PARTY 0x40 /* parity */ 396#define IDTPHY_REGM_RCC_PASS 0x20 /* pass */ 397#define IDTPHY_REGM_RCC_DCOR 0x10 /* corDis */ 398#define IDTPHY_REGM_RCC_DHEC 0x08 /* HECdis */ 399#define IDTPHY_REGM_RCC_ADD 0x04 /* csetAdd */ 400#define IDTPHY_REGM_RCC_DSCR 0x02 /* scrDis */ 401#define IDTPHY_REGM_RCC_RFIFO 0x01 /* rxFIFOrst */ 402#define IDTPHY_REGX_RCC \ 403 "\020\10OCD\7parity\6pass\5corDis\4HECdis\3csetAdd" \ 404 "\2scrDis\1rxFIFOrst" 405 406#define IDTPHY_REGO_RCI 0x51 407#define IDTPHY_REGN_RCI "Receive Cell Interrupt" 408#define IDTPHY_REGM_RCI_OCDE 0x80 /* OCDIEn */ 409#define IDTPHY_REGM_RCI_HECE 0x40 /* HECIEn */ 410#define IDTPHY_REGM_RCI_OVFE 0x20 /* ovfIEn */ 411#define IDTPHY_REGM_RCI_OCDI 0x10 /* OCDInt */ 412#define IDTPHY_REGM_RCI_CORI 0x08 /* corInt */ 413#define IDTPHY_REGM_RCI_UCORI 0x04 /* uncorInt */ 414#define IDTPHY_REGM_RCI_OVFI 0x02 /* ovfInt */ 415#define IDTPHY_REGM_RCI_RESV 0x01 416#define IDTPHY_REGX_RCI \ 417 "\020\10OCDIEn\7HECIEn\6ovfIEn\5OCDInt\4corInt\3uncorInt\2ovfInt" 418 419#define IDTPHY_REGO_CMH 0x52 420#define IDTPHY_REGN_CMH "Receive Cell Match Header" 421#define IDTPHY_REGM_CMH_GFC 0xf0 /* GFC */ 422#define IDTPHY_REGS_CMH_GFC 4 423#define IDTPHY_REGM_CMH_PTI 0x0e /* PTI */ 424#define IDTPHY_REGS_CMH_PTI 1 425#define IDTPHY_REGM_CMH_CLP 0x01 /* CLP */ 426#define IDTPHY_REGX_CMH \ 427 "\020\12\xf0\20GFC\12\xe\20PTI\12\x1\20CLP" 428 429#define IDTPHY_REGO_CMHM 0x53 430#define IDTPHY_REGN_CMHM "Receive Cell Match Header Mask" 431#define IDTPHY_REGM_CMHM_GFC 0xf0 /* mskGFC */ 432#define IDTPHY_REGS_CMHM_GFC 4 433#define IDTPHY_REGM_CMHM_PTI 0x0e /* mskPTI */ 434#define IDTPHY_REGS_CMHM_PTI 1 435#define IDTPHY_REGM_CMHM_CLP 0x01 /* mskCLP */ 436#define IDTPHY_REGX_CMHM \ 437 "\020\12\xf0\20mskGFC\12\xe\20mskPTI\12\x1\20mskCLP" 438 439#define IDTPHY_REGO_CEC 0x54 440#define IDTPHY_REGN_CEC "Correctable Errors" 441 442#define IDTPHY_REGO_UEC 0x55 443#define IDTPHY_REGN_UEC "Uncorrectable Errors" 444 445#define IDTPHY_REGO_RCCNT 0x56 /* +0x57, 0x58, LE, 19bit */ 446#define IDTPHY_REGN_RCCNT "Receive Cells" 447 448#define IDTPHY_REGO_RCCF 0x59 449#define IDTPHY_REGN_RCCF "Receive Cell Configuration" 450#define IDTPHY_REGM_RCCF_GFCE 0xf0 /* GFCen */ 451#define IDTPHY_REGS_RCCF_GFCE 4 452#define IDTPHY_REGM_RCCF_FIXS 0x08 /* FixSen */ 453#define IDTPHY_REGM_RCCF_RCAL 0x04 /* RCAlevel */ 454#define IDTPHY_REGM_RCCF_HECF 0x03 /* HECftr */ 455#define IDTPHY_REGX_RCCF \ 456 "\020\12\xf0\20GFCen\4FixSen\3RCAlevel\12\x3\20HECftr" 457 458#define IDTPHY_REGO_RXID 0x5a 459#define IDTPHY_REGN_RXID "Receive ID Address" 460#define IDTPHY_REGM_RXID_ID 0x03 /* IDAddr */ 461#define IDTPHY_REGM_RXID_RESV 0xfc 462#define IDTPHY_REGX_RXID \ 463 "\020\12\x3\20IDAddr" 464 465#define IDTPHY_REGO_TCC 0x60 466#define IDTPHY_REGN_TCC "Transmit Cell Control" 467#define IDTPHY_REGM_TCC_FIFOE 0x80 /* fovrIEn */ 468#define IDTPHY_REGM_TCC_SOCI 0x40 /* socInt */ 469#define IDTPHY_REGM_TCC_FIFOI 0x20 /* fovrInt */ 470#define IDTPHY_REGM_TCC_HECINV 0x10 /* HECInv */ 471#define IDTPHY_REGM_TCC_HECDIS 0x08 /* HECDis */ 472#define IDTPHY_REGM_TCC_ADD 0x04 /* csetAdd */ 473#define IDTPHY_REGM_TCC_DSCR 0x02 /* scrDis */ 474#define IDTPHY_REGM_TCC_FIFOR 0x01 /* txFIFOrst */ 475#define IDTPHY_REGX_TCC \ 476 "\020\10fovrIEn\7socInt\6fovrInt\5HECInv\4HECDis\3csetAdd" \ 477 "\2scrDis\1txFIFOrst" 478 479#define IDTPHY_REGO_TCHP 0x61 480#define IDTPHY_REGN_TCHP "Transmit Idle Cell Header" 481#define IDTPHY_REGM_TCHP_GFC 0xf0 /* GFCtx */ 482#define IDTPHY_REGS_TCHP_GFC 4 483#define IDTPHY_REGM_TCHP_PTI 0x0e /* PTItx */ 484#define IDTPHY_REGS_TCHP_PTI 1 485#define IDTPHY_REGM_TCHP_CLP 0x01 /* CLPtx */ 486#define IDTPHY_REGX_TCHP \ 487 "\020\12\xf0\20GFCtx\12\xe\20PTItx\12\x1\20CLPtx" 488 489#define IDTPHY_REGO_TPLD 0x62 490#define IDTPHY_REGN_TPLD "Transmit Idle Cell Payload" 491 492#define IDTPHY_REGO_TCC2 0x63 493#define IDTPHY_REGN_TCC2 "Transmit Cell Configuration 2" 494#define IDTPHY_REGM_TCC2_PARITY 0x80 /* parity */ 495#define IDTPHY_REGM_TCC2_PARE 0x40 /* parIEn */ 496#define IDTPHY_REGM_TCC2_PARI 0x10 /* parInt */ 497#define IDTPHY_REGM_TCC2_FIFO 0x0c /* FIFOdpth */ 498#define IDTPHY_REGS_TCC2_FIFO 2 499#define IDTPHY_REGM_TCC2_TCAL 0x02 /* TCAlevel */ 500#define IDTPHY_REGM_TCC2_RESV 0x01 501#define IDTPHY_REGX_TCC2 \ 502 "\020\10parity\7parIEn\5parInt\12\xc\20FIFOdpth\2TCAlevel" 503 504#define IDTPHY_REGO_TXCNT 0x64 /* +65,66 LE 19bit */ 505#define IDTPHY_REGN_TXCNT "Transmit Cells" 506 507#define IDTPHY_REGO_TCC3 0x67 508#define IDTPHY_REGN_TCC3 "Transmit Cell Configuration 3" 509#define IDTPHY_REGM_TCC3_GFCE 0xf0 /* txGFCen */ 510#define IDTPHY_REGS_TCC3_GFCE 4 511#define IDTPHY_REGM_TCC3_FIXE 0x08 /* txFixSen */ 512#define IDTPHY_REGM_TCC3_H4ID 0x04 /* H4InsDis */ 513#define IDTPHY_REGM_TCC3_FIXB 0x03 /* fixByte */ 514#define IDTPHY_REGM_TCC3_FIX00 0x00 /* 0x00 */ 515#define IDTPHY_REGM_TCC3_FIX55 0x01 /* 0x55 */ 516#define IDTPHY_REGM_TCC3_FIXAA 0x02 /* 0xAA */ 517#define IDTPHY_REGM_TCC3_FIXFF 0x03 /* 0xFF */ 518#define IDTPHY_REGX_TCC3 \ 519 "\020\12\xf0\20txGFCen\4txFixSen\3H4InsDis" \ 520 "\11\x3\x0FIX00\11\x3\x1FIX55\11\x3\x2FIXAA\11\x3\x3FIXFF" 521 522#define IDTPHY_REGO_TXID 0x68 523#define IDTPHY_REGN_TXID "Transmit ID Address" 524#define IDTPHY_REGM_TXID_ID 0x03 /* txIDAddr */ 525#define IDTPHY_REGM_TXID_RESV 0xfc 526#define IDTPHY_REGX_TXID \ 527 "\020\12\x3\20txIDAddr" 528 529#define IDTPHY_REGO_RBER 0x70 530#define IDTPHY_REGN_RBER "Receive BER S/C" 531#define IDTPHY_REGM_RBER_FAILE 0x08 /* FailIEn */ 532#define IDTPHY_REGM_RBER_WARNE 0x04 /* WarnIEn */ 533#define IDTPHY_REGM_RBER_FAIL 0x02 /* BERfail */ 534#define IDTPHY_REGM_RBER_WARN 0x01 /* BERwarn */ 535#define IDTPHY_REGM_RBER_RESV 0xf0 536#define IDTPHY_REGX_RBER \ 537 "\020\4FailIEn\3WarnIEn\2BERfail\1BERwarn" 538 539#define IDTPHY_REGO_BFTH 0x71 540#define IDTPHY_REGN_BFTH "Receive BER Fail Threshold" 541 542#define IDTPHY_REGO_BFWIN 0x72 543#define IDTPHY_REGN_BFWIN "Receive BER Fail Window" 544 545#define IDTPHY_REGO_BFDEN 0x73 /* +74, 16bit LE */ 546#define IDTPHY_REGN_BFDEN "Receive BER Fail Denominator" 547 548#define IDTPHY_REGO_BWTH 0x75 549#define IDTPHY_REGN_BWTH "Receive BER Warn Threshold" 550 551#define IDTPHY_REGO_BWWIN 0x76 552#define IDTPHY_REGN_BWWIN "Receive BER Warn Window" 553 554#define IDTPHY_REGO_BWDEN 0x77 /* +78, 16bit LE */ 555#define IDTPHY_REGN_BWDEN "Receive BER Warn Denomiator" 556 557#define IDTPHY_REGO_OPEC 0x7f 558#define IDTPHY_REGN_OPEC "Output PECL Control" 559#define IDTPHY_REGM_OPEC_TXC 0x04 /* pcctl_tc */ 560#define IDTPHY_REGM_OPEC_TXD 0x02 /* pcctl_td */ 561#define IDTPHY_REGM_OPEC_RXDO 0x01 /* pcctl_r */ 562#define IDTPHY_REGM_OPEC_RESV 0xf8 563#define IDTPHY_REGX_OPEC \ 564 "\020\3pctl_tc\2pcctl_td\1pcctl_r" 565 566#define IDTPHY_PRINT_77155 \ 567 { /* 00 */ \ 568 UTP_REGT_BITS, IDTPHY_REGO_MRID, \ 569 IDTPHY_REGN_MRID, IDTPHY_REGX_MRID }, \ 570 { /* 01 */ \ 571 UTP_REGT_BITS, IDTPHY_REGO_CONF, \ 572 IDTPHY_REGN_CONF, IDTPHY_REGX_CONF }, \ 573 { /* 02 */ \ 574 UTP_REGT_BITS, IDTPHY_REGO_INT, \ 575 IDTPHY_REGN_INT, IDTPHY_REGX_INT }, \ 576 /* 03 unused */ \ 577 { /* 04 */ \ 578 UTP_REGT_BITS, IDTPHY_REGO_MCM, \ 579 IDTPHY_REGN_MCM, IDTPHY_REGX_MCM }, \ 580 { /* 05 */ \ 581 UTP_REGT_BITS, IDTPHY_REGO_MCTL, \ 582 IDTPHY_REGN_MCTL, IDTPHY_REGX_MCTL }, \ 583 { /* 06 */ \ 584 UTP_REGT_BITS, IDTPHY_REGO_TXC, \ 585 IDTPHY_REGN_TXC, IDTPHY_REGX_TXC }, \ 586 { /* 07 */ \ 587 UTP_REGT_BITS, IDTPHY_REGO_RXC, \ 588 IDTPHY_REGN_RXC, IDTPHY_REGX_RXC }, \ 589 /* 08-0f unused */ \ 590 { /* 10 */ \ 591 UTP_REGT_BITS, IDTPHY_REGO_RSOC, \ 592 IDTPHY_REGN_RSOC, IDTPHY_REGX_RSOC }, \ 593 { /* 11 */ \ 594 UTP_REGT_BITS, IDTPHY_REGO_RSOS, \ 595 IDTPHY_REGN_RSOS, IDTPHY_REGX_RSOS }, \ 596 { /* 12, 13 */ \ 597 UTP_REGT_INT16, IDTPHY_REGO_BIPC, \ 598 IDTPHY_REGN_BIPC, NULL }, \ 599 { /* 14 */ \ 600 UTP_REGT_BITS, IDTPHY_REGO_TSOC, \ 601 IDTPHY_REGN_TSOC, IDTPHY_REGX_TSOC }, \ 602 { /* 15 */ \ 603 UTP_REGT_BITS, IDTPHY_REGO_TSOC2, \ 604 IDTPHY_REGN_TSOC2, IDTPHY_REGX_TSOC2 }, \ 605 /* 16, 17 unused */ \ 606 { /* 18 */ \ 607 UTP_REGT_BITS, IDTPHY_REGO_RLOS, \ 608 IDTPHY_REGN_RLOS, IDTPHY_REGX_RLOS }, \ 609 { /* 19 */ \ 610 UTP_REGT_BITS, IDTPHY_REGO_RLOI, \ 611 IDTPHY_REGN_RLOI, IDTPHY_REGX_RLOI }, \ 612 { /* 1a-1c */ \ 613 UTP_REGT_INT20, IDTPHY_REGO_B2EC, \ 614 IDTPHY_REGN_B2EC, NULL }, \ 615 { /* 1d-1f */ \ 616 UTP_REGT_INT20, IDTPHY_REGO_FEBEC, \ 617 IDTPHY_REGN_FEBEC, NULL }, \ 618 { /* 20 */ \ 619 UTP_REGT_BITS, IDTPHY_REGO_TLOS, \ 620 IDTPHY_REGN_TLOS, IDTPHY_REGX_TLOS }, \ 621 { /* 21 */ \ 622 UTP_REGT_BITS, IDTPHY_REGO_TLOC, \ 623 IDTPHY_REGN_TLOC, IDTPHY_REGX_TLOC }, \ 624 /* 22, 23 unused */ \ 625 { /* 24 */ \ 626 UTP_REGT_INT8, IDTPHY_REGO_TK1, \ 627 IDTPHY_REGN_TK1, NULL }, \ 628 { /* 25 */ \ 629 UTP_REGT_INT8, IDTPHY_REGO_TK2, \ 630 IDTPHY_REGN_TK2, NULL }, \ 631 { /* 26 */ \ 632 UTP_REGT_INT8, IDTPHY_REGO_RK1, \ 633 IDTPHY_REGN_RK1, NULL }, \ 634 { /* 27 */ \ 635 UTP_REGT_INT8, IDTPHY_REGO_RK2, \ 636 IDTPHY_REGN_RK2, NULL }, \ 637 /* 28-2f unused */ \ 638 { /* 30 */ \ 639 UTP_REGT_BITS, IDTPHY_REGO_RPOS, \ 640 IDTPHY_REGN_RPOS, IDTPHY_REGX_RPOS }, \ 641 { /* 31 */ \ 642 UTP_REGT_BITS, IDTPHY_REGO_RPOI, \ 643 IDTPHY_REGN_RPOI, IDTPHY_REGX_RPOI }, \ 644 /* 32 unused */ \ 645 { /* 33 */ \ 646 UTP_REGT_BITS, IDTPHY_REGO_RPIE, \ 647 IDTPHY_REGN_RPIE, IDTPHY_REGX_RPIE }, \ 648 /* 34-36 unused */ \ 649 { /* 37 */ \ 650 UTP_REGT_INT8, IDTPHY_REGO_RC2, \ 651 IDTPHY_REGN_RC2, NULL }, \ 652 { /* 38-39 */ \ 653 UTP_REGT_INT16, IDTPHY_REGO_B3EC, \ 654 IDTPHY_REGN_B3EC, NULL }, \ 655 { /* 3a-3b */ \ 656 UTP_REGT_INT16, IDTPHY_REGO_PFEBEC, \ 657 IDTPHY_REGN_PFEBEC, NULL }, \ 658 /* 3c unused */ \ 659 { /* 3d */ \ 660 UTP_REGT_BITS, IDTPHY_REGO_RPEC, \ 661 IDTPHY_REGN_RPEC, IDTPHY_REGX_RPEC }, \ 662 /* 3e, 3f unused */ \ 663 { /* 40 */ \ 664 UTP_REGT_BITS, IDTPHY_REGO_TPOC, \ 665 IDTPHY_REGN_TPOC, IDTPHY_REGX_TPOC }, \ 666 { /* 41 */ \ 667 UTP_REGT_BITS, IDTPHY_REGO_TPTC, \ 668 IDTPHY_REGN_TPTC, IDTPHY_REGX_TPTC }, \ 669 /* 42-44 unused */ \ 670 { /* 45 */ \ 671 UTP_REGT_BITS, IDTPHY_REGO_PTRL, \ 672 IDTPHY_REGN_PTRL, IDTPHY_REGX_PTRL }, \ 673 { /* 46 */ \ 674 UTP_REGT_BITS, IDTPHY_REGO_PTRM, \ 675 IDTPHY_REGN_PTRM, IDTPHY_REGX_PTRM }, \ 676 /* 47 unused */ \ 677 { /* 48 */ \ 678 UTP_REGT_INT8, IDTPHY_REGO_TC2, \ 679 IDTPHY_REGN_TC2, NULL }, \ 680 { /* 49 */ \ 681 UTP_REGT_BITS, IDTPHY_REGO_TPOC2, \ 682 IDTPHY_REGN_TPOC2, IDTPHY_REGX_TPOC2 }, \ 683 /* 4a-4f unused */ \ 684 { /* 50 */ \ 685 UTP_REGT_BITS, IDTPHY_REGO_RCC, \ 686 IDTPHY_REGN_RCC, IDTPHY_REGX_RCC }, \ 687 { /* 51 */ \ 688 UTP_REGT_BITS, IDTPHY_REGO_RCI, \ 689 IDTPHY_REGN_RCI, IDTPHY_REGX_RCI }, \ 690 { /* 52 */ \ 691 UTP_REGT_BITS, IDTPHY_REGO_CMH, \ 692 IDTPHY_REGN_CMH, IDTPHY_REGX_CMH }, \ 693 { /* 53 */ \ 694 UTP_REGT_BITS, IDTPHY_REGO_CMHM, \ 695 IDTPHY_REGN_CMHM, IDTPHY_REGX_CMHM }, \ 696 { /* 54 */ \ 697 UTP_REGT_INT8, IDTPHY_REGO_CEC, \ 698 IDTPHY_REGN_CEC, NULL }, \ 699 { /* 55 */ \ 700 UTP_REGT_INT8, IDTPHY_REGO_UEC, \ 701 IDTPHY_REGN_UEC, NULL }, \ 702 { /* 56-58 */ \ 703 UTP_REGT_INT19, IDTPHY_REGO_RCCNT, \ 704 IDTPHY_REGN_RCCNT, NULL }, \ 705 { /* 59 */ \ 706 UTP_REGT_BITS, IDTPHY_REGO_RCCF, \ 707 IDTPHY_REGN_RCCF, IDTPHY_REGX_RCCF }, \ 708 { /* 5a */ \ 709 UTP_REGT_BITS, IDTPHY_REGO_RXID, \ 710 IDTPHY_REGN_RXID, IDTPHY_REGX_RXID }, \ 711 /* 5b-5f unused */ \ 712 { /* 60 */ \ 713 UTP_REGT_BITS, IDTPHY_REGO_TCC, \ 714 IDTPHY_REGN_TCC, IDTPHY_REGX_TCC }, \ 715 { /* 61 */ \ 716 UTP_REGT_BITS, IDTPHY_REGO_TCHP, \ 717 IDTPHY_REGN_TCHP, IDTPHY_REGX_TCHP }, \ 718 { /* 62 */ \ 719 UTP_REGT_INT8, IDTPHY_REGO_TPLD, \ 720 IDTPHY_REGN_TPLD, NULL }, \ 721 { /* 63 */ \ 722 UTP_REGT_BITS, IDTPHY_REGO_TCC2, \ 723 IDTPHY_REGN_TCC2, IDTPHY_REGX_TCC2 }, \ 724 { /* 64-66 */ \ 725 UTP_REGT_INT19, IDTPHY_REGO_TXCNT, \ 726 IDTPHY_REGN_TXCNT, NULL }, \ 727 { /* 67 */ \ 728 UTP_REGT_BITS, IDTPHY_REGO_TCC3, \ 729 IDTPHY_REGN_TCC3, IDTPHY_REGX_TCC3 }, \ 730 { /* 68 */ \ 731 UTP_REGT_BITS, IDTPHY_REGO_TXID, \ 732 IDTPHY_REGN_TXID, IDTPHY_REGX_TXID }, \ 733 /* 69-6f unused */ \ 734 { /* 70 */ \ 735 UTP_REGT_BITS, IDTPHY_REGO_RBER, \ 736 IDTPHY_REGN_RBER, IDTPHY_REGX_RBER }, \ 737 { /* 71 */ \ 738 UTP_REGT_INT8, IDTPHY_REGO_BFTH, \ 739 IDTPHY_REGN_BFTH, NULL }, \ 740 { /* 72 */ \ 741 UTP_REGT_INT8, IDTPHY_REGO_BFWIN, \ 742 IDTPHY_REGN_BFWIN, NULL }, \ 743 { /* 73,74 */ \ 744 UTP_REGT_INT16, IDTPHY_REGO_BFDEN, \ 745 IDTPHY_REGN_BFDEN, NULL }, \ 746 { /* 75 */ \ 747 UTP_REGT_INT8, IDTPHY_REGO_BWTH, \ 748 IDTPHY_REGN_BWTH, NULL }, \ 749 { /* 76 */ \ 750 UTP_REGT_INT8, IDTPHY_REGO_BWWIN, \ 751 IDTPHY_REGN_BWWIN, NULL }, \ 752 { /* 77,78 */ \ 753 UTP_REGT_INT16, IDTPHY_REGO_BWDEN, \ 754 IDTPHY_REGN_BWDEN, NULL }, \ 755 /* 79-7e unused */ \ 756 { /* 7f */ \ 757 UTP_REGT_BITS, IDTPHY_REGO_OPEC, \ 758 IDTPHY_REGN_OPEC, IDTPHY_REGX_OPEC } 759 760 761#endif /* _DEV_UTOPIA_IDTPHY_H */ 762