linux-bk/drivers/net/3c527.h
<<
>>
Prefs
   1/*
   2 *      3COM "EtherLink MC/32" Descriptions
   3 */
   4
   5/*
   6 *      Registers
   7 */
   8  
   9#define HOST_CMD                0
  10#define         HOST_CMD_START_RX   (1<<3)
  11#define         HOST_CMD_SUSPND_RX  (3<<3)
  12#define         HOST_CMD_RESTRT_RX  (5<<3)
  13
  14#define         HOST_CMD_SUSPND_TX  3
  15#define         HOST_CMD_RESTRT_TX  5
  16
  17
  18#define HOST_STATUS             2
  19#define         HOST_STATUS_CRR (1<<6)
  20#define         HOST_STATUS_CWR (1<<5)
  21
  22
  23#define HOST_CTRL               6
  24#define         HOST_CTRL_ATTN  (1<<7)
  25#define         HOST_CTRL_RESET (1<<6)
  26#define         HOST_CTRL_INTE  (1<<2)
  27
  28#define HOST_RAMPAGE            8
  29
  30#define RX_HALTED (1<<0)
  31#define TX_HALTED (1<<1)  
  32#define HALTED (RX_HALTED | TX_HALTED)
  33#define RUNNING 0
  34
  35struct mc32_mailbox
  36{
  37        u16     mbox __attribute((packed));
  38        u16     data[1] __attribute((packed));
  39};
  40
  41struct skb_header
  42{
  43        u8      status __attribute((packed));
  44        u8      control __attribute((packed));
  45        u16     next __attribute((packed));     /* Do not change! */
  46        u16     length __attribute((packed));
  47        u32     data __attribute((packed));
  48};
  49
  50struct mc32_stats
  51{
  52        /* RX Errors */
  53        u32     rx_crc_errors       __attribute((packed));      
  54        u32     rx_alignment_errors  __attribute((packed));     
  55        u32     rx_overrun_errors    __attribute((packed));
  56        u32     rx_tooshort_errors  __attribute((packed));
  57        u32     rx_toolong_errors   __attribute((packed));
  58        u32     rx_outofresource_errors  __attribute((packed)); 
  59
  60        u32     rx_discarded   __attribute((packed));  /* via card pattern match filter */ 
  61
  62        /* TX Errors */
  63        u32     tx_max_collisions __attribute((packed)); 
  64        u32     tx_carrier_errors __attribute((packed)); 
  65        u32     tx_underrun_errors __attribute((packed)); 
  66        u32     tx_cts_errors     __attribute((packed)); 
  67        u32     tx_timeout_errors __attribute((packed)) ;
  68        
  69        /* various cruft */
  70        u32     dataA[6] __attribute((packed));   
  71        u16     dataB[5] __attribute((packed));   
  72        u32     dataC[14] __attribute((packed));        
  73};
  74
  75#define STATUS_MASK     0x0F
  76#define COMPLETED       (1<<7)
  77#define COMPLETED_OK    (1<<6)
  78#define BUFFER_BUSY     (1<<5)
  79
  80#define CONTROL_EOP     (1<<7)  /* End Of Packet */
  81#define CONTROL_EOL     (1<<6)  /* End of List */
  82
  83#define MCA_MC32_ID     0x0041  /* Our MCA ident */
  84
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.