The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/drivers/rtl8139/rtl8139.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2 ibm/rtl8139.h
    3 
    4 Created:        Aug 2003 by Philip Homburg <philip@cs.vu.nl>
    5 */
    6 
    7 #define RL_IDR          0x00    /* Ethernet address
    8                                  * Note: RL_9346CR_EEM_CONFIG mode is
    9                                  * required the change the ethernet
   10                                  * address.
   11                                  * Note: 4-byte write access only.
   12                                  */
   13 #define         RL_N_TX         4       /* Number of transmit buffers */
   14 #define RL_TSD0 0x010   /* Transmit Status of Descriptor 0 */
   15 #define         RL_TSD_CRS      0x80000000 /* Carrier Sense Lost */
   16 #define         RL_TSD_TABT     0x40000000 /* Transmit Abort */
   17 #define         RL_TSD_OWC      0x20000000 /* Out of Window Collision */
   18 #define         RL_TSD_CDH      0x10000000 /* CD Heart Beat */
   19 #define         RL_TSD_NCC_M    0x0F000000 /* Number of Collision Count */
   20 #define         RL_TSD_RES      0x00C00000 /* Reserved */
   21 #define         RL_TSD_ERTXTH_M 0x003F0000 /* Early Tx Threshold */
   22 #define                 RL_TSD_ERTXTH_S         16              /* shift */
   23 #define                 RL_TSD_ERTXTH_8         0x00000000      /* 8 bytes */
   24 #define         RL_TSD_TOK      0x00008000 /* Transmit OK */
   25 #define         RL_TSD_TUN      0x00004000 /* Transmit FIFO Underrun */
   26 #define         RL_TSD_OWN      0x00002000 /* Controller (does not) Own Buf. */
   27 #define         RL_TSD_SIZE     0x00001FFF /* Descriptor Size */
   28 #define RL_TSAD0        0x20    /* Transmit Start Address of Descriptor 0 */
   29 #define RL_RBSTART      0x30    /* Receive Buffer Start Address */
   30 #define RL_CR           0x37    /* Command Register */
   31 #define         RL_CR_RES0      0xE0    /* Reserved */
   32 #define         RL_CR_RST       0x10    /* Reset */
   33 #define         RL_CR_RE        0x08    /* Receiver Enable */
   34 #define         RL_CR_TE        0x04    /* Transmitter Enable *
   35                                          * Note: start with transmit buffer
   36                                          * 0 after RL_CR_TE has been reset.
   37                                          */
   38 #define         RL_CR_RES1      0x02    /* Reserved */
   39 #define         RL_CR_BUFE      0x01    /* Receive Buffer Empty */
   40 #define RL_CAPR         0x38    /* Current Address of Packet Read */
   41 #define         RL_CAPR_DATA_OFF        0x10    /* Packet Starts at Offset */
   42 #define RL_CBR          0x3A    /* Current Buffer Address */
   43 #define RL_IMR          0x3C    /* Interrupt Mask Register */
   44 #define         RL_IMR_SERR     0x8000  /* System Error */
   45 #define         RL_IMR_TIMEOUT  0x4000  /* Time Out */
   46 #define         RL_IMR_LENCHG   0x2000  /* Cable Length Change */
   47 #define         RL_IMR_RES      0x1F80  /* Reserved */
   48 #define         RL_IMR_FOVW     0x0040  /* Rx FIFO Overflow */
   49 #define         RL_IMR_PUN      0x0020  /* Packet Underrun / Link Change */
   50 #define         RL_IMR_RXOVW    0x0010  /* Rx Buffer Overflow */
   51 #define         RL_IMR_TER      0x0008  /* Transmit Error */
   52 #define         RL_IMR_TOK      0x0004  /* Transmit OK */
   53 #define         RL_IMR_RER      0x0002  /* Receive Error */
   54 #define         RL_IMR_ROK      0x0001  /* Receive OK */
   55 #define RL_ISR          0x3E    /* Interrupt Status Register */
   56 #define         RL_ISR_SERR     0x8000  /* System Error */
   57 #define         RL_ISR_TIMEOUT  0x4000  /* Time Out */
   58 #define         RL_ISR_LENCHG   0x2000  /* Cable Length Change */
   59 #define         RL_ISR_RES      0x1F80  /* Reserved */
   60 #define         RL_ISR_FOVW     0x0040  /* Rx FIFO Overflow */
   61 #define         RL_ISR_PUN      0x0020  /* Packet Underrun / Link Change */
   62 #define         RL_ISR_RXOVW    0x0010  /* Rx Buffer Overflow */
   63 #define         RL_ISR_TER      0x0008  /* Transmit Error */
   64 #define         RL_ISR_TOK      0x0004  /* Transmit OK */
   65 #define         RL_ISR_RER      0x0002  /* Receive Error */
   66 #define         RL_ISR_ROK      0x0001  /* Receive OK */
   67 #define RL_TCR          0x40    /* Transmit Configuration Register
   68                                  * Note: RL_CR_TE has to be set to
   69                                  * set/change RL_TCR.
   70                                  */
   71 #define         RL_TCR_RES0     0x80000000 /* Reserved */
   72 #define         RL_TCR_HWVER_AM 0x7C000000 /* Hardware Version ID A */
   73 #define         RL_TCR_IFG_M    0x03000000 /* Interframe Gap Time */
   74 #define                 RL_TCR_IFG_STD          0x03000000 /* IEEE 802.3 std */
   75 #if 0
   76 #undef RL_TCR_IFG_STD
   77 #define                 RL_TCR_IFG_STD          0x00000000 
   78 #endif
   79 #define         RL_TCR_HWVER_BM 0x00C00000 /* Hardware Version ID B */
   80 #define                 RL_TCR_HWVER_RTL8139    0x60000000 /* RTL8139 */
   81 #define                 RL_TCR_HWVER_RTL8139A   0x70000000 /* RTL8139A */
   82 #define                 RL_TCR_HWVER_RTL8139AG  0x74000000 /* RTL8139A-G */
   83 #define                 RL_TCR_HWVER_RTL8139B   0x78000000 /* RTL8139B */
   84 #define                 RL_TCR_HWVER_RTL8130    0x78000000 /* RTL8130 (dup) */
   85 #define                 RL_TCR_HWVER_RTL8139C   0x74000000 /* RTL8139C (dup) */
   86 #define                 RL_TCR_HWVER_RTL8100    0x78800000 /* RTL8100 */
   87 #define                 RL_TCR_HWVER_RTL8100B   0x74400000 /* RTL8100B /
   88                                                                 RTL8139D */
   89 #define                 RL_TCR_HWVER_RTL8139CP  0x74800000 /* RTL8139C+ */
   90 #define                 RL_TCR_HWVER_RTL8101    0x74C00000 /* RTL8101 */
   91 #define         RL_TCR_RES1     0x00380000 /* Reserved */
   92 #define         RL_TCR_LBK_M    0x00060000 /* Loopback Test */
   93 #define                 RL_TCR_LBK_NORMAL       0x00000000 /* Normal */
   94 #define                 RL_TCR_LBK_LOOKBOCK     0x00060000 /* Loopback Mode */
   95 #define         RL_TCR_CRC      0x00010000 /* (Do not) Append CRC */
   96 #define         RL_TCR_RES2     0x0000F800 /* Reserved */
   97 #define         RL_TCR_MXDMA_M  0x00000700 /* Max DMA Burst Size Tx */
   98 #define                 RL_TCR_MXDMA_16         0x00000000 /* 16 bytes */
   99 #define                 RL_TCR_MXDMA_32         0x00000100 /* 32 bytes */
  100 #define                 RL_TCR_MXDMA_64         0x00000200 /* 64 bytes */
  101 #define                 RL_TCR_MXDMA_128        0x00000300 /* 128 bytes */
  102 #define                 RL_TCR_MXDMA_128        0x00000300 /* 128 bytes */
  103 #define                 RL_TCR_MXDMA_256        0x00000400 /* 256 bytes */
  104 #define                 RL_TCR_MXDMA_512        0x00000500 /* 512 bytes */
  105 #define                 RL_TCR_MXDMA_1024       0x00000600 /* 1024 bytes */
  106 #define                 RL_TCR_MXDMA_2048       0x00000700 /* 2048 bytes */
  107 #define         RL_TCR_TXRR_M   0x000000F0 /* Tx Retry Count */
  108 #define         RL_TCR_RES3     0x0000000E /* Reserved */
  109 #define         RL_TCR_CLRABT   0x00000001 /* Clear Abort */
  110 #define RL_RCR          0x44    /* Receive Configuration Register
  111                                  * Note: RL_CR_RE has to be set to
  112                                  * set/change RL_RCR.
  113                                  */
  114 #define         RL_RCR_RES0     0xF0000000 /& Reserved */
  115 #define         RL_RCR_ERTH_M   0x0F000000 /* Early Rx Threshold */
  116 #define                 RL_RCR_ERTH_0           0x00000000 /* No threshold */
  117 #define                 RL_RCR_ERTH_1           0x01000000 /* 1/16 */
  118 #define                 RL_RCR_ERTH_2           0x02000000 /* 2/16 */
  119 #define                 RL_RCR_ERTH_3           0x03000000 /* 3/16 */
  120 #define                 RL_RCR_ERTH_4           0x04000000 /* 4/16 */
  121 #define                 RL_RCR_ERTH_5           0x05000000 /* 5/16 */
  122 #define                 RL_RCR_ERTH_6           0x06000000 /* 6/16 */
  123 #define                 RL_RCR_ERTH_7           0x07000000 /* 7/16 */
  124 #define                 RL_RCR_ERTH_8           0x08000000 /* 8/16 */
  125 #define                 RL_RCR_ERTH_9           0x09000000 /* 9/16 */
  126 #define                 RL_RCR_ERTH_10          0x0A000000 /* 10/16 */
  127 #define                 RL_RCR_ERTH_11          0x0B000000 /* 11/16 */
  128 #define                 RL_RCR_ERTH_12          0x0C000000 /* 12/16 */
  129 #define                 RL_RCR_ERTH_13          0x0D000000 /* 13/16 */
  130 #define                 RL_RCR_ERTH_14          0x0E000000 /* 14/16 */
  131 #define                 RL_RCR_ERTH_15          0x0F000000 /* 15/16 */
  132 #define         RL_RCR_RES1     0x00FC0000 /* Reserved */
  133 #define         RL_RCR_MULERINT 0x00020000 /* Multiple Early Int Select */
  134 #define         RL_RCR_RER8     0x00010000 /* Receive small error packet */
  135 #define         RL_RCR_RXFTH_M  0x0000E000 /* Rx FIFO Threshold */
  136 #define                 RL_RCR_RXFTH_16         0x00000000 /* 16 bytes */
  137 #define                 RL_RCR_RXFTH_32         0x00002000 /* 32 bytes */
  138 #define                 RL_RCR_RXFTH_64         0x00004000 /* 64 bytes */
  139 #define                 RL_RCR_RXFTH_128        0x00006000 /* 128 bytes */
  140 #define                 RL_RCR_RXFTH_256        0x00008000 /* 256 bytes */
  141 #define                 RL_RCR_RXFTH_512        0x0000A000 /* 512 bytes */
  142 #define                 RL_RCR_RXFTH_1024       0x0000C000 /* 1024 bytes */
  143 #define                 RL_RCR_RXFTH_UNLIM      0x0000E000 /* unlimited */
  144 #define         RL_RCR_RBLEM_M  0x00001800 /* Rx Buffer Length */
  145 #define                 RL_RCR_RBLEN_8K         0x00000000 /* 8KB + 16 bytes */
  146 #define                 RL_RCR_RBLEN_8K_SIZE    (8*1024)
  147 #define                 RL_RCR_RBLEN_16K        0x00000800 /* 16KB + 16 bytes */
  148 #define                 RL_RCR_RBLEN_16K_SIZE   (16*1024)
  149 #define                 RL_RCR_RBLEN_32K        0x00001000 /* 32KB + 16 bytes */
  150 #define                 RL_RCR_RBLEN_32K_SIZE   (32*1024)
  151 #define                 RL_RCR_RBLEN_64K        0x00001800 /* 64KB + 16 bytes */
  152 #define                 RL_RCR_RBLEN_64K_SIZE   (64*1024)
  153                         /* Note: the documentation for the RTL8139C(L) or
  154                          * for the RTL8139D(L) claims that the buffer should
  155                          * be 16 bytes larger. Multiples of 8KB are the 
  156                          * correct values.
  157                          */
  158 #define         RL_RCR_MXDMA_M  0x00000700 /* Rx DMA burst size */
  159 #define                 RL_RCR_MXDMA_16         0x00000000 /* 16 bytes */
  160 #define                 RL_RCR_MXDMA_32         0x00000100 /* 32 bytes */
  161 #define                 RL_RCR_MXDMA_64         0x00000200 /* 64 bytes */
  162 #define                 RL_RCR_MXDMA_128        0x00000300 /* 128 bytes */
  163 #define                 RL_RCR_MXDMA_256        0x00000400 /* 256 bytes */
  164 #define                 RL_RCR_MXDMA_512        0x00000500 /* 512 bytes */
  165 #define                 RL_RCR_MXDMA_1024       0x00000600 /* 1024 bytes */
  166 #define                 RL_RCR_MXDMA_UNLIM      0x00000700 /* unlimited */
  167 #define         RL_RCR_WRAP     0x00000080 /* (Do not) Wrap on receive */
  168 #define         RL_RCR_RES2     0x00000040 /* EEPROM type? */
  169 #define         RL_RCR_AER      0x00000020 /* Accept Error Packets */
  170 #define         RL_RCR_AR       0x00000010 /* Accept Runt Packets */
  171 #define         RL_RCR_AB       0x00000008 /* Accept Broadcast Packets */
  172 #define         RL_RCR_AM       0x00000004 /* Accept Multicast Packets */
  173 #define         RL_RCR_APM      0x00000002 /* Accept Physical Match Packets */
  174 #define         RL_RCR_AAP      0x00000001 /* Accept All Packets */
  175 #define RL_MPC          0x4c    /* Missed Packet Counter */
  176 #define RL_9346CR       0x50    /* 93C46 Command Register */
  177 #define         RL_9346CR_EEM_M 0xC0    /* Operating Mode */
  178 #define                 RL_9346CR_EEM_NORMAL    0x00 /* Normal Mode */
  179 #define                 RL_9346CR_EEM_AUTOLOAD  0x40 /* Load from 93C46 */
  180 #define                 RL_9346CR_EEM_PROG      0x80 /* 93C46 Programming */
  181 #define                 RL_9346CR_EEM_CONFIG    0xC0 /* Config Write Enable */
  182 #define         RL_9346CR_RES   0x30    /* Reserved */
  183 #define         RL_9346CR_EECS  0x08    /* EECS Pin */
  184 #define         RL_9346CR_EESK  0x04    /* EESK Pin */
  185 #define         RL_9346CR_EEDI  0x02    /* EEDI Pin */
  186 #define         RL_9346CR_EEDO  0x01    /* EEDO Pin */
  187 #define RL_CONFIG0      0x51    /* Configuration Register 0 */
  188 #define RL_CONFIG1      0x52    /* Configuration Register 1 */
  189 #define RL_MSR          0x58    /* Media Status Register */
  190 #define         RL_MSR_TXFCE    0x80    /* Tx Flow Control Enable */
  191 #define         RL_MSR_RXFCE    0x40    /* Rx Flow Control Enable */
  192 #define         RL_MSR_RES      0x20    /* Reserved */
  193 #define         RL_MSR_AUXSTAT  0x10    /* Aux. Power Present */
  194 #define         RL_MSR_SPEED_10 0x08    /* In 10 Mbps mode */
  195 #define         RL_MSR_LINKB    0x04    /* link Failed */
  196 #define         RL_MSR_TXPF     0x02    /* Sent Pause Packet */
  197 #define         RL_MSR_RXPF     0x01    /* Received Pause Packet */
  198 #define RL_CONFIG3      0x59    /* Configuration Register 3 */
  199 #define RL_CONFIG4      0x5A    /* Configuration Register 4 */
  200 /*                      0x5B */ /* Reserved */
  201 #define RL_REVID        0x5E    /* PCI Revision ID */
  202 /*                      0x5F */ /* Reserved */
  203 #define RL_TSAD         0x60    /* Transmit Status of All Descriptors */
  204 #define         RL_TSAD_TOK3    0x8000  /* TOK bit of Descriptor 3 */
  205 #define         RL_TSAD_TOK2    0x4000  /* TOK bit of Descriptor 2 */
  206 #define         RL_TSAD_TOK1    0x2000  /* TOK bit of Descriptor 1 */
  207 #define         RL_TSAD_TOK0    0x1000  /* TOK bit of Descriptor 0 */
  208 #define         RL_TSAD_TUN3    0x0800  /* TUN bit of Descriptor 3 */
  209 #define         RL_TSAD_TUN2    0x0400  /* TUN bit of Descriptor 2 */
  210 #define         RL_TSAD_TUN1    0x0200  /* TUN bit of Descriptor 1 */
  211 #define         RL_TSAD_TUN0    0x0100  /* TUN bit of Descriptor 0 */
  212 #define         RL_TSAD_TABT3   0x0080  /* TABT bit of Descriptor 3 */
  213 #define         RL_TSAD_TABT2   0x0040  /* TABT bit of Descriptor 2 */
  214 #define         RL_TSAD_TABT1   0x0020  /* TABT bit of Descriptor 1 */
  215 #define         RL_TSAD_TABT0   0x0010  /* TABT bit of Descriptor 0 */
  216 #define         RL_TSAD_OWN3    0x0008  /* OWN bit of Descriptor 3 */
  217 #define         RL_TSAD_OWN2    0x0004  /* OWN bit of Descriptor 2 */
  218 #define         RL_TSAD_OWN1    0x0002  /* OWN bit of Descriptor 1 */
  219 #define         RL_TSAD_OWN0    0x0001  /* OWN bit of Descriptor 0 */
  220 #define RL_BMCR         0x62    /* Basic Mode Control Register (MII_CTRL) */
  221 #define RL_BMSR         0x64    /* Basic Mode Status Register (MII_STATUS) */
  222 #define RL_ANAR         0x66    /* Auto-Neg Advertisement Register (MII_ANA) */
  223 #define RL_ANLPAR       0x68    /* Auto-Neg Link Partner Register (MII_ANLPA) */
  224 #define RL_ANER         0x6a    /* Auto-Neg Expansion Register (MII_ANE) */
  225 #define RL_NWAYTR       0x70    /* N-way Test Register */
  226 #define RL_CSCR         0x74    /* CS Configuration Register */
  227 #define RL_CONFIG5      0xD8    /* Configuration Register 5 */
  228 
  229 /* Status word in receive buffer */
  230 #define RL_RXS_LEN_M    0xFFFF0000      /* Length Field, Excl. Status word */
  231 #define RL_RXS_LEN_S    16              /* Shift For Length */
  232 #define RL_RXS_MAR      0x00008000      /* Multicast Address Received */
  233 #define RL_RXS_PAR      0x00004000      /* Physical Address Matched */
  234 #define RL_RXS_BAR      0x00002000      /* Broadcast Address Received */
  235 #define RL_RXS_RES_M    0x00001FC0      /* Reserved */
  236 #define RL_RXS_ISE      0x00000020      /* Invalid Symbol Error */
  237 #define RL_RXS_RUNT     0x00000010      /* Runt Packet Received */
  238 #define RL_RXS_LONG     0x00000008      /* Long (>4KB) Packet */
  239 #define RL_RXS_CRC      0x00000004      /* CRC Error */
  240 #define RL_RXS_FAE      0x00000002      /* Frame Alignment Error */
  241 #define RL_RXS_ROK      0x00000001      /* Receive OK */
  242 
  243 /* Registers in the Machine Independent Interface (MII) to the PHY.
  244  * IEEE 802.3 (2000 Edition) Clause 22.
  245  */
  246 #define MII_CTRL        0x0     /* Control Register (basic) */
  247 #define         MII_CTRL_RST    0x8000  /* Reset PHY */
  248 #define         MII_CTRL_LB     0x4000  /* Enable Loopback Mode */
  249 #define         MII_CTRL_SP_LSB 0x2000  /* Speed Selection (LSB) */
  250 #define         MII_CTRL_ANE    0x1000  /* Auto Negotiation Enable */
  251 #define         MII_CTRL_PD     0x0800  /* Power Down */
  252 #define         MII_CTRL_ISO    0x0400  /* Isolate */
  253 #define         MII_CTRL_RAN    0x0200  /* Restart Auto-Negotiation Process */
  254 #define         MII_CTRL_DM     0x0100  /* Full Duplex */
  255 #define         MII_CTRL_CT     0x0080  /* Enable COL Signal Test */
  256 #define         MII_CTRL_SP_MSB 0x0040  /* Speed Selection (MSB) */
  257 #define                 MII_CTRL_SP_10          0x0000  /* 10 Mb/s */
  258 #define                 MII_CTRL_SP_100         0x2000  /* 100 Mb/s */
  259 #define                 MII_CTRL_SP_1000        0x0040  /* 1000 Mb/s */
  260 #define                 MII_CTRL_SP_RES         0x2040  /* Reserved */
  261 #define         MII_CTRL_RES    0x003F  /* Reserved */
  262 #define MII_STATUS      0x1     /* Status Register (basic) */
  263 #define         MII_STATUS_100T4        0x8000  /* 100Base-T4 support */
  264 #define         MII_STATUS_100XFD       0x4000  /* 100Base-X FD support */
  265 #define         MII_STATUS_100XHD       0x2000  /* 100Base-X HD support */
  266 #define         MII_STATUS_10FD         0x1000  /* 10 Mb/s FD support */
  267 #define         MII_STATUS_10HD         0x0800  /* 10 Mb/s HD support */
  268 #define         MII_STATUS_100T2FD      0x0400  /* 100Base-T2 FD support */
  269 #define         MII_STATUS_100T2HD      0x0200  /* 100Base-T2 HD support */
  270 #define         MII_STATUS_EXT_STAT     0x0100  /* Supports MII_EXT_STATUS */
  271 #define         MII_STATUS_RES          0x0080  /* Reserved */
  272 #define         MII_STATUS_MFPS         0x0040  /* MF Preamble Suppression */
  273 #define         MII_STATUS_ANC          0x0020  /* Auto-Negotiation Completed */
  274 #define         MII_STATUS_RF           0x0010  /* Remote Fault Detected */
  275 #define         MII_STATUS_ANA          0x0008  /* Auto-Negotiation Ability */
  276 #define         MII_STATUS_LS           0x0004  /* Link Up */
  277 #define         MII_STATUS_JD           0x0002  /* Jabber Condition Detected */
  278 #define         MII_STATUS_EC           0x0001  /* Ext Register Capabilities */
  279 #define MII_PHYID_H     0x2     /* PHY ID (high) */
  280 #define MII_PHYID_L     0x3     /* PHY ID (low) */
  281 #define MII_ANA         0x4     /* Auto-Negotiation Advertisement */
  282 #define         MII_ANA_NP      0x8000  /* Next PAge */
  283 #define         MII_ANA_RES     0x4000  /* Reserved */
  284 #define         MII_ANA_RF      0x2000  /* Remote Fault */
  285 #define         MII_ANA_TAF_M   0x1FE0   /* Technology Ability Field */
  286 #define         MII_ANA_TAF_S   5        /* Shift */
  287 #define                 MII_ANA_TAF_RES         0x1000  /* Reserved */
  288 #define                 MII_ANA_PAUSE_ASYM      0x0800  /* Asym. Pause */
  289 #define                 MII_ANA_PAUSE_SYM       0x0400  /* Sym. Pause */
  290 #define                 MII_ANA_100T4           0x0200  /* 100Base-T4 */
  291 #define                 MII_ANA_100TXFD         0x0100  /* 100Base-TX FD */
  292 #define                 MII_ANA_100TXHD         0x0080  /* 100Base-TX HD */
  293 #define                 MII_ANA_10TFD           0x0040  /* 10Base-T FD */
  294 #define                 MII_ANA_10THD           0x0020  /* 10Base-T HD */
  295 #define         MII_ANA_SEL_M   0x001F   /* Selector Field */
  296 #define                 MII_ANA_SEL_802_3 0x0001 /* 802.3 */
  297 #define MII_ANLPA       0x5     /* Auto-Neg Link Partner Ability Register */
  298 #define         MII_ANLPA_NP    0x8000  /* Next Page */
  299 #define         MII_ANLPA_ACK   0x4000  /* Acknowledge */
  300 #define         MII_ANLPA_RF    0x2000  /* Remote Fault */
  301 #define         MII_ANLPA_TAF_M 0x1FC0   /* Technology Ability Field */
  302 #define         MII_ANLPA_SEL_M 0x001F   /* Selector Field */
  303 #define MII_ANE         0x6     /* Auto-Negotiation Expansion */
  304 #define         MII_ANE_RES     0xFFE0  /* Reserved */
  305 #define         MII_ANE_PDF     0x0010  /* Parallel Detection Fault */
  306 #define         MII_ANE_LPNPA   0x0008  /* Link Partner is Next Page Able */
  307 #define         MII_ANE_NPA     0x0002  /* Local Device is Next Page Able */
  308 #define         MII_ANE_PR      0x0002  /* New Page has been received */
  309 #define         MII_ANE_LPANA   0x0001  /* Link Partner is Auto-Neg.able */
  310 #define MII_ANNPT       0x7     /* Auto-Negotiation Next Page Transmit */
  311 #define MII_ANLPRNP     0x8     /* Auto-Neg Link Partner Received Next Page */
  312 #define MII_MS_CTRL     0x9     /* MASTER-SLAVE Control Register */
  313 #define MII_MS_STATUS   0xA     /* MASTER-SLAVE Status Register */
  314 /* 0xB ... 0xE */               /* Reserved */
  315 #define MII_EXT_STATUS  0xF     /* Extended Status */
  316 #define         MII_ESTAT_1000XFD       0x8000  /* 1000Base-X Full Duplex */
  317 #define         MII_ESTAT_1000XHD       0x4000  /* 1000Base-X Half Duplex */
  318 #define         MII_ESTAT_1000TFD       0x2000  /* 1000Base-T Full Duplex */
  319 #define         MII_ESTAT_1000THD       0x1000  /* 1000Base-T Half Duplex */
  320 #define         MII_ESTAT_RES           0x0FFF  /* Reserved */
  321 /* 0x10 ... 0x1F */             /* Vendor Specific */
  322 
  323 #if 0
  324 34-35   R       ERBCR           Early Receive (Rx) Byte Count Register
  325 36      R       ERSR            Early Rx Status Register
  326         7-4                     reserved
  327         3       R       ERGood  Early Rx Good packet
  328         2       R       ERBad   Early Rx Bad packet
  329         1       R       EROVW   Early Rx OverWrite
  330         0       R       EROK    Early Rx OK
  331 51      R/W     CONFIG0         Configuration Register 0
  332         7       R       SCR     Scrambler Mode
  333         6       R       PCS     PCS Mode
  334         5       R       T10     10 Mbps Mode
  335         4-3     R       PL[1-0] Select 10 Mbps medium type
  336         2-0     R       BS[2-0] Select Boot ROM size
  337 52      R/W     CONFIG1         Configuration Register 1
  338         7-6     R/W     LEDS[1-0] LED PIN
  339         5       R/W     DVRLOAD Driver Load
  340         4       R/W     LWACT   LWAKE active mode
  341         3       R       MEMMAP  Memory Mapping
  342         2       R       IOMAP   I/O Mapping
  343         1       R/W     VPD     Set to enable Vital Product Data
  344         0       R/W     PMEn    Power Management Enable
  345 59      R/W     CONFIG3         Configuration Register 3
  346         7       R       GNTSel  Gnt Select
  347         6       R/W     PARM_En Parameter Enable
  348         5       R/W     Magic   Magic Packet
  349         4       R/W     LinkUp  Link Up
  350         3                       reserved
  351         2       R       CLKRUN_En CLKRUN Enable
  352         1                       reserved
  353         0       R       FBtBEn  Fast Back to Back Enable
  354 5a      R/W     CONFIG4         Configuration Register 4
  355         7       R/W     RxFIFOAutoClr Auto Clear the Rx FIFO on overflow
  356         6       R/W     AnaOff  Analog Power Off
  357         5       R/W     LongWF  Long Wake-up Frame
  358         4       R/W     LWPME   LANWAKE vs PMEB
  359         3                       reserved
  360         2       R/W     LWPTN   LWAKE pattern
  361         1                       reserved
  362         0       R/W     PBWakeup Pre-Boot Wakeup
  363 5c-5d   R/W     MULINT          Multiple Interrupt Select
  364         15-12                   reserved
  365         11-0    R/W     MISR[11-0] Multiple Interrupt Select
  366 68-69   R       ANLPAR          Auto-Negotiation Link Partnet Register
  367         15      R       NP      Next Page bit
  368         14      R       ACK     acknowledge received from link partner
  369         13      R/W     RF      received remote fault detection capability
  370         12-11                   reserved
  371         10      R       Pause   Flow control is supported
  372         9       R       T4      100Base-T4 is supported
  373         8       R/W     TXFD    100Base-TX full duplex is supported
  374         7       R/W     TX      100Base-TX is supported
  375         6       R/W     10FD    10Base-T full duplex is supported
  376         5       R/W     10      10Base-T is supported
  377         4-0     R/W     Selector Binary encoded selector
  378 6a-6b   R       ANER            Auto-Negotiation Expansion Register
  379         15-5                    reserved
  380         4       R       MLF     Multiple link fault occured
  381         3       R       LP_NP_ABLE Link partner supports Next Page
  382         2       R       NP_ABLE Local node is able to send add. Next Pages
  383         1       R       PAGE_RX Link Code Word Page received
  384         0       R       LP_NW_ABLE Link partner supports NWay auto-negotiation
  385 70-71   R/W     NWAYTR          N-way Test Register
  386         15-8                    reserved
  387         7       R/W     NWLPBK  NWay loopback mode
  388         6-4                     reserved
  389         3       R       ENNWLE  LED0 pin indicates linkpulse
  390         2       R       FLAGABD Auto-neg experienced ability detect state
  391         1       R       FLAGPDF Auto-neg exp. par. detection fault state
  392         0       R       FLAGLSC Auto-neg experienced link status check state
  393 74-75   R/W     CSCR            CS Configuration Register
  394         15      W       Testfun Auto-neg speeds up internal timer
  395         14-10                   reserved
  396         9       R/W     LD      Active low TPI link disable signal
  397         8       R/W     HEARTBEAT HEART BEAT enable
  398         7       R/W     JBEN    Enable jabber function
  399         6       R/W     F_LINK_100 Force 100 Mbps
  400         5       R/W     F_Conect Bypass disconnect function
  401         4                       reserved
  402         3       R       Con_status Connected link detected
  403         2       R/W     Con_status_En Configures LED1 to indicate conn. stat.
  404         1                       reserved
  405         0       R/W     PASS_SCR Bypass scramble
  406 76-77                           reserved
  407 78-7b   R/W     PHY1_PARM       PHY parameter 1
  408 7c-7f   R/W     TW_PARM         Twister parameter
  409 80      R/W     PHY2_PARM       PHY parameter 2
  410 81-83                           reserved
  411 84-8b   R/W     CRC[0-7]        Power Management CRC reg.[0-7] for frame[0-7]
  412 8c-cb   R/W     Wakeup[0-7]     Power Management wakeup frame[0-7] (64 bit)
  413 cc-d3   R/W     LSBCRC[0-7]     LSB of the mask byte of makeup frame[0-7]
  414 d4-d7                           reserved
  415 d8      R/W     Config5         Configuration register 5
  416         7                       reserved
  417         6       R/W     BWF     Broadcast Wakeup Frame
  418         5       R/W     MWF     Multicast Wakeup Frame
  419         4       R/W     UWF     Unicast Wakeup Frame
  420         3       R/W     FifoAddrPtr FIFO Address Pointer
  421         2       R/W     LDPS    Link Down Power Saving mode
  422         1       R/W     LANWake LANWake Signal
  423         0       R/W     PME_STS PME_Status bit
  424 d9-ff                           reserved
  425 #endif
  426 
  427 /*
  428  * $PchId: rtl8139.h,v 1.1 2003/09/05 10:58:50 philip Exp $
  429  */

Cache object: bcf440751b9f37a186197909c4221230


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.