summaryrefslogtreecommitdiffstats
path: root/bsps/m68k/mvme167/net/uti596.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/m68k/mvme167/net/uti596.h')
-rw-r--r--bsps/m68k/mvme167/net/uti596.h369
1 files changed, 0 insertions, 369 deletions
diff --git a/bsps/m68k/mvme167/net/uti596.h b/bsps/m68k/mvme167/net/uti596.h
deleted file mode 100644
index 29e4fed299..0000000000
--- a/bsps/m68k/mvme167/net/uti596.h
+++ /dev/null
@@ -1,369 +0,0 @@
-/* uti596.h: Contains the defines and structures used by the uti596 driver */
-
-/*
- * EII: March 11: Created v. 0.0
- */
-
-#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. */
-};
-
-#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 I596_NULL ( ( void * ) 0xffffffff)
-#define UTI_596_END_OF_FRAME 0x8000
-
-struct i596_tbd; /* necessary forward declaration */
-
-enum commands {
- CmdNOp = 0,
- CmdSASetup = 1,
- CmdConfigure = 2,
- CmdMulticastList = 3,
- CmdTx = 4,
- CmdTDR = 5,
- CmdDump = 6,
- CmdDiagnose = 7
-};
-
-/*
- * 82596 Dump Command Result
- */
-typedef volatile struct i596_dump_result {
- unsigned char bf;
- unsigned char config_bytes[11];
- unsigned char reserved1[2];
- unsigned char ia_bytes[6];
- unsigned short last_tx_status;
- unsigned short tx_crc_byte01;
- unsigned short tx_crc_byte23;
- unsigned short rx_crc_byte01;
- unsigned short rx_crc_byte23;
- unsigned short rx_temp_mem01;
- unsigned short rx_temp_mem23;
- unsigned short rx_temp_mem45;
- unsigned short last_rx_status;
- unsigned short hash_reg01;
- unsigned short hash_reg23;
- unsigned short hash_reg45;
- unsigned short hash_reg67;
- unsigned short slot_time_counter;
- unsigned short wait_time_counter;
- unsigned short rx_frame_length;
- unsigned long reserved2;
- unsigned long cb_in3;
- unsigned long cb_in2;
- unsigned long cb_in1;
- unsigned long la_cb_addr;
- unsigned long rdb_pointer;
- unsigned long int_memory;
- unsigned long rfd_size;
- unsigned long tbd_pointer;
- unsigned long base_addr;
- unsigned long ru_temp_reg;
- unsigned long tcb_count;
- unsigned long next_rb_size;
- unsigned long next_rb_addr;
- unsigned long curr_rb_size;
- unsigned long la_rbd_addr;
- unsigned long next_rbd_addr;
- unsigned long curr_rbd_addr;
- unsigned long curr_rb_count;
- unsigned long next_fd_addr;
- unsigned long curr_fd_add;
- unsigned long temp_cu_reg;
- unsigned long next_tb_count;
- unsigned long buffer_addr;
- unsigned long la_tbd_addr;
- unsigned long next_tbd_addr;
- unsigned long cb_command;
- unsigned long next_cb_addr;
- unsigned long curr_cb_addr;
- unsigned long scb_cmd_word;
- unsigned long scb_pointer;
- unsigned long cb_stat_word;
- unsigned long mm_lfsr;
- unsigned char micro_machine_bit_array[28];
- unsigned char cu_port[16];
- unsigned long mm_alu;
- unsigned long reserved3;
- unsigned long mm_temp_a_rr;
- unsigned long mm_temp_a;
- unsigned long tx_dma_b_cnt;
- unsigned long mm_input_port_addr_reg;
- unsigned long tx_dma_addr;
- unsigned long mm_port_reg1;
- unsigned long rx_dma_b_cnt;
- unsigned long mm_port_reg2;
- unsigned long rx_dma_addr;
- unsigned long reserved4;
- unsigned long bus_t_timers;
- unsigned long diu_cntrl_reg;
- unsigned long reserved5;
- unsigned long sysbus;
- unsigned long biu_cntrl_reg;
- unsigned long mm_disp_reg;
- unsigned long mm_status_reg;
- unsigned short dump_status;
-} i596_dump_result;
-
-typedef volatile struct i596_selftest {
- unsigned long rom_signature;
- unsigned long results;
-} i596_selftest;
-
-/*
- * Action commands
- * (big endian, linear mode)
- */
-typedef volatile struct i596_cmd {
- unsigned short status;
- unsigned short command;
- volatile struct i596_cmd *next;
-} i596_cmd;
-
-typedef volatile struct i596_nop {
- i596_cmd cmd;
-} i596_nop;
-
-typedef volatile struct i596_set_add {
- i596_cmd cmd;
- char data[8];
-} i596_set_add;
-
-typedef volatile struct i596_configure {
- i596_cmd cmd;
- char data[16];
-} i596_configure;
-
-typedef volatile struct i596_tx {
- i596_cmd cmd;
- volatile struct i596_tbd *pTbd;
- unsigned short count;
- unsigned short pad;
- char data[6];
- unsigned short length;
-} i596_tx;
-
-typedef volatile struct i596_tdr {
- i596_cmd cmd;
- unsigned long data;
-} i596_tdr;
-
-typedef volatile struct i596_dump {
- i596_cmd cmd;
- char *pData;
-} i596_dump;
-
-/*
- * Transmit buffer descriptor
- */
-typedef volatile struct i596_tbd {
- unsigned short size;
- unsigned short pad;
- volatile struct i596_tbd *next;
- char *data;
-} i596_tbd;
-
-/*
- * Receive buffer descriptor
- * (flexible memory structure)
- */
-typedef volatile struct i596_rbd {
- unsigned short count;
- unsigned short offset;
- volatile struct i596_rbd *next;
- char *data;
- unsigned short size;
- unsigned short pad;
-} i596_rbd;
-
-/*
- * Receive Frame Descriptor
- */
-typedef volatile struct i596_rfd {
- unsigned short stat;
- unsigned short cmd;
- volatile struct i596_rfd *next;
- i596_rbd *pRbd;
- unsigned short count;
- unsigned short size;
- char data [1532];
-} i596_rfd;
-
-/*
- * System Control Block
- */
-typedef volatile struct i596_scb {
- unsigned short status;
- unsigned short command;
- unsigned long cmd_pointer;
- unsigned long rfd_pointer;
- unsigned long crc_err;
- unsigned long align_err;
- unsigned long resource_err;
- unsigned long over_err;
- unsigned long rcvdt_err;
- unsigned long short_err;
- unsigned short t_off;
- unsigned short t_on;
- i596_cmd *pCmd;
- i596_rfd *pRfd;
-} i596_scb;
-
-/*
- * Intermediate System Configuration Pointer
- */
-typedef volatile struct i596_iscp {
- uint8_t null1; /* Always zero */
- uint8_t busy; /* Busy byte */
- unsigned short scb_offset; /* Not used in linear mode */
- unsigned long scb_pointer; /* Swapped pointer to scb */
- i596_scb *scb; /* Real pointer to scb */
-} i596_iscp;
-
-/*
- * System Configuration Pointer
- */
-typedef volatile struct i596_scp {
- unsigned long sysbus; /* Only low 8 bits are used */
- unsigned long pad; /* Must be zero */
- unsigned long iscp_pointer; /* Swapped pointer to iscp */
- i596_iscp *iscp; /* Real pointer to iscp */
-} i596_scp;
-
-/*
- * Device Dependent Data Structure
- */
-typedef volatile struct uti596_softc {
- struct arpcom arpcom;
- i596_scp *pScp; /* Block aligned on 16 byte boundary */
- i596_scp *base_scp; /* Unaligned block. Need for free() */
- i596_iscp iscp;
- i596_scb scb;
- i596_set_add set_add;
- i596_configure set_conf;
- i596_tdr tdr;
- i596_nop nop;
- i596_tx *pTxCmd;
- i596_tbd *pTbd;
-
- i596_rfd *pBeginRFA;
- i596_rfd *pEndRFA;
- i596_rfd *pLastUnkRFD;
- i596_rbd *pLastUnkRBD;
- i596_rfd *pEndSavedQueue;
- i596_cmd *pCmdHead;
- 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;
- unsigned short * pCurrent_command_status;
- int resetDone;
- unsigned long txRawWait;
- i596_rfd *pInboundFrameQueue;
- short int rxBdCount;
- short int txBdCount;
- short int countRFD;
- short int savedCount;
- i596_rfd *pSavedRfdQueue;
- rtems_name semaphore_name;
- rtems_id semaphore_id;
- char zeroes[64];
- unsigned long rawsndcnt;
- int nic_reset; /* flag for requesting that ISR issue a reset quest */
-} uti596_softc_;
-
-#endif /* UTI596_H */