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

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