diff options
Diffstat (limited to 'c/src/lib/libbsp/i386/i386ex/network/uti596.h')
-rw-r--r-- | c/src/lib/libbsp/i386/i386ex/network/uti596.h | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/c/src/lib/libbsp/i386/i386ex/network/uti596.h b/c/src/lib/libbsp/i386/i386ex/network/uti596.h deleted file mode 100644 index 1238d2ea41..0000000000 --- a/c/src/lib/libbsp/i386/i386ex/network/uti596.h +++ /dev/null @@ -1,284 +0,0 @@ - -/* uti596.h: Contains the defines and structures used by the uti596 driver */ - -/* - * EII: March 11: Created v. 0.0 - * Jan 12/98 Added STAT bits, s11-=s5 and max_colls. - * - * $Id$ - */ - -#ifndef UTI596_H -#define UTI596_H -#include <rtems/error.h> -#include <rtems/rtems_bsdnet.h> - -#include <sys/param.h> -#include <sys/mbuf.h> -#include <sys/socket.h> -#include <sys/sockio.h> - -#include <net/if.h> - -#include <netinet/in.h> -#include <netinet/if_ether.h> - -/* Ethernet statistics */ - -struct enet_statistics{ - int rx_packets; /* total packets received */ - int tx_packets; /* total packets transmitted */ - int rx_errors; /* bad packets received */ - int tx_errors; /* packet transmit problems */ - int rx_dropped; /* no space in buffers */ - int tx_dropped; /* */ - int tx_retries_exceeded; /* excessive retries */ - int multicast; /* multicast packets received */ - int collisions; - - /* detailed rx_errors: */ - int rx_length_errors; - int rx_over_errors; /* receiver ring buff overflow */ - int rx_crc_errors; /* recved pkt with crc error */ - int rx_frame_errors; /* recv'd frame alignment error */ - int rx_fifo_errors; /* recv'r fifo overrun */ - int rx_missed_errors; /* receiver missed packet */ - - /* detailed tx_errors */ - int tx_aborted_errors; - int tx_carrier_errors; - int tx_fifo_errors; - int tx_heartbeat_errors; - int tx_window_errors; - - /* NIC reset errors */ - int nic_reset_count; /* The number of times uti596reset() has been called. */ -}; - -enum commands { - CmdNOp = 0, - CmdSASetup = 1, - CmdConfigure = 2, - CmdMulticastList = 3, - CmdTx = 4, - CmdTDR = 5, - CmdDump = 6, - CmdDiagnose = 7 -}; - -#define UTI596_MUTEX 1 - -#define CMD_EOL 0x8000 /* The last command of the list, stop. */ -#define CMD_SUSP 0x4000 /* Suspend after doing cmd. */ -#define CMD_INTR 0x2000 /* Interrupt after doing cmd. */ - -#define CMD_FLEX 0x0008 /* Enable flexible memory model */ - -#define SCB_STAT_CX 0x8000 /* Cmd completes with 'I' bit set */ -#define SCB_STAT_FR 0x4000 /* Frame Received */ -#define SCB_STAT_CNA 0x2000 /* Cmd unit Not Active */ -#define SCB_STAT_RNR 0x1000 /* Receiver Not Ready */ - -#define SCB_CUS_SUSPENDED 0x0100 -#define SCB_CUS_ACTIVE 0x0200 - -#define STAT_C 0x8000 /* Set to 1 after execution */ -#define STAT_B 0x4000 /* 1 : Cmd being executed, 0 : Cmd done. */ -#define STAT_OK 0x2000 /* 1: Command executed ok 0 : Error */ -#define STAT_A 0x1000 /* command has been aborted */ - -#define STAT_S11 0x0800 -#define STAT_S10 0x0400 -#define STAT_S9 0x0200 -#define STAT_S8 0x0100 -#define STAT_S7 0x0080 -#define STAT_S6 0x0040 -#define STAT_S5 0x0020 -#define STAT_MAX_COLLS 0x000F - -#define RBD_STAT_P 0x4000 /* prefetch */ -#define RBD_STAT_F 0x4000 /* used */ - -#define CUC_START 0x0100 -#define CUC_RESUME 0x0200 -#define CUC_SUSPEND 0x0300 -#define CUC_ABORT 0x0400 -#define RX_START 0x0010 -#define RX_RESUME 0x0020 -#define RX_SUSPEND 0x0030 -#define RX_ABORT 0x0040 - -#define RU_SUSPENDED 0x0010 -#define RU_NO_RESOURCES 0x0020 -#define RU_READY 0x0040 - -#define IO_ADDR 0x360 -#define PORT_ADDR IO_ADDR -#define CHAN_ATTN PORT_ADDR + 4 -#define NIC_ADDR PORT_ADDR + 8 - -struct i596_cmd { - volatile unsigned short status; - volatile unsigned short command; - struct i596_cmd *next; -}; - -#define I596_NULL ( ( void * ) 0xffffffff) -#define UTI_596_END_OF_FRAME 0x8000 -#define SIZE_MASK 0x3fff - -/* - * Transmit buffer Descriptor - */ - -struct i596_tbd { - unsigned short size; - unsigned short pad; - struct i596_tbd *next; - char *data; -}; - -/* - * Receive buffer Descriptor - */ - -struct i596_rbd { - unsigned short count; - unsigned short offset; - struct i596_rbd *next; - char *data; - unsigned short size; - unsigned short pad; -}; - -/* - * Transmit Command Structure - */ -struct tx_cmd { - struct i596_cmd cmd; - struct i596_tbd *pTbd; - unsigned short size; - unsigned short pad; -} ; - -/* - * Receive Frame Descriptor - */ -struct i596_rfd { - volatile unsigned short stat; - volatile unsigned short cmd; - struct i596_rfd *next; - struct i596_rbd *pRbd; - unsigned short count; - unsigned short size; - char data [1532 ]; -} ; - -struct i596_dump { - struct i596_cmd cmd; - char * pData; -}; - -struct i596_set_add { - struct i596_cmd cmd; - char data[8]; -}; - -struct i596_configure { - struct i596_cmd cmd; - char data[16]; -}; - -struct i596_nop { - struct i596_cmd cmd; -}; - -struct i596_tdr { - struct i596_cmd cmd; - unsigned int data; -}; - -#define RX_RING_SIZE 8 - -/* - * System Control Block - */ -struct i596_scb { - volatile unsigned short status; - volatile unsigned short command; - struct i596_cmd *pCmd; - struct i596_rfd *pRfd; - volatile unsigned long crc_err; - volatile unsigned long align_err; - volatile unsigned long resource_err; - volatile unsigned long over_err; - volatile unsigned long rcvdt_err; - volatile unsigned long short_err; - volatile unsigned short t_on; - volatile unsigned short t_off; -}; - -/* - * Intermediate System Control Block - */ -struct i596_iscp { - volatile unsigned long stat; - struct i596_scb *scb; -} ; -/* - * System Control Parameters - */ -struct i596_scp { - unsigned long sysbus; - unsigned long pad; - struct i596_iscp *iscp; -} ; - -struct uti596_softc { - struct arpcom arpcom; - rtems_irq_connect_data irqInfo; - struct i596_scp *pScp; - struct i596_iscp iscp; - struct i596_scb scb; - struct i596_set_add set_add; - struct i596_configure set_conf; - struct i596_tdr tdr; - struct i596_nop nop; - unsigned long stat; - struct tx_cmd *pTxCmd; - struct i596_tbd *pTbd; - - int ioAddr; - - struct i596_rfd *pBeginRFA; - struct i596_rfd *pEndRFA; - struct i596_rfd *pLastUnkRFD; - struct i596_rbd *pLastUnkRBD; - struct i596_rfd *pEndSavedQueue; - struct i596_cmd *pCmdHead; - struct i596_cmd *pCmdTail; /* unneeded, as chaining not used, but implemented */ - - rtems_id rxDaemonTid; - rtems_id txDaemonTid; - rtems_id resetDaemonTid; - - struct enet_statistics stats; - int started; - unsigned long rxInterrupts; - unsigned long txInterrupts; - volatile int cmdOk; - int resetDone; - unsigned long txRawWait; - struct i596_rfd *pInboundFrameQueue; - short int rxBdCount; - short int txBdCount; - short int countRFD; - short int savedCount; - struct i596_rfd *pSavedRfdQueue; - rtems_name semaphore_name; - rtems_id semaphore_id; - char zeroes[64]; - unsigned long rawsndcnt; - int nic_reset; /* flag is for requesting that ISR issue a reset quest */ -} ; -#endif |