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/dpeth/wd.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 **  File: wd.h
    3 **   
    4 **  Created:    before Dec 28, 1992 by Philip Homburg
    5 **  $PchId: wdeth.h,v 1.4 1995/12/22 08:36:57 philip Exp $
    6 **
    7 **  $Log: wd.h,v $
    8 **  Revision 1.2  2005/08/22 15:17:40  beng
    9 **  Remove double-blank lines (Al)
   10 **
   11 **  Revision 1.1  2005/06/29 10:16:46  beng
   12 **  Import of dpeth 3c501/3c509b/.. ethernet driver by
   13 **  Giovanni Falzoni <fgalzoni@inwind.it>.
   14 **
   15 **  Revision 2.0  2005/06/26 16:16:46  lsodgf0
   16 **  Initial revision for Minix 3.0.6
   17 **
   18 **  $Id: wd.h,v 1.2 2005/08/22 15:17:40 beng Exp $
   19 */
   20 
   21 #ifndef WDETH_H
   22 #define WDETH_H
   23 
   24 /* Western Digital Ethercard Plus, or WD8003E card. */
   25 
   26 #define EPL_REG0         0x0    /* Control(write) and status(read) */
   27 #define EPL_REG1         0x1
   28 #define EPL_REG2         0x2
   29 #define EPL_REG3         0x3
   30 #define EPL_REG4         0x4
   31 #define EPL_REG5         0x5
   32 #define EPL_REG6         0x6
   33 #define EPL_REG7         0x7
   34 #define EPL_EA0          0x8    /* Most significant eaddr byte */
   35 #define EPL_EA1          0x9
   36 #define EPL_EA2          0xA
   37 #define EPL_EA3          0xB
   38 #define EPL_EA4          0xC
   39 #define EPL_EA5          0xD    /* Least significant eaddr byte */
   40 #define EPL_TLB          0xE
   41 #define EPL_CHKSUM       0xF    /* sum from epl_ea0 upto here is 0xFF */
   42 #define EPL_DP8390      0x10    /* NatSemi chip */
   43 
   44 #define EPL_MSR         EPL_REG0/* memory select register */
   45 #define EPL_ICR         EPL_REG1/* interface configuration register */
   46 #define EPL_IRR         EPL_REG4/* interrupt request register (IRR) */
   47 #define EPL_790_HWR     EPL_REG4/* '790 hardware support register */
   48 #define EPL_LAAR        EPL_REG5/* LA address register (write only) */
   49 #define EPL_790_ICR     EPL_REG6/* '790 interrupt control register */
   50 #define EPL_GP2         EPL_REG7/* general purpose register 2 */
   51 #define EPL_790_B       EPL_EA3 /* '790 memory register */
   52 #define EPL_790_GCR     EPL_EA5 /* '790 General Control Register */
   53 
   54 /* Bits in EPL_MSR */
   55 #define E_MSR_MEMADDR   0x3F    /* Bits SA18-SA13, SA19 implicit 1 */
   56 #define E_MSR_MENABLE   0x40    /* Memory Enable */
   57 #define E_MSR_RESET     0x80    /* Software Reset */
   58 
   59 /* Bits in EPL_ICR */
   60 #define E_ICR_16BIT     0x01    /* 16 bit bus */
   61 #define E_ICR_IR2       0x04    /* bit 2 of encoded IRQ */
   62 #define E_ICR_MEMBIT    0x08    /* 583 mem size mask */
   63 
   64 /* Bits in EPL_IRR */
   65 #define E_IRR_IR0       0x20    /* bit 0 of encoded IRQ */
   66 #define E_IRR_IR1       0x40    /* bit 1 of encoded IRQ */
   67 #define E_IRR_IEN       0x80    /* enable interrupts */
   68 
   69 /* Bits in EPL_LAAR */
   70 #define E_LAAR_A19      0x01    /* address lines for above 1M ram */
   71 #define E_LAAR_A20      0x02    /* address lines for above 1M ram */
   72 #define E_LAAR_A21      0x04    /* address lines for above 1M ram */
   73 #define E_LAAR_A22      0x08    /* address lines for above 1M ram */
   74 #define E_LAAR_A23      0x10    /* address lines for above 1M ram */
   75 #define E_LAAR_SOFTINT  0x20    /* enable software interrupt */
   76 #define E_LAAR_LAN16E   0x40    /* enables 16 bit RAM for LAN */
   77 #define E_LAAR_MEM16E   0x80    /* enables 16 bit RAM for host */
   78 
   79 /* Bits and values in EPL_TLB */
   80 #define E_TLB_EB        0x05    /* WD8013EB */
   81 #define E_TLB_E         0x27    /* WD8013 Elite */
   82 #define E_TLB_SMCE      0x29    /* SMC Elite 16 */
   83 #define E_TLB_SMC8216C  0x2B    /* SMC 8216 C */
   84 
   85 #define E_TLB_REV       0x1F    /* revision mask */
   86 #define E_TLB_SOFT      0x20    /* soft config */
   87 #define E_TLB_RAM       0x40    /* extra ram bit */
   88 
   89 /* Bits in EPL_790_HWR */
   90 #define E_790_HWR_SWH   0x80    /* switch register set */
   91 
   92 /* Bits in EPL_790_ICR */
   93 #define E_790_ICR_EIL   0x01    /* enable interrupts */
   94 
   95 /* Bits in EPL_790_GCR when E_790_HWR_SWH is set in EPL_790_HWR */
   96 #define E_790_GCR_IR0   0x04    /* bit 0 of encoded IRQ */
   97 #define E_790_GCR_IR1   0x08    /* bit 1 of encoded IRQ */
   98 #define E_790_GCR_IR2   0x40    /* bit 2 of encoded IRQ */
   99 
  100 #define inb_we(dep, reg) (inb(dep->de_base_port+reg))
  101 #define outb_we(dep, reg, data) (outb(dep->de_base_port+reg, data))
  102 
  103 #endif                          /* WDETH_H */
  104 
  105 /** wd.h **/

Cache object: c81db2a445d49293f80c75ba18443de5


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