root/drivers/net/3c503.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* Definitions for the 3Com 3c503 Etherlink 2. */
   2 /* This file is distributed under the GPL.
   3    Many of these names and comments are directly from the Crynwr packet
   4    drivers, which are released under the GPL. */
   5 
   6 #define EL2H (dev->base_addr + 0x400)
   7 #define EL2L (dev->base_addr)
   8 
   9 /* Shared memory management parameters */
  10 
  11 #define EL2SM_START_PG  (0x20)  /* First page of TX buffer */
  12 #define EL2SM_STOP_PG   (0x40)  /* Last page +1 of RX ring */
  13 
  14 /* 3Com 3c503 ASIC registers */
  15 #define E33G_STARTPG    (EL2H+0)        /* Start page, matching EN0_STARTPG */
  16 #define E33G_STOPPG     (EL2H+1)        /* Stop page, must match EN0_STOPPG */
  17 #define E33G_DRQCNT     (EL2H+2)        /* DMA burst count */
  18 #define E33G_IOBASE     (EL2H+3)        /* Read of I/O base jumpers. */
  19         /* (non-useful, but it also appears at the end of EPROM space) */
  20 #define E33G_ROMBASE    (EL2H+4)        /* Read of memory base jumpers. */
  21 #define E33G_GACFR      (EL2H+5)        /* Config/setup bits for the ASIC GA */
  22 #define E33G_CNTRL      (EL2H+6)        /* Board's main control register */
  23 #define E33G_STATUS     (EL2H+7)        /* Status on completions. */
  24 #define E33G_IDCFR      (EL2H+8)        /* Interrupt/DMA config register */
  25                                 /* (Which IRQ to assert, DMA chan to use) */
  26 #define E33G_DMAAH      (EL2H+9)        /* High byte of DMA address reg */
  27 #define E33G_DMAAL      (EL2H+10)       /* Low byte of DMA address reg */
  28 /* "Vector pointer" - if this address matches a read, the EPROM (rather than
  29    shared RAM) is mapped into memory space. */
  30 #define E33G_VP2        (EL2H+11)
  31 #define E33G_VP1        (EL2H+12)
  32 #define E33G_VP0        (EL2H+13)
  33 #define E33G_FIFOH      (EL2H+14)       /* FIFO for programmed I/O moves */
  34 #define E33G_FIFOL      (EL2H+15)       /* ... low byte of above. */
  35 
  36 /* Bits in E33G_CNTRL register: */
  37 
  38 #define ECNTRL_RESET    (0x01)  /* Software reset of the ASIC and 8390 */
  39 #define ECNTRL_THIN     (0x02)  /* Onboard xcvr enable, AUI disable */
  40 #define ECNTRL_AUI      (0x00)  /* Onboard xcvr disable, AUI enable */
  41 #define ECNTRL_SAPROM   (0x04)  /* Map the station address prom */
  42 #define ECNTRL_DBLBFR   (0x20)  /* FIFO configuration bit */
  43 #define ECNTRL_OUTPUT   (0x40)  /* PC-to-3C503 direction if 1 */
  44 #define ECNTRL_INPUT    (0x00)  /* 3C503-to-PC direction if 0 */
  45 #define ECNTRL_START    (0x80)  /* Start the DMA logic */
  46 
  47 /* Bits in E33G_STATUS register: */
  48 
  49 #define ESTAT_DPRDY     (0x80)  /* Data port (of FIFO) ready */
  50 #define ESTAT_UFLW      (0x40)  /* Tried to read FIFO when it was empty */
  51 #define ESTAT_OFLW      (0x20)  /* Tried to write FIFO when it was full */
  52 #define ESTAT_DTC       (0x10)  /* Terminal Count from PC bus DMA logic */
  53 #define ESTAT_DIP       (0x08)  /* DMA In Progress */
  54 
  55 /* Bits in E33G_GACFR register: */
  56 
  57 #define EGACFR_NORM     (0x49)  /* Enable 8K shared mem, no DMA TC int */
  58 #define EGACFR_IRQOFF   (0xc9)  /* Above, and disable 8390 IRQ line */
  59 
  60 /* End of 3C503 parameter definitions */

/* [previous][next][first][last][top][bottom][index][help] */