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/dev/ic/seeq8003reg.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 /*      $NetBSD: seeq8003reg.h,v 1.3 2001/06/07 05:19:26 thorpej Exp $  */
    2 
    3 /*
    4  * Copyright (c) 2000 Soren S. Jorvang.  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 
   28 /*
   29  * Register definitions for the Seeq 8003 and 80C03 ethernet controllers
   30  *
   31  * Based on documentation available at
   32  * http://www.lsilogic.com/techlib/techdocs/networking/eol/80c03.pdf .
   33  */
   34 
   35 #define SEEQ_ADDR0      0               /* Station Address Byte 0 */
   36 #define SEEQ_ADDR1      1               /* Station Address Byte 1 */
   37 #define SEEQ_ADDR2      2               /* Station Address Byte 2 */
   38 #define SEEQ_ADDR3      3               /* Station Address Byte 3 */
   39 #define SEEQ_ADDR4      4               /* Station Address Byte 4 */
   40 #define SEEQ_ADDR5      5               /* Station Address Byte 5 */
   41 
   42 #define SEEQ_TXCOLLS0   0               /* Transmit Collision Counter LSB */
   43 #define SEEQ_TXCOLLS1   1               /* Transmit Collision Counter MSB */
   44 #define SEEQ_ALLCOLL0   2               /* Total Collision Counter LSB */
   45 #define SEEQ_ALLCOLL1   3               /* Total Collision Counter MSB */
   46 
   47 #define SEEQ_TEST       4               /* "For Test Only" - Do Not Use */
   48 
   49 #define SEEQ_SQE        5               /* SQE / No Carrier */
   50 #define SQE_FLAG        0x01            /* SQE Flag */
   51 #define SQE_NOCARR      0x02            /* No Carrier Flag */
   52 
   53 #define SEEQ_RXCMD      6               /* Rx Command */
   54 #define RXCMD_IE_OFLOW  0x01            /* Interrupt on Overflow Error */
   55 #define RXCMD_IE_CRC    0x02            /* Interrupt on CRC Error */
   56 #define RXCMD_IE_DRIB   0x04            /* Interrupt on Dribble Error */
   57 #define RXCMD_IE_SHORT  0x08            /* Interrupt on Short Frame */
   58 #define RXCMD_IE_END    0x10            /* Interrupt on End of Frame */
   59 #define RXCMD_IE_GOOD   0x20            /* Interrupt on Good Frame */
   60 #define RXCMD_REC_MASK  0xc0            /* Receiver Match Mode Mask */
   61 #define RXCMD_REC_NONE  0x00            /* Receiver Disabled */
   62 #define RXCMD_REC_ALL   0x40            /* Receive All Frames */
   63 #define RXCMD_REC_BROAD 0x80            /* Receive Station/Broadcast Frames */
   64 #define RXCMD_REC_MULTI 0xc0            /* Station/Broadcast/Multicast */
   65 
   66 #define SEEQ_RXSTAT     6               /* Rx Status */
   67 #define RXSTAT_OFLOW    0x01            /* Frame Overflow Error */
   68 #define RXSTAT_CRC      0x02            /* Frame CRC Error */
   69 #define RXSTAT_DRIB     0x04            /* Frame Dribble Error */
   70 #define RXSTAT_SHORT    0x08            /* Received Short Frame */
   71 #define RXSTAT_END      0x10            /* Received End of Frame */
   72 #define RXSTAT_GOOD     0x20            /* Received Good Frame */
   73 #define RXSTAT_OLDNEW   0x80            /* Old/New Status */
   74 
   75 #define SEEQ_TXCMD      7               /* Tx Command */
   76 #define TXCMD_IE_UFLOW  0x01            /* Interrupt on Transmit Underflow */
   77 #define TXCMD_IE_COLL   0x02            /* Interrupt on Transmit Collision */
   78 #define TXCMD_IE_16COLL 0x04            /* Interrupt on 16 Collisions */
   79 #define TXCMD_IE_GOOD   0x08            /* Interrupt on Transmit Succes */
   80 #define TXCMD_ENABLE_C  0xf0            /* (80C03) Enable 80C03 Mode */
   81 #define TXCMD_BANK_MASK 0x60            /* (80C03) Register Bank Mask */
   82 #define TXCMD_BANK0     0x00            /* (80C03) Register Bank 0 (8003) */
   83 #define TXCMD_BANK1     0x20            /* (80C03) Register Bank 1 (Writes) */
   84 #define TXCMD_BANK2     0x40            /* (80C03) Register Bank 2 (Writes) */
   85 
   86 #define SEEQ_TXSTAT     7               /* Tx Status */
   87 #define TXSTAT_UFLOW    0x01            /* Transmit Underflow */
   88 #define TXSTAT_COLL     0x02            /* Transmit Collision */
   89 #define TXSTAT_16COLL   0x04            /* 16 Collisions */
   90 #define TXSTAT_GOOD     0x08            /* Transmit Success */
   91 #define TXSTAT_OLDNEW   0x80            /* Old/New Status */
   92 
   93 /*
   94  * 80C03 Mode Register Bank 1
   95  */
   96 
   97 #define SEEQ_MC_HASH0   0               /* Multicast Filter Byte 0 (LSB) */
   98 #define SEEQ_MC_HASH1   1               /* Multicast Filter Byte 1 */
   99 #define SEEQ_MC_HASH2   2               /* Multicast Filter Byte 2 */
  100 #define SEEQ_MC_HASH3   3               /* Multicast Filter Byte 3 */
  101 #define SEEQ_MC_HASH4   4               /* Multicast Filter Byte 4 */
  102 #define SEEQ_MC_HASH5   5               /* Multicast Filter Byte 5 */
  103 
  104 /*
  105  * 80C03 Mode Register Bank 2
  106  */
  107 
  108 #define SEEQ_MC_HASH6   0               /* Multicast Filter Byte 6 */
  109 #define SEEQ_MC_HASH7   1               /* Multicast Filter Byte 7 (MSB) */
  110 
  111 #define SEEQ_RESERVED0  2               /* Reserved (Set to All Zeroes) */
  112 
  113 #define SEEQ_TXCTRL     3               /* Tx Control */
  114 #define TXCTRL_TXCOLL   0x01            /* Clear/Enable Tx Collision Counter */
  115 #define TXCTRL_COLL     0x02            /* Clear/Enable Collision Counter */
  116 #define TXCTRL_SQE      0x04            /* Clear/Enable SQE Flag */
  117 #define TXCTRL_HASH     0x08            /* Enable Multicast Hash Filter */
  118 #define TXCTRL_SHORT    0x10            /* Receive Short (<13 Bytes) Frames */
  119 #define TXCTRL_NOCARR   0x20            /* Clear/Enable No Carrier Flag */
  120 
  121 #define SEEQ_CFG        4               /* Transmit/Receive Configuration */
  122 #define CFG_RX_GRPADDR  0x01            /* Ignore Last 4 Bits of Address */
  123 #define CFG_TX_AUTOPAD  0x02            /* Automatically Pad to 60 Bytes */
  124 #define CFG_TX_NOPRE    0x04            /* Do Not Add Preamble Pattern */
  125 #define CFG_RX_NOOWN    0x08            /* Do Not Receive Own Packets */
  126 #define CFG_TX_NOCRC    0x10            /* No Not Append CRC */
  127 #define CFG_TX_DUPLEX   0x20            /* AutoDUPLEX - Ignore Carrier */
  128 #define CFG_RX_CRCFIFO  0x40            /* Write CRC to FIFO */
  129 #define CFG_RX_FASTDISC 0x80            /* Fast Receive Discard Mode */
  130 
  131 #define SEEQ_RESERVED1  5               /* Reserved */
  132 #define SEEQ_RESERVED2  6               /* Reserved */
  133 #define SEEQ_RESERVED3  7               /* Reserved */

Cache object: 03eefb85db39ddd0bb758bb43b196d69


[ 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.