Annotation of Gnu-Mach/linux/src/drivers/net/depca.h, revision 1.1

1.1     ! root        1: /*
        !             2:     Written 1994 by David C. Davies.
        !             3: 
        !             4:     Copyright 1994 David C. Davies. This software may be used and distributed
        !             5:     according to the terms of the GNU Public License, incorporated herein by
        !             6:     reference.
        !             7: */
        !             8: 
        !             9: /*
        !            10: ** I/O addresses. Note that the 2k buffer option is not supported in
        !            11: ** this driver.
        !            12: */
        !            13: #define DEPCA_NICSR ioaddr+0x00   /* Network interface CSR */
        !            14: #define DEPCA_RBI   ioaddr+0x02   /* RAM buffer index (2k buffer mode) */
        !            15: #define DEPCA_DATA  ioaddr+0x04   /* LANCE registers' data port */
        !            16: #define DEPCA_ADDR  ioaddr+0x06   /* LANCE registers' address port */
        !            17: #define DEPCA_HBASE ioaddr+0x08   /* EISA high memory base address reg. */
        !            18: #define DEPCA_PROM  ioaddr+0x0c   /* Ethernet address ROM data port */
        !            19: #define DEPCA_CNFG  ioaddr+0x0c   /* EISA Configuration port */
        !            20: #define DEPCA_RBSA  ioaddr+0x0e   /* RAM buffer starting address (2k buff.) */
        !            21: 
        !            22: /*
        !            23: ** These are LANCE registers addressable through DEPCA_ADDR 
        !            24: */
        !            25: #define CSR0       0
        !            26: #define CSR1       1
        !            27: #define CSR2       2
        !            28: #define CSR3       3
        !            29: 
        !            30: /* 
        !            31: ** NETWORK INTERFACE CSR (NI_CSR) bit definitions 
        !            32: */
        !            33:  
        !            34: #define TO             0x0100  /* Time Out for remote boot */
        !            35: #define SHE            0x0080  /* SHadow memory Enable */
        !            36: #define BS             0x0040  /* Bank Select */
        !            37: #define BUF            0x0020  /* BUFfer size (1->32k, 0->64k) */
        !            38: #define RBE            0x0010  /* Remote Boot Enable (1->net boot) */
        !            39: #define AAC            0x0008  /* Address ROM Address Counter (1->enable) */
        !            40: #define _128KB         0x0008  /* 128kB Network RAM (1->enable) */
        !            41: #define IM             0x0004  /* Interrupt Mask (1->mask) */
        !            42: #define IEN            0x0002  /* Interrupt tristate ENable (1->enable) */
        !            43: #define LED            0x0001  /* LED control */
        !            44: 
        !            45: /* 
        !            46: ** Control and Status Register 0 (CSR0) bit definitions 
        !            47: */
        !            48: 
        !            49: #define ERR            0x8000  /* Error summary */
        !            50: #define BABL           0x4000  /* Babble transmitter timeout error  */
        !            51: #define CERR           0x2000  /* Collision Error */
        !            52: #define MISS           0x1000  /* Missed packet */
        !            53: #define MERR           0x0800  /* Memory Error */
        !            54: #define RINT           0x0400  /* Receiver Interrupt */
        !            55: #define TINT           0x0200  /* Transmit Interrupt */
        !            56: #define IDON           0x0100  /* Initialization Done */
        !            57: #define INTR           0x0080  /* Interrupt Flag */
        !            58: #define INEA           0x0040  /* Interrupt Enable */
        !            59: #define RXON           0x0020  /* Receiver on */
        !            60: #define TXON           0x0010  /* Transmitter on */
        !            61: #define TDMD           0x0008  /* Transmit Demand */
        !            62: #define STOP           0x0004  /* Stop */
        !            63: #define STRT           0x0002  /* Start */
        !            64: #define INIT           0x0001  /* Initialize */
        !            65: #define INTM            0xff00  /* Interrupt Mask */
        !            66: #define INTE            0xfff0  /* Interrupt Enable */
        !            67: 
        !            68: /*
        !            69: ** CONTROL AND STATUS REGISTER 3 (CSR3)
        !            70: */
        !            71: 
        !            72: #define BSWP           0x0004  /* Byte SWaP */
        !            73: #define ACON           0x0002  /* ALE control */
        !            74: #define BCON           0x0001  /* Byte CONtrol */
        !            75: 
        !            76: /*
        !            77: ** Initialization Block Mode Register 
        !            78: */
        !            79: 
        !            80: #define PROM           0x8000  /* Promiscuous Mode */
        !            81: #define EMBA           0x0080  /* Enable Modified Back-off Algorithm */
        !            82: #define INTL           0x0040  /* Internal Loopback */
        !            83: #define DRTY           0x0020  /* Disable Retry */
        !            84: #define COLL           0x0010  /* Force Collision */
        !            85: #define DTCR           0x0008  /* Disable Transmit CRC */
        !            86: #define LOOP           0x0004  /* Loopback */
        !            87: #define DTX            0x0002  /* Disable the Transmitter */
        !            88: #define DRX            0x0001  /* Disable the Receiver */
        !            89: 
        !            90: /*
        !            91: ** Receive Message Descriptor 1 (RMD1) bit definitions. 
        !            92: */
        !            93: 
        !            94: #define R_OWN       0x80000000         /* Owner bit 0 = host, 1 = lance */
        !            95: #define R_ERR          0x4000  /* Error Summary */
        !            96: #define R_FRAM         0x2000  /* Framing Error */
        !            97: #define R_OFLO         0x1000  /* Overflow Error */
        !            98: #define R_CRC          0x0800  /* CRC Error */
        !            99: #define R_BUFF         0x0400  /* Buffer Error */
        !           100: #define R_STP          0x0200  /* Start of Packet */
        !           101: #define R_ENP          0x0100  /* End of Packet */
        !           102: 
        !           103: /*
        !           104: ** Transmit Message Descriptor 1 (TMD1) bit definitions. 
        !           105: */
        !           106: 
        !           107: #define T_OWN       0x80000000         /* Owner bit 0 = host, 1 = lance */
        !           108: #define T_ERR          0x4000  /* Error Summary */
        !           109: #define T_ADD_FCS      0x2000  /* More the 1 retry needed to Xmit */
        !           110: #define T_MORE         0x1000  /* >1 retry to transmit packet */
        !           111: #define T_ONE          0x0800  /* 1 try needed to transmit the packet */
        !           112: #define T_DEF          0x0400  /* Deferred */
        !           113: #define T_STP       0x02000000         /* Start of Packet */
        !           114: #define T_ENP       0x01000000 /* End of Packet */
        !           115: #define T_FLAGS     0xff000000  /* TX Flags Field */
        !           116: 
        !           117: /*
        !           118: ** Transmit Message Descriptor 3 (TMD3) bit definitions.
        !           119: */
        !           120: 
        !           121: #define TMD3_BUFF    0x8000    /* BUFFer error */
        !           122: #define TMD3_UFLO    0x4000    /* UnderFLOw error */
        !           123: #define TMD3_RES     0x2000    /* REServed */
        !           124: #define TMD3_LCOL    0x1000    /* Late COLlision */
        !           125: #define TMD3_LCAR    0x0800    /* Loss of CARrier */
        !           126: #define TMD3_RTRY    0x0400    /* ReTRY error */
        !           127: 
        !           128: /* 
        !           129: ** EISA configuration Register (CNFG) bit definitions 
        !           130: */
        !           131:  
        !           132: #define TIMEOUT        0x0100  /* 0:2.5 mins, 1: 30 secs */
        !           133: #define REMOTE         0x0080  /* Remote Boot Enable -> 1 */
        !           134: #define IRQ11          0x0040  /* Enable -> 1 */
        !           135: #define IRQ10          0x0020  /* Enable -> 1 */
        !           136: #define IRQ9           0x0010  /* Enable -> 1 */
        !           137: #define IRQ5           0x0008  /* Enable -> 1 */
        !           138: #define BUFF           0x0004  /* 0: 64kB or 128kB, 1: 32kB */
        !           139: #define PADR16         0x0002  /* RAM on 64kB boundary */
        !           140: #define PADR17         0x0001  /* RAM on 128kB boundary */
        !           141: 
        !           142: /*
        !           143: ** Miscellaneous
        !           144: */
        !           145: #define HASH_TABLE_LEN   64           /* Bits */
        !           146: #define HASH_BITS        0x003f       /* 6 LS bits */
        !           147: 
        !           148: #define MASK_INTERRUPTS   1
        !           149: #define UNMASK_INTERRUPTS 0
        !           150: 
        !           151: #define EISA_EN         0x0001        /* Enable EISA bus buffers */
        !           152: #define EISA_ID         iobase+0x0080 /* ID long word for EISA card */
        !           153: #define EISA_CTRL       iobase+0x0084 /* Control word for EISA card */
        !           154: 
        !           155: /*
        !           156: ** Include the IOCTL stuff
        !           157: */
        !           158: #include <linux/sockios.h>
        !           159: 
        !           160: #define        DEPCAIOCTL      SIOCDEVPRIVATE
        !           161: 
        !           162: struct depca_ioctl {
        !           163:        unsigned short cmd;                /* Command to run */
        !           164:        unsigned short len;                /* Length of the data buffer */
        !           165:        unsigned char  *data;              /* Pointer to the data buffer */
        !           166: };
        !           167: 
        !           168: /* 
        !           169: ** Recognised commands for the driver 
        !           170: */
        !           171: #define DEPCA_GET_HWADDR       0x01 /* Get the hardware address */
        !           172: #define DEPCA_SET_HWADDR       0x02 /* Get the hardware address */
        !           173: #define DEPCA_SET_PROM         0x03 /* Set Promiscuous Mode */
        !           174: #define DEPCA_CLR_PROM         0x04 /* Clear Promiscuous Mode */
        !           175: #define DEPCA_SAY_BOO          0x05 /* Say "Boo!" to the kernel log file */
        !           176: #define DEPCA_GET_MCA          0x06 /* Get a multicast address */
        !           177: #define DEPCA_SET_MCA          0x07 /* Set a multicast address */
        !           178: #define DEPCA_CLR_MCA          0x08 /* Clear a multicast address */
        !           179: #define DEPCA_MCA_EN           0x09 /* Enable a multicast address group */
        !           180: #define DEPCA_GET_STATS        0x0a /* Get the driver statistics */
        !           181: #define DEPCA_CLR_STATS        0x0b /* Zero out the driver statistics */
        !           182: #define DEPCA_GET_REG          0x0c /* Get the Register contents */
        !           183: #define DEPCA_SET_REG          0x0d /* Set the Register contents */
        !           184: #define DEPCA_DUMP              0x0f /* Dump the DEPCA Status */
        !           185: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.