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/netif/fe/if_fereg.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  * Hardware specification of various 8696x based Ethernet cards.
    3  * Contributed by M. Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>
    4  *
    5  * All Rights Reserved, Copyright (C) Fujitsu Limited 1995
    6  *
    7  * This software may be used, modified, copied, distributed, and sold,
    8  * in both source and binary form provided that the above copyright,
    9  * these terms and the following disclaimer are retained.  The name of
   10  * the author and/or the contributor may not be used to endorse or
   11  * promote products derived from this software without specific prior
   12  * written permission.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND THE CONTRIBUTOR ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR THE CONTRIBUTOR BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  * $FreeBSD: src/sys/dev/fe/if_fereg.h,v 1.8.2.1 2000/09/22 10:01:47 nyan Exp $
   27  * $DragonFly: src/sys/dev/netif/fe/if_fereg.h,v 1.3 2005/02/21 18:40:36 joerg Exp $
   28  */
   29 
   30 /*
   31  * Registers on FMV-180 series' ISA bus interface ASIC.
   32  * I'm not sure the following register names are appropriate.
   33  * Doesn't it look silly, eh?  FIXME.
   34  */
   35 
   36 #define FE_FMV0         16      /* Card status register #0      */
   37 #define FE_FMV1         17      /* Card status register #1      */
   38 #define FE_FMV2         18      /* Card config register #0      */
   39 #define FE_FMV3         19      /* Card config register #1      */
   40 #define FE_FMV4         20      /* Station address #1           */
   41 #define FE_FMV5         21      /* Station address #2           */
   42 #define FE_FMV6         22      /* Station address #3           */
   43 #define FE_FMV7         23      /* Station address #4           */
   44 #define FE_FMV8         24      /* Station address #5           */
   45 #define FE_FMV9         25      /* Station address #6           */
   46 #define FE_FMV10        26      /* Buffer RAM control register  */
   47 #define FE_FMV11        27      /* Buffer RAM data register     */
   48 
   49 /*
   50  * FMV-180 series' ASIC register values.
   51  */
   52 
   53 /* FMV0: Card status register #0: Misc info?  */
   54 #define FE_FMV0_MEDIA   0x07    /* Supported physical media.    */
   55 #define FE_FMV0_PRRDY   0x10    /* ???                          */
   56 #define FE_FMV0_PRERR   0x20    /* ???                          */
   57 #define FE_FMV0_ERRDY   0x40    /* ???                          */
   58 #define FE_FMV0_IREQ    0x80    /* ???                          */
   59 
   60 #define FE_FMV0_MEDIUM_5        0x01    /* 10base5/Dsub         */
   61 #define FE_FMV0_MEDIUM_2        0x02    /* 10base2/BNC          */
   62 #define FE_FMV0_MEDIUM_T        0x04    /* 10baseT/RJ45         */
   63 
   64 /* Card status register #1: Hardware revision.  */
   65 #define FE_FMV1_REV     0x0F    /* Card revision                */
   66 #define FE_FMV1_UPPER   0xF0    /* Usage unknown                */
   67 
   68 /* Card config register #0: I/O port address assignment.  */
   69 #define FE_FMV2_IOS     0x07    /* I/O selection.               */
   70 #define FE_FMV2_MES     0x38    /* ??? boot ROM?                */
   71 #define FE_FMV2_IRS     0xC0    /* IRQ selection.               */
   72 
   73 #define FE_FMV2_IOS_SHIFT       0
   74 #define FE_FMV2_MES_SHIFT       3
   75 #define FE_FMV2_IRS_SHIFT       6
   76 
   77 /* Card config register #1: IRQ enable  */
   78 #define FE_FMV3_IRQENB  0x80    /* IRQ enable.                  */
   79 
   80 
   81 /*
   82  * Register(?) specific to AT1700/RE2000.
   83  */
   84 
   85 #define FE_ATI_RESET    0x1F    /* Write to reset the 86965.    */
   86 
   87 /* EEPROM allocation (offsets) of AT1700/RE2000.  */
   88 #define FE_ATI_EEP_ADDR         0x08    /* Station address.  (8-13)     */
   89 #define FE_ATI_EEP_MEDIA        0x18    /* Media type.                  */
   90 #define FE_ATI_EEP_MAGIC        0x19    /* XXX Magic.                   */
   91 #define FE_ATI_EEP_MODEL        0x1e    /* Hardware type.               */
   92 #define FE_ATI_EEP_REVISION     0x1f    /* Hardware revision.           */
   93 
   94 /* Value for FE_ATI_EEP_MODEL.  */
   95 #define FE_ATI_MODEL_AT1700T    0x00
   96 #define FE_ATI_MODEL_AT1700BT   0x01
   97 #define FE_ATI_MODEL_AT1700FT   0x02
   98 #define FE_ATI_MODEL_AT1700AT   0x03
   99 
  100 
  101 /*
  102  * Registers on MBH10302.
  103  */
  104 
  105 #define FE_MBH0         0x10    /* ???  Including interrupt.    */
  106 #define FE_MBH1         0x11    /* ???                          */
  107 #define FE_MBH10        0x1A    /* Station address.  (10 - 15)  */
  108 
  109 /* Values to be set in MBH0 register.  */
  110 #define FE_MBH0_MAGIC   0x0D    /* Just a magic constant?       */
  111 #define FE_MBH0_INTR    0x10    /* Master interrupt control.    */
  112 
  113 #define FE_MBH0_INTR_ENABLE     0x10    /* Enable interrupts.   */
  114 #define FE_MBH0_INTR_DISABLE    0x00    /* Disable interrupts.  */
  115 
  116 
  117 /*
  118  * Registers on RE1000.  (*NOT* on RE1000 Plus.)
  119  */
  120 
  121 /* IRQ configuration.  */
  122 #define FE_RE1000_IRQCONF       0x10
  123 
  124 
  125 /*
  126  * Fujitsu MB86965 JLI mode support routines.
  127  */
  128 
  129 /* Datasheet for 86965 explicitly states that it only supports serial
  130  * EEPROM with 16 words (32 bytes) capacity.  (I.e., 93C06.)  However,
  131  * ones with 64 words (128 bytes) are available in the marked, namely
  132  * 93C46, and are also fully compatible with 86965.  It is known that
  133  * some boards (e.g., ICL) actually have 93C46 on them and use extra
  134  * storage to keep various config info.  */
  135 #define JLI_EEPROM_SIZE 128
  136 
  137 
  138 /*
  139  * SSi 78Q8377A support routines.
  140  */
  141 #define SSI_EEPROM_SIZE 512
  142 #define SSI_DIN 0x01
  143 #define SSI_DAT 0x01
  144 #define SSI_CSL 0x02
  145 #define SSI_CLK 0x04
  146 #define SSI_EEP 0x10
  147 
  148 #define FE_SSI_EEP_IRQ          9       /* Irq ???              */
  149 #define FE_SSI_EEP_ADDR         16      /* Station(MAC) address */
  150 #define FE_SSI_EEP_DUPLEX       25      /* Duplex mode ???      */
  151 
  152 
  153 /*
  154  * TDK/LANX boards support routines.
  155  */
  156 
  157 /* AX012/AX013 equips an X24C01 chip, which has 128 bytes of memory cells.  */
  158 #define LNX_EEPROM_SIZE 128
  159 
  160 /* Bit assignments and command definitions for the serial EEPROM
  161    interface register in LANX ASIC.  */
  162 #define LNX_SDA_HI      0x08    /* Drive SDA line high (logical 1.)     */
  163 #define LNX_SDA_LO      0x00    /* Drive SDA line low (logical 0.)      */
  164 #define LNX_SDA_FL      0x08    /* Float (don't drive) SDA line.        */
  165 #define LNX_SDA_IN      0x01    /* Mask for reading SDA line.           */
  166 #define LNX_CLK_HI      0x04    /* Drive clock line high (active.)      */
  167 #define LNX_CLK_LO      0x00    /* Drive clock line low (inactive.)     */

Cache object: f2773a432ecbf1e6cc6b0f140e7efbfe


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