home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-m68knommu / m68360_pram.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  19.4 KB  |  432 lines

  1. /***********************************
  2.  * $Id: m68360_pram.h,v 1.1 2002/03/02 15:01:07 gerg Exp $
  3.  ***********************************
  4.  *
  5.  ***************************************
  6.  * Definitions of the parameter area RAM.
  7.  * Note that different structures are overlaid
  8.  * at the same offsets for the different modes
  9.  * of operation.
  10.  ***************************************
  11.  */
  12.  
  13. #ifndef __PRAM_H
  14. #define __PRAM_H
  15.  
  16. /* Time slot assignment table */
  17. #define VALID_SLOT    0x8000
  18. #define WRAP_SLOT    0x4000
  19.  
  20. /*****************************************************************
  21.         Global Multichannel parameter RAM
  22. *****************************************************************/
  23. struct global_multi_pram {
  24.     /*
  25.      * Global Multichannel parameter RAM
  26.      */
  27.     unsigned long   mcbase;        /* Multichannel Base pointer */
  28.     unsigned short  qmcstate;        /* Multichannel Controller state */
  29.     unsigned short  mrblr;        /* Maximum Receive Buffer Length */
  30.     unsigned short  tx_s_ptr;        /* TSTATx Pointer */
  31.     unsigned short  rxptr;        /* Current Time slot entry in TSATRx */
  32.     unsigned short  grfthr;        /* Global Receive frame threshold */
  33.     unsigned short  grfcnt;        /* Global Receive Frame Count */
  34.     unsigned long   intbase;        /* Multichannel Base address */
  35.     unsigned long   iintptr;        /* Pointer to interrupt queue */
  36.     unsigned short  rx_s_ptr;        /* TSTARx Pointer */
  37.  
  38.     unsigned short  txptr;        /* Current Time slot entry in TSATTx */
  39.     unsigned long   c_mask32;        /* CRC Constant (debb20e3) */
  40.     unsigned short  tsatrx[32];        /* Time Slot Assignment Table Rx */
  41.     unsigned short  tsattx[32];        /* Time Slot Assignment Table Tx */
  42.     unsigned short  c_mask16;        /* CRC Constant (f0b8) */
  43. };
  44.  
  45. /*****************************************************************
  46.         Quicc32 HDLC parameter RAM
  47. *****************************************************************/
  48. struct quicc32_pram {
  49.  
  50.     unsigned short  tbase;        /* Tx Buffer Descriptors Base Address */
  51.     unsigned short  chamr;        /* Channel Mode Register */
  52.     unsigned long   tstate;        /* Tx Internal State */
  53.     unsigned long   txintr;        /* Tx Internal Data Pointer */
  54.     unsigned short  tbptr;        /* Tx Buffer Descriptor Pointer */
  55.     unsigned short  txcntr;        /* Tx Internal Byte Count */
  56.     unsigned long   tupack;        /* (Tx Temp) */
  57.     unsigned long   zistate;        /* Zero Insertion machine state */
  58.     unsigned long   tcrc;        /* Temp Transmit CRC */
  59.     unsigned short  intmask;        /* Channel's interrupt mask flags */
  60.     unsigned short  bdflags;        
  61.     unsigned short  rbase;        /* Rx Buffer Descriptors Base Address */
  62.     unsigned short  mflr;        /* Max Frame Length Register */
  63.     unsigned long   rstate;        /* Rx Internal State */
  64.     unsigned long   rxintr;        /* Rx Internal Data Pointer */
  65.     unsigned short  rbptr;        /* Rx Buffer Descriptor Pointer */
  66.     unsigned short  rxbyc;        /* Rx Internal Byte Count */
  67.     unsigned long   rpack;        /* (Rx Temp) */
  68.     unsigned long   zdstate;        /* Zero Deletion machine state */
  69.     unsigned long   rcrc;        /* Temp Transmit CRC */
  70.     unsigned short  maxc;        /* Max_length counter */
  71.     unsigned short  tmp_mb;        /* Temp */
  72. };
  73.  
  74.  
  75. /*****************************************************************
  76.         HDLC parameter RAM
  77. *****************************************************************/
  78.  
  79. struct hdlc_pram {
  80.     /*
  81.      * SCC parameter RAM
  82.      */
  83.     unsigned short  rbase;          /* RX BD base address */
  84.     unsigned short  tbase;          /* TX BD base address */
  85.     unsigned char   rfcr;           /* Rx function code */
  86.     unsigned char   tfcr;           /* Tx function code */
  87.     unsigned short  mrblr;          /* Rx buffer length */
  88.     unsigned long   rstate;         /* Rx internal state */
  89.     unsigned long   rptr;           /* Rx internal data pointer */
  90.     unsigned short  rbptr;          /* rb BD Pointer */
  91.     unsigned short  rcount;         /* Rx internal byte count */
  92.     unsigned long   rtemp;          /* Rx temp */
  93.     unsigned long   tstate;         /* Tx internal state */
  94.     unsigned long   tptr;           /* Tx internal data pointer */
  95.     unsigned short  tbptr;          /* Tx BD pointer */
  96.     unsigned short  tcount;         /* Tx byte count */
  97.     unsigned long   ttemp;          /* Tx temp */
  98.     unsigned long   rcrc;           /* temp receive CRC */
  99.     unsigned long   tcrc;           /* temp transmit CRC */
  100.    
  101.     /*
  102.      * HDLC specific parameter RAM
  103.      */
  104.     unsigned char   RESERVED1[4];   /* Reserved area */
  105.     unsigned long   c_mask;         /* CRC constant */
  106.     unsigned long   c_pres;         /* CRC preset */
  107.     unsigned short  disfc;          /* discarded frame counter */
  108.     unsigned short  crcec;          /* CRC error counter */
  109.     unsigned short  abtsc;          /* abort sequence counter */
  110.     unsigned short  nmarc;          /* nonmatching address rx cnt */
  111.     unsigned short  retrc;          /* frame retransmission cnt */
  112.     unsigned short  mflr;           /* maximum frame length reg */
  113.     unsigned short  max_cnt;        /* maximum length counter */
  114.     unsigned short  rfthr;          /* received frames threshold */
  115.     unsigned short  rfcnt;          /* received frames count */
  116.     unsigned short  hmask;          /* user defined frm addr mask */
  117.     unsigned short  haddr1;         /* user defined frm address 1 */
  118.     unsigned short  haddr2;         /* user defined frm address 2 */
  119.     unsigned short  haddr3;         /* user defined frm address 3 */
  120.     unsigned short  haddr4;         /* user defined frm address 4 */
  121.     unsigned short  tmp;            /* temp */
  122.     unsigned short  tmp_mb;         /* temp */
  123. };
  124.  
  125.  
  126.  
  127. /*****************************************************************
  128.         UART parameter RAM
  129. *****************************************************************/
  130.  
  131. /*
  132.  * bits in uart control characters table
  133.  */
  134. #define CC_INVALID  0x8000          /* control character is valid */
  135. #define CC_REJ      0x4000          /* don't store char in buffer */
  136. #define CC_CHAR     0x00ff          /* control character */
  137.  
  138. /* UART */
  139. struct uart_pram {
  140.     /*
  141.      * SCC parameter RAM
  142.      */
  143.     unsigned short  rbase;          /* RX BD base address */
  144.     unsigned short  tbase;          /* TX BD base address */
  145.     unsigned char   rfcr;           /* Rx function code */
  146.     unsigned char   tfcr;           /* Tx function code */
  147.     unsigned short  mrblr;          /* Rx buffer length */
  148.     unsigned long   rstate;         /* Rx internal state */
  149.     unsigned long   rptr;           /* Rx internal data pointer */
  150.     unsigned short  rbptr;          /* rb BD Pointer */
  151.     unsigned short  rcount;         /* Rx internal byte count */
  152.     unsigned long   rx_temp;        /* Rx temp */
  153.     unsigned long   tstate;         /* Tx internal state */
  154.     unsigned long   tptr;           /* Tx internal data pointer */
  155.     unsigned short  tbptr;          /* Tx BD pointer */
  156.     unsigned short  tcount;         /* Tx byte count */
  157.     unsigned long   ttemp;          /* Tx temp */
  158.     unsigned long   rcrc;           /* temp receive CRC */
  159.     unsigned long   tcrc;           /* temp transmit CRC */
  160.    
  161.     /*
  162.      * UART specific parameter RAM
  163.      */
  164.     unsigned char   RESERVED1[8];   /* Reserved area */
  165.     unsigned short  max_idl;        /* maximum idle characters */
  166.     unsigned short  idlc;           /* rx idle counter (internal) */
  167.     unsigned short  brkcr;          /* break count register */
  168.                    
  169.     unsigned short  parec;          /* Rx parity error counter */
  170.     unsigned short  frmer;          /* Rx framing error counter */
  171.     unsigned short  nosec;          /* Rx noise counter */
  172.     unsigned short  brkec;          /* Rx break character counter */
  173.     unsigned short  brkln;          /* Reaceive break length */
  174.                    
  175.     unsigned short  uaddr1;         /* address character 1 */
  176.     unsigned short  uaddr2;         /* address character 2 */
  177.     unsigned short  rtemp;          /* temp storage */
  178.     unsigned short  toseq;          /* Tx out of sequence char */
  179.     unsigned short  cc[8];          /* Rx control characters */
  180.     unsigned short  rccm;           /* Rx control char mask */
  181.     unsigned short  rccr;           /* Rx control char register */
  182.     unsigned short  rlbc;           /* Receive last break char */
  183. };
  184.  
  185.  
  186.  
  187. /*****************************************************************
  188.         BISYNC parameter RAM
  189. *****************************************************************/
  190.  
  191. struct bisync_pram {
  192.     /*
  193.      * SCC parameter RAM
  194.      */
  195.     unsigned short  rbase;          /* RX BD base address */
  196.     unsigned short  tbase;          /* TX BD base address */
  197.     unsigned char   rfcr;           /* Rx function code */
  198.     unsigned char   tfcr;           /* Tx function code */
  199.     unsigned short  mrblr;          /* Rx buffer length */
  200.     unsigned long   rstate;         /* Rx internal state */
  201.     unsigned long   rptr;           /* Rx internal data pointer */
  202.     unsigned short  rbptr;          /* rb BD Pointer */
  203.     unsigned short  rcount;         /* Rx internal byte count */
  204.     unsigned long   rtemp;          /* Rx temp */
  205.     unsigned long   tstate;         /* Tx internal state */
  206.     unsigned long   tptr;           /* Tx internal data pointer */
  207.     unsigned short  tbptr;          /* Tx BD pointer */
  208.     unsigned short  tcount;         /* Tx byte count */
  209.     unsigned long   ttemp;          /* Tx temp */
  210.     unsigned long   rcrc;           /* temp receive CRC */
  211.     unsigned long   tcrc;           /* temp transmit CRC */
  212.    
  213.     /*
  214.      * BISYNC specific parameter RAM
  215.      */
  216.     unsigned char   RESERVED1[4];   /* Reserved area */
  217.     unsigned long   crcc;           /* CRC Constant Temp Value */
  218.     unsigned short  prcrc;          /* Preset Receiver CRC-16/LRC */
  219.     unsigned short  ptcrc;          /* Preset Transmitter CRC-16/LRC */
  220.     unsigned short  parec;          /* Receive Parity Error Counter */
  221.     unsigned short  bsync;          /* BISYNC SYNC Character */
  222.     unsigned short  bdle;           /* BISYNC DLE Character */
  223.     unsigned short  cc[8];          /* Rx control characters */
  224.     unsigned short  rccm;           /* Receive Control Character Mask */
  225. };
  226.  
  227. /*****************************************************************
  228.         IOM2 parameter RAM
  229.         (overlaid on tx bd[5] of SCC channel[2])
  230. *****************************************************************/
  231. struct iom2_pram {
  232.     unsigned short  ci_data;        /* ci data */
  233.     unsigned short  monitor_data;   /* monitor data */
  234.     unsigned short  tstate;         /* transmitter state */
  235.     unsigned short  rstate;         /* receiver state */
  236. };
  237.  
  238. /*****************************************************************
  239.         SPI/SMC parameter RAM
  240.         (overlaid on tx bd[6,7] of SCC channel[2])
  241. *****************************************************************/
  242.  
  243. #define SPI_R       0x8000          /* Ready bit in BD */
  244.  
  245. struct spi_pram {
  246.     unsigned short  rbase;          /* Rx BD Base Address */
  247.     unsigned short  tbase;          /* Tx BD Base Address */
  248.     unsigned char   rfcr;           /* Rx function code */
  249.     unsigned char   tfcr;           /* Tx function code */
  250.     unsigned short  mrblr;          /* Rx buffer length */
  251.     unsigned long   rstate;         /* Rx internal state */
  252.     unsigned long   rptr;           /* Rx internal data pointer */
  253.     unsigned short  rbptr;          /* rb BD Pointer */
  254.     unsigned short  rcount;         /* Rx internal byte count */
  255.     unsigned long   rtemp;          /* Rx temp */
  256.     unsigned long   tstate;         /* Tx internal state */
  257.     unsigned long   tptr;           /* Tx internal data pointer */
  258.     unsigned short  tbptr;          /* Tx BD pointer */
  259.     unsigned short  tcount;         /* Tx byte count */
  260.     unsigned long   ttemp;          /* Tx temp */
  261. };
  262.  
  263. struct smc_uart_pram {
  264.     unsigned short  rbase;          /* Rx BD Base Address */
  265.     unsigned short  tbase;          /* Tx BD Base Address */
  266.     unsigned char   rfcr;           /* Rx function code */
  267.     unsigned char   tfcr;           /* Tx function code */
  268.     unsigned short  mrblr;          /* Rx buffer length */
  269.     unsigned long   rstate;         /* Rx internal state */
  270.     unsigned long   rptr;           /* Rx internal data pointer */
  271.     unsigned short  rbptr;          /* rb BD Pointer */
  272.     unsigned short  rcount;         /* Rx internal byte count */
  273.     unsigned long   rtemp;          /* Rx temp */
  274.     unsigned long   tstate;         /* Tx internal state */
  275.     unsigned long   tptr;           /* Tx internal data pointer */
  276.     unsigned short  tbptr;          /* Tx BD pointer */
  277.     unsigned short  tcount;         /* Tx byte count */
  278.     unsigned long   ttemp;          /* Tx temp */
  279.     unsigned short  max_idl;        /* Maximum IDLE Characters */
  280.     unsigned short  idlc;           /* Temporary IDLE Counter */
  281.     unsigned short  brkln;          /* Last Rx Break Length */
  282.     unsigned short  brkec;          /* Rx Break Condition Counter */
  283.     unsigned short  brkcr;          /* Break Count Register (Tx) */
  284.     unsigned short  r_mask;         /* Temporary bit mask */
  285. };
  286.  
  287. struct smc_trnsp_pram {
  288.     unsigned short  rbase;          /* rx BD Base Address */
  289.     unsigned short  tbase;          /* Tx BD Base Address */
  290.     unsigned char   rfcr;           /* Rx function code */
  291.     unsigned char   tfcr;           /* Tx function code */
  292.     unsigned short  mrblr;          /* Rx buffer length */
  293.     unsigned long   rstate;         /* Rx internal state */
  294.     unsigned long   rptr;           /* Rx internal data pointer */
  295.     unsigned short  rbptr;          /* rb BD Pointer */
  296.     unsigned short  rcount;         /* Rx internal byte count */
  297.     unsigned long   rtemp;          /* Rx temp */
  298.     unsigned long   tstate;         /* Tx internal state */
  299.     unsigned long   tptr;           /* Tx internal data pointer */
  300.     unsigned short  tbptr;          /* Tx BD pointer */
  301.     unsigned short  tcount;         /* Tx byte count */
  302.     unsigned long   ttemp;          /* Tx temp */
  303.     unsigned short  reserved[5];    /* Reserved */
  304. };
  305.  
  306. struct idma_pram {
  307.     unsigned short  ibase;          /* IDMA BD Base Address */
  308.     unsigned short  ibptr;          /* IDMA buffer descriptor pointer */
  309.     unsigned long   istate;         /* IDMA internal state */
  310.     unsigned long   itemp;          /* IDMA temp */
  311. };
  312.  
  313. struct ethernet_pram {
  314.     /*
  315.      * SCC parameter RAM
  316.      */
  317.     unsigned short  rbase;          /* RX BD base address */
  318.     unsigned short  tbase;          /* TX BD base address */
  319.     unsigned char   rfcr;           /* Rx function code */
  320.     unsigned char   tfcr;           /* Tx function code */
  321.     unsigned short  mrblr;          /* Rx buffer length */
  322.     unsigned long   rstate;         /* Rx internal state */
  323.     unsigned long   rptr;           /* Rx internal data pointer */
  324.     unsigned short  rbptr;          /* rb BD Pointer */
  325.     unsigned short  rcount;         /* Rx internal byte count */
  326.     unsigned long   rtemp;          /* Rx temp */
  327.     unsigned long   tstate;         /* Tx internal state */
  328.     unsigned long   tptr;           /* Tx internal data pointer */
  329.     unsigned short  tbptr;          /* Tx BD pointer */
  330.     unsigned short  tcount;         /* Tx byte count */
  331.     unsigned long   ttemp;          /* Tx temp */
  332.     unsigned long   rcrc;           /* temp receive CRC */
  333.     unsigned long   tcrc;           /* temp transmit CRC */
  334.    
  335.     /*
  336.      * ETHERNET specific parameter RAM
  337.      */
  338.     unsigned long   c_pres;         /* preset CRC */
  339.     unsigned long   c_mask;         /* constant mask for CRC */
  340.     unsigned long   crcec;          /* CRC error counter */
  341.     unsigned long   alec;           /* alighnment error counter */
  342.     unsigned long   disfc;          /* discard frame counter */
  343.     unsigned short  pads;           /* short frame PAD characters */
  344.     unsigned short  ret_lim;        /* retry limit threshold */
  345.     unsigned short  ret_cnt;        /* retry limit counter */
  346.     unsigned short  mflr;           /* maximum frame length reg */
  347.     unsigned short  minflr;         /* minimum frame length reg */
  348.     unsigned short  maxd1;          /* maximum DMA1 length reg */
  349.     unsigned short  maxd2;          /* maximum DMA2 length reg */
  350.     unsigned short  maxd;           /* rx max DMA */
  351.     unsigned short  dma_cnt;        /* rx dma counter */
  352.     unsigned short  max_b;          /* max bd byte count */
  353.     unsigned short  gaddr1;         /* group address filter 1 */
  354.     unsigned short  gaddr2;         /* group address filter 2 */
  355.     unsigned short  gaddr3;         /* group address filter 3 */
  356.     unsigned short  gaddr4;         /* group address filter 4 */
  357.     unsigned long   tbuf0_data0;    /* save area 0 - current frm */
  358.     unsigned long   tbuf0_data1;    /* save area 1 - current frm */
  359.     unsigned long   tbuf0_rba0;
  360.     unsigned long   tbuf0_crc;
  361.     unsigned short  tbuf0_bcnt;
  362.     union {
  363.         unsigned char b[6];
  364.         struct {
  365.             unsigned short high;
  366.             unsigned short middl;
  367.             unsigned short low;
  368.         } w;
  369.     } paddr;
  370.     unsigned short  p_per;          /* persistence */
  371.     unsigned short  rfbd_ptr;       /* rx first bd pointer */
  372.     unsigned short  tfbd_ptr;       /* tx first bd pointer */
  373.     unsigned short  tlbd_ptr;       /* tx last bd pointer */
  374.     unsigned long   tbuf1_data0;    /* save area 0 - next frame */
  375.     unsigned long   tbuf1_data1;    /* save area 1 - next frame */
  376.     unsigned long   tbuf1_rba0;
  377.     unsigned long   tbuf1_crc;
  378.     unsigned short  tbuf1_bcnt;
  379.     unsigned short  tx_len;         /* tx frame length counter */
  380.     unsigned short  iaddr1;         /* individual address filter 1*/
  381.     unsigned short  iaddr2;         /* individual address filter 2*/
  382.     unsigned short  iaddr3;         /* individual address filter 3*/
  383.     unsigned short  iaddr4;         /* individual address filter 4*/
  384.     unsigned short  boff_cnt;       /* back-off counter */
  385.     unsigned short  taddr_h;        /* temp address (MSB) */
  386.     unsigned short  taddr_m;        /* temp address */
  387.     unsigned short  taddr_l;        /* temp address (LSB) */
  388. };
  389.  
  390. struct transparent_pram {
  391.     /*
  392.      * SCC parameter RAM
  393.      */
  394.     unsigned short  rbase;          /* RX BD base address */
  395.     unsigned short  tbase;          /* TX BD base address */
  396.     unsigned char   rfcr;           /* Rx function code */
  397.     unsigned char   tfcr;           /* Tx function code */
  398.     unsigned short  mrblr;          /* Rx buffer length */
  399.     unsigned long   rstate;         /* Rx internal state */
  400.     unsigned long   rptr;           /* Rx internal data pointer */
  401.     unsigned short  rbptr;          /* rb BD Pointer */
  402.     unsigned short  rcount;         /* Rx internal byte count */
  403.     unsigned long   rtemp;          /* Rx temp */
  404.     unsigned long   tstate;         /* Tx internal state */
  405.     unsigned long   tptr;           /* Tx internal data pointer */
  406.     unsigned short  tbptr;          /* Tx BD pointer */
  407.     unsigned short  tcount;         /* Tx byte count */
  408.     unsigned long   ttemp;          /* Tx temp */
  409.     unsigned long   rcrc;           /* temp receive CRC */
  410.     unsigned long   tcrc;           /* temp transmit CRC */
  411.    
  412.     /*
  413.      * TRANSPARENT specific parameter RAM
  414.      */
  415.     unsigned long   crc_p;          /* CRC Preset */
  416.     unsigned long   crc_c;          /* CRC constant */
  417. };
  418.  
  419. struct timer_pram {
  420.     /*
  421.      * RISC timers parameter RAM
  422.      */
  423.     unsigned short  tm_base;        /* RISC timer table base adr */
  424.     unsigned short  tm_ptr;         /* RISC timer table pointer */
  425.     unsigned short  r_tmr;          /* RISC timer mode register */
  426.     unsigned short  r_tmv;          /* RISC timer valid register */
  427.     unsigned long   tm_cmd;         /* RISC timer cmd register */
  428.     unsigned long   tm_cnt;         /* RISC timer internal cnt */
  429. };
  430.  
  431. #endif
  432.