root/dev/pcmcia/if_cnwreg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: if_cnwreg.h,v 1.2 2000/02/01 17:21:48 fgsch Exp $     */
    2 
    3 /*-
    4  * Copyright (c) 1998 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by Michael Eriksson.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  * 3. All advertising materials mentioning features or use of this software
   19  *    must display the following acknowledgement:
   20  *      This product includes software developed by the NetBSD
   21  *      Foundation, Inc. and its contributors.
   22  * 4. Neither the name of The NetBSD Foundation nor the names of its
   23  *    contributors may be used to endorse or promote products derived
   24  *    from this software without specific prior written permission.
   25  *
   26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   36  * POSSIBILITY OF SUCH DAMAGE.
   37  */
   38 
   39 
   40 /* I/O area */
   41 #define CNW_IO_SIZE             0x10
   42 
   43 /* I/O registers */
   44 #define CNW_REG_COR             0x0
   45 #    define CNW_COR_IENA                0x01    /* Interrupt enable */
   46 #    define CNW_COR_LVLREQ              0x40    /* Keep high */
   47 #define CNW_REG_CCSR            0x2
   48 #define CNW_REG_ASR             0x4
   49 #    define CNW_ASR_TXBA                0x01    /* Trasmit buffer available */
   50 #    define CNW_ASR_WOC                 0x08    /* Write Operation Complete */
   51 #    define CNW_ASR_TXDN                0x20    /* Transmit done */
   52 #    define CNW_ASR_RXERR               0x40    /* Receive error */
   53 #    define CNW_ASR_RXRDY               0x80    /* Packet received */ 
   54 #define CNW_REG_IOLOW           0x6
   55 #define CNW_REG_IOHI            0x7
   56 #define CNW_REG_IOCONTROL       0x8
   57 #define CNW_REG_IMR             0xa
   58 #    define CNW_IMR_IENA                0x02    /* Interrupt enable */
   59 #    define CNW_IMR_RFU1                0x10    /* RFU intr mask, keep high */
   60 #define CNW_REG_PMR             0xc
   61 #    define CNW_PMR_RESET               0x80
   62 #define CNW_REG_DATA            0xf
   63 
   64 
   65 /* Mapped memory */
   66 #define CNW_MEM_ADDR            0x20000
   67 #define CNW_MEM_SIZE            0x8000
   68 
   69 /* Extended I/O registers (memory mapped) */
   70 #define CNW_EREG_CB             0x100
   71 #define CNW_EREG_ASCC           0x114
   72 #define CNW_EREG_RSER           0x120
   73 #    define CNW_RSER_RXBIG              0x02
   74 #    define CNW_RSER_RXCRC              0x04
   75 #    define CNW_RSER_RXOVERRUN          0x08
   76 #    define CNW_RSER_RXOVERFLOW         0x10
   77 #    define CNW_RSER_RXERR              0x40
   78 #    define CNW_RSER_RXAVAIL            0x80
   79 #define CNW_EREG_RSERW          0x124
   80 #define CNW_EREG_TSER           0x130
   81 #    define CNW_TSER_RTRY               0x0f
   82 #    define CNW_TSER_TXERR              0x10
   83 #    define CNW_TSER_TXOK               0x20
   84 #    define CNW_TSER_TXNOAP             0x40
   85 #    define CNW_TSER_TXGU               0x80
   86 #    define CNW_TSER_ERROR              (CNW_TSER_TXERR | CNW_TSER_TXNOAP | \
   87                                          CNW_TSER_TXGU)
   88 #define CNW_EREG_TSERW          0x134
   89 #define CNW_EREG_TDP            0x140
   90 #define CNW_EREG_LIF            0x14e
   91 #define CNW_EREG_RDP            0x150
   92 #define CNW_EREG_SPCQ           0x154
   93 #define CNW_EREG_SPU            0x155
   94 #define CNW_EREG_ISPLQ          0x156
   95 #define CNW_EREG_HHC            0x158
   96 #define CNW_EREG_PA             0x160
   97 #define CNW_EREG_ARW            0x166
   98 #define CNW_EREG_MHS            0x16b
   99 #define CNW_EREG_NI             0x16e
  100 #define CNW_EREG_CRBP           0x17a
  101 #define CNW_EREG_EC             0x180
  102 #define CNW_EREG_STAT_RXERR     0x184
  103 #define CNW_EREG_STAT_FRAME     0x186
  104 #define CNW_EREG_STAT_IBEAT     0x188
  105 #define CNW_EREG_STAT_RXBUF     0x18e
  106 #define CNW_EREG_STAT_RXMULTI   0x190
  107 #define CNW_EREG_STAT_TXRETRY   0x192
  108 #define CNW_EREG_STAT_TXABORT   0x194
  109 #define CNW_EREG_STAT_OBEAT     0x198
  110 #define CNW_EREG_STAT_TXOK      0x19a
  111 #define CNW_EREG_STAT_TXSENT    0x19c
  112 
  113 /*
  114  * Commands used in the extended command buffer
  115  * CNW_EREG_CB (0x100-0x10f) 
  116  */
  117 #define CNW_CMD_NOP             0x00
  118 #define CNW_CMD_SRC             0x01
  119 #    define CNW_RXCONF_RXENA            0x80    /* Receive Enable */
  120 #    define CNW_RXCONF_MAC              0x20    /* MAC host receive mode */
  121 #    define CNW_RXCONF_PRO              0x10    /* Promiscuous */
  122 #    define CNW_RXCONF_AMP              0x08    /* Accept Multicast Packets */
  123 #    define CNW_RXCONF_BCAST            0x04    /* Accept Broadcast Packets */
  124 #define CNW_CMD_STC             0x02
  125 #    define CNW_TXCONF_TXENA            0x80    /* Transmit Enable */
  126 #    define CNW_TXCONF_MAC              0x20    /* Host sends MAC mode */
  127 #    define CNW_TXCONF_EUD              0x10    /* Enable Uni-Data packets */
  128 #    define CNW_TXCONF_KEY              0x02    /* Scramble data packets */
  129 #    define CNW_TXCONF_LOOP             0x01    /* Loopback mode */
  130 #define CNW_CMD_AMA             0x03
  131 #define CNW_CMD_DMA             0x04
  132 #define CNW_CMD_SAMA            0x05
  133 #define CNW_CMD_ER              0x06
  134 #define CNW_CMD_DR              0x07
  135 #define CNW_CMD_TL              0x08
  136 #define CNW_CMD_SRP             0x09
  137 #define CNW_CMD_SSK             0x0a
  138 #define CNW_CMD_SMD             0x0b
  139 #define CNW_CMD_SAPD            0x0c
  140 #define CNW_CMD_SSS             0x11
  141 #define CNW_CMD_EOC             0x00            /* End-of-command marker */
  142 

/* [<][>][^][v][top][bottom][index][help] */