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/mb86950reg.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: mb86950reg.h,v 1.3 2005/12/11 12:21:27 christos Exp $  */
    2 
    3 /*
    4  * Copyright (c) 1995 Mika Kortelainen
    5  * All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  * 3. All advertising materials mentioning features or use of this software
   16  *    must display the following acknowledgement:
   17  *      This product includes software developed by  Mika Kortelainen
   18  * 4. The name of the author may not be used to endorse or promote products
   19  *    derived from this software without specific prior written permission
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   31  */
   32 
   33 /*
   34  * Adapted from if_qnreg.h for the amiga port of NetBSD by Dave J. Barnes, 2004.
   35  */
   36 
   37 /*
   38  * The Fujitsu mb86950, "EtherStar", is the predecessor to the mb8696x
   39  * NICE supported by the ate driver.  While similar in function and
   40  * programming to the mb8696x, the register offset differences and
   41  * quirks make it nearly impossible to have one driver for both the
   42  * EtherStar and NICE chips.
   43  *
   44  *  Definitions from Fujitsu documentation.
   45  */
   46 
   47 #define ESTAR_DLCR0             0 /* Transmit status */
   48 #define DLCR_TX_STAT    ESTAR_DLCR0
   49 
   50 #define ESTAR_DLCR1             1 /* Transmit masks  */
   51 #define DLCR_TX_INT_EN  ESTAR_DLCR1
   52 
   53 /* DLCR0/1 - Transmit Status & Masks */
   54 #define TX_DONE                 0x80 /* Transmit okay         */
   55 /* bit 6 - Net Busy, carrier sense ? */
   56 /* bit 5 - Transmit packet received ? */
   57 #define TX_CR_LOST              0x10 /* Carrier lost while attempting to transmit */
   58 #define TX_UNDERFLO             0x08 /* fifo underflow */
   59 #define TX_COL                  0x04 /* Collision             */
   60 #define TX_16COL                0x02 /* 16 collision          */
   61 #define TX_BUS_WR_ERR   0x01 /* Bus write error, fifo overflo */
   62 #define CLEAR_TX_ERR    (TX_UNDERFLO | TX_COL | TX_16COL | TX_BUS_WR_ERR) /* Clear transmit errors */
   63 #define TX_MASK         (TX_DONE | TX_16COL)
   64 
   65 #define ESTAR_DLCR2             2 /* Receive status  */
   66 #define DLCR_RX_STAT    ESTAR_DLCR2
   67 
   68 #define ESTAR_DLCR3             3 /* Receive masks   */
   69 #define DLCR_RX_INT_EN  ESTAR_DLCR3
   70 
   71 /* DLCR2/3 - Receive Status & Masks */
   72 #define RX_PKT                  0x80 /* Packet ready          */
   73 #define RX_BUS_RD_ERR   0x40 /* fifo underflow, harmless, normally masked off */
   74 /* bit 5 - DMA end of process ? */
   75 /* bit 4 - remote control packet rx ? */
   76 #define RX_SHORT_ERR    0x08 /* Short packet          */
   77 #define RX_ALIGN_ERR    0x04 /* Alignment error       */
   78 #define RX_CRC_ERR              0x02 /* CRC error             */
   79 #define RX_OVERFLO              0x01 /* Receive buf overflow  */
   80 #define CLEAR_RX_ERR    RX_MASK /* Clear receive and errors  */
   81 #define RX_MASK                 (RX_PKT | RX_SHORT_ERR | RX_ALIGN_ERR | RX_CRC_ERR | RX_OVERFLO | RX_BUS_RD_ERR)
   82 #define RX_ERR_MASK     (RX_SHORT_ERR | RX_ALIGN_ERR | RX_CRC_ERR | RX_OVERFLO | RX_BUS_RD_ERR)
   83 
   84 #define ESTAR_DLCR4             4 /* Transmit mode   */
   85 #define DLCR_TX_MODE    ESTAR_DLCR4
   86 
   87 /* DLCR4 - Transmit Mode */
   88 /* bits 7, 6, 5, 4 - collision count ? */
   89 #define COL_MASK                0xf0
   90 /* bit 3 - nc */
   91 /* bit 2 - gen output ? */
   92 #define LBC                             0x02 /* Loopback control      */
   93 /* bit 0 - defer ?, normally 0 */
   94 
   95 #define ESTAR_DLCR5             5 /* Receive mode    */
   96 #define DLCR_RX_MODE    ESTAR_DLCR5
   97 
   98 /* DLCR5 - Receive Mode */
   99 /* Normal mode: accept physical address, broadcast address.
  100  */
  101 /* bit 7 - Disable CRC test mode */
  102 #define RX_BUF_EMTY             0x40 /* Buffer empty          */
  103 /* bit 5 - accept packet with errors or nc ?, normally set to 0 */
  104 /* bit 4 - 40 bit address ?, normally set to 0 */
  105 /* bit 3 - accept runts ?, normally set to 0 */
  106 /* bit 2 - remote reset ? normally set to 0 */
  107 /* bit 1 & 0 - address filter mode */
  108 
  109 /*  00 = reject */
  110 /*  01 = normal mode */
  111 #define NORMAL_MODE             0x01
  112 /*  10 = ? */
  113 /*  11 = promiscuous mode */
  114 #define PROMISCUOUS_MODE        0x03 /* Accept all packets    */
  115 
  116 #define ESTAR_DLCR6             6 /* Software reset  */
  117 #define DLCR_CONFIG             ESTAR_DLCR6
  118 
  119 /* DLCR6 - Enable Data Link Controller */
  120 #define DISABLE_DLC             0x80 /* Disable data link controller */
  121 #define ENABLE_DLC              0x00 /* Enable data link controller  */
  122 
  123 #define ESTAR_DLCR7             7 /* TDR (LSB)       */
  124 
  125 #define ESTAR_DLCR8             8 /* Node ID0        */
  126 #define DLCR_NODE_ID    ESTAR_DLCR8
  127 
  128 #define ESTAR_DLCR9             9 /* Node ID1        */
  129 #define ESTAR_DLCR10    10 /* Node ID2        */
  130 #define ESTAR_DLCR11    11 /* Node ID3        */
  131 #define ESTAR_DLCR12    12 /* Node ID4        */
  132 #define ESTAR_DLCR13    13 /* Node ID5        */
  133 
  134 #define ESTAR_DLCR15    15 /* TDR (MSB)       */
  135 
  136 /* The next three are usually accessed as words */
  137 #define ESTAR_BMPR0             16 /* Buffer memory port (FIFO) */
  138 #define BMPR_FIFO               ESTAR_BMPR0
  139 
  140 #define ESTAR_BMPR2             18 /* Packet length   */
  141 #define BMPR_TX_LENGTH  ESTAR_BMPR2
  142 /* BMPR2:BMPR3 - Packet Length Registers (Write-only) */
  143 #define TRANSMIT_START  0x8000
  144 
  145 #define ESTAR_BMPR4             20 /* DMA enable      */
  146 #define BMPR_DMA                ESTAR_BMPR4

Cache object: bee52b2c6849277b7855765c0aa7587f


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