⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpc8260.h

📁 网口收发程序
💻 H
📖 第 1 页 / 共 4 页
字号:
    UHWORD   paddr1_l;       /* physical address (LSB) */
    UHWORD   ibd_cnt;        /* internal BD counter. */
    UHWORD   ibd_start;      /* internal BD start pointer. */
    UHWORD   ibd_end;        /* internal BD end pointer. */
    UHWORD   tx_len;         /* tx frame length counter */
    UBYTE    ibd_base[0x20]; /* internal micro code usage. */
    UWORD    iaddr_h;        /* individual address filter, high */
    UWORD    iaddr_l;        /* individual address filter, low */
    UHWORD   minflr;         /* minimum frame length reg */
    UHWORD   taddr_h;        /* temp address (MSB) */
    UHWORD   taddr_m;        /* temp address */
    UHWORD   taddr_l;        /* temp address (LSB) */
    UHWORD   pad_ptr;        /* pad_ptr. */
    UHWORD   cf_type;        /* flow control frame type coding. */
    UHWORD   cf_range;       /* flow control frame range. */
    UHWORD   max_b;          /* max buffer descriptor byte count. */
    UHWORD   maxd1;          /* max DMA1 length register. */
    UHWORD   maxd2;          /* max DMA2 length register. */
    UHWORD   maxd;           /* Rx max DMA. */
    UHWORD   dma_cnt;        /* Rx DMA counter. */
    
    /* counter: */
    UWORD    octc;           /* received octets counter. */
    UWORD    colc;           /* estimated number of collisions */
    UWORD    broc;           /* received good packets of broadcast address */
    UWORD    mulc;           /* received good packets of multicast address */
    UWORD    uspc;           /* received packets shorter then 64 octets. */
    UWORD    frgc;           /* as uspc + bad packets */
    UWORD    ospc;           /* received packets longer then 1518 octets. */
    UWORD    jbrc;           /* as ospc + bad packets  */
    UWORD    p64c;           /* received packets of 64 octets.. */
    UWORD    p65c;           /* received packets of 65-128 octets.. */
    UWORD    p128c;          /* received packets of 128-255 octets.. */
    UWORD    p256c;          /* received packets of 256-511 octets.. */
    UWORD    p512c;          /* received packets of 512-1023 octets.. */
    UWORD    p1024c;         /* received packets of 1024-1518 octets.. */
    UWORD    cam_buf;        /* cam respond internal buffer. */
    UHWORD   rfthr;          /* received frames threshold */
    UHWORD   rfcnt;          /* received frames count */
} _PackedType t_EnetFcc_Pram;


/*-----------------*/
/* FCC Common PRAM */
/*-----------------*/

typedef  _Packed struct 
{
    UHWORD   riptr;      /* Rx internal temporary data pointer. */
    UHWORD   tiptr;      /* Tx internal temporary data pointer. */
    UHWORD   reserved0;  /* Reserved */
    UHWORD   mrblr;      /* Rx buffer length */
    UWORD    rstate;     /* Rx internal state */
    UWORD    rbase;      /* RX BD base address */
    UHWORD   rbdstat;    /* Rx BD status and control */
    UHWORD   rbdlen;     /* Rx BD data length */
    UWORD    rdptr;      /* rx BD data pointer */
    UWORD    tstate;     /* Tx internal state */
    UWORD    tbase;      /* TX BD base address */
    UHWORD   tbdstat;    /* Tx BD status and control */
    UHWORD   tbdlen;     /* Tx BD data length */
    UWORD    tdptr;      /* Tx  data pointer */
    UWORD    rbptr;      /* rx BD pointer */
    UWORD    tbptr;      /* Tx BD pointer */
    UWORD    rcrc;       /* Temp receive CRC */
    UWORD    reserved_1[0x1];
    UWORD    tcrc;       /* Temp transmit CRC */
    union                /* Protocol-Specific parameter ram */
   {
        t_HdlcFcc_Pram    h;
       t_EnetFcc_Pram    e;
    } SpecificProtocol;      
} _PackedType t_Fcc_Pram;



/*---------------------------------------------------------------------------*/
/*	                MULTICHANNEL COMMUNICATION CONTROLLER (MCC)              */
/*---------------------------------------------------------------------------*/

/******************************************************************************
* Note that each MCC uses multiple logical channels.  We first define the     *
* PRAM for a logical channel (which can be used in either HDLC or Transparent *
* mode;  wherever there are differences, it is specified), followed by the    *
* PRAM for an MCC itself.                                                     *
******************************************************************************/

/*---------------------*/
/* MCC Logical Channel */
/*---------------------*/

typedef  _Packed struct
{
    UWORD    tstate;     /* Tx internal state. */ 
    UWORD    zistate;    /* Zero insertion machine state. */
    UWORD    zidata0;    /* Zero insertion high UHWORD. */
    UWORD    zidata1;    /* Zero insertion low UHWORD. */
    UHWORD   tbdflags;   /* Tx internal BD flags. */
    UHWORD   tbdcnt;     /* Tx internal byte count . */
    UWORD    tbdptr;     /* Tx internal data pointer. */
    UHWORD   intmask;    /* Interrupt mask flags. */
    UHWORD   chamr;      /* channel mode register. */
    UWORD    tcrc;       /* Transparent: reserved. */
                         /* Hdlc: Temp receive CRC.*/
    UWORD    rstate;     /* Rx internal state. */ 
    UWORD    zdstate;    /* Zero deletion machine state. */
    UWORD    zddata0;    /* Zero deletion  high UHWORD. */
    UWORD    zddata1;    /* Zero deletion  low UHWORD. */
    UHWORD   rbdflags;   /* Rx internal BD flags. */
    UHWORD   rbdcnt;     /* Rx internal byte count . */
    UWORD    rbdptr;     /* Rx internal data pointer. */
    UHWORD   maxrlen;    /* Transparent: Max receive buffer length. */
                         /* Hdlc: Max receive frame length. */
    UHWORD   sync_maxcnt;/* Transparent: Receive synchronization pattern*/
                         /* Hdlc: Max length counter. */
    UWORD    rcrc;       /* Transparent: reserved. */
                         /* Hdlc: Temp receive CRC.*/
} _PackedType t_Mch_Pram;


/*----------*/
/* MCC PRAM */
/*----------*/

typedef  _Packed struct
{
    UWORD    mccbase;    /* A pointer to starting address of BD rings. */
    UHWORD   mccstate;   /* Controller state. */
    UHWORD   mrblr;      /* Maximum receive buffer length. */
    UHWORD   grfthr;     /* Global receive frame threshold. */
    UHWORD   grfcnt;     /* Global receive frame counter. */
    UWORD    rinttmp;    /* Temp location for receive interrupt table entry. */                            
    UWORD    data0;      /* Temporary location for holding data. */
    UWORD    data1;      /* Temporary location for holding data. */
    UWORD    tintbase;   /* Transmit interrupt table base address. */
    UWORD    tintptr;    /* Transmit interrupt table pointer. */ 
    UWORD    tinttmp;    /* Temp location for receive interrupt table entry. */
    UHWORD   sctpbase;   /* A pointer to the super channel transmit table*/
    UBYTE    res0[0x2];  /* Reserved area */
    UWORD    c_mask32;   /* CRC constant. */
    UHWORD   xtrabase;   /* A pointer to the beginning of extra parameters */                            
    UHWORD   c_mask16;   /* CRC constant. */
    UWORD    rinttmp0;   /* Temp location for receive interrupt table entry. */                            
    UWORD    rinttmp1;   /* Temp location for receive interrupt table entry. */
    UWORD    rinttmp2;   /* Temp location for receive interrupt table entry. */
    UWORD    rinttmp3;   /* Temp location for receive interrupt table entry. */
    UWORD    rintbase0;  /* Receive interrupt table base address. */
    UWORD    rintptr0;   /* Receive interrupt table pointer. */
    UWORD    rintbase1;  /* Receive interrupt table base address. */
    UWORD    rintptr1;   /* Receive interrupt table pointer. */
    UWORD    rintbase2;  /* Receive interrupt table base address. */
    UWORD    rintptr2;   /* Receive interrupt table pointer. */
    UWORD    rintbase3;  /* Receive interrupt table base address. */
    UWORD    rintptr3;   /* Receive interrupt table pointer. */
    UBYTE    pad[0xa0];
} _PackedType t_Mcc_Pram;



/*---------------------------------------------------------------------------*/
/*                              ATM PARAMETER RAM                            */
/*---------------------------------------------------------------------------*/


/*--------------------------------------*/
/* Address Compression parameters table */
/*--------------------------------------*/

 _Packed struct  AddressCompressionPram 
{
    VUWORD  VptBase;  /* VP-level addressing table base address */
    VUWORD  VctBase;  /* VC-level addressing table base address */
    VUWORD  Vpt1Base; /* VP1-level addressing table base address */  
    VUWORD  Vct1Base; /* VC1-level addressing table base address */
    VUHWORD VpMask;	  /* VP mask for address compression look-up */
} _PackedType;


/*-------------------------------*/
/* External CAM parameters table */
/*-------------------------------*/

 _Packed struct ExtCamPram 
{
    VUWORD  ExtCamBase;		/* Base address of the external CAM */
    VUBYTE  reserved00[4];  /* Reserved */
    VUWORD  ExtCam1Base;	/* Base address of the external CAM1 */
    VUBYTE  reserved01[6];  /* Reserved */
} _PackedType;


/*---------------------------*/
/* ATM mode parameters table */
/*---------------------------*/

typedef  _Packed struct AtmPram 
{
    VUBYTE  reserved0[64];    /* Reserved */
    VUHWORD RxCellTmpBase;    /* Rx cell temporary base address */
    VUHWORD TxCellTmpBase;    /* Tx cell temporary base address */
    VUHWORD UdcTmpBase;       /* UDC temp base address (in UDC mode only) */
    VUHWORD IntRctBase;       /* Internal RTC base address */
    VUHWORD IntTctBase;       /* Internal TCT base address */
    VUHWORD IntTcteBase;      /* Internal ACT base address */
    VUBYTE  reserved1[4];     /* reserved four bytes */
    VUWORD  ExtRctBase;       /* Extrnal RTC base address */
    VUWORD  ExtTctBase;       /* Extrnal TCT base address */
    VUWORD  ExtTcteBase;      /* Extrnal ACT base address */
    VUHWORD UeadOffset;       /* The offset in half-wordunits of the UEAD
                                 entry in the UDC extra header. Should be
                                 even address. If little-endian format is
                                 used, the UeadOffset is of the little-endian
                                 format. */
    VUBYTE  reserved2[2];     /* Reserved */
    VUHWORD PmtBase;		  /* Performance monitoring table base address */
    VUHWORD ApcParamBase;	  /* APC Parameters table base address */
    VUHWORD FbpParamBase;	  /* Free buffer pool parameters base address */
    VUHWORD IntQParamBase;	  /* Interrupt queue parameters table base */
    VUBYTE  reserved3[2];
    VUHWORD UniStatTableBase; /* UNI statistics table base */
    VUWORD  BdBaseExt;        /* BD ring base address extension */
    union 
    {
       struct AddressCompressionPram   AddrCompression;
       struct ExtCamPram               ExtCam;
    } AddrMapping;            /* Address look-up mechanism */
    VUHWORD VciFiltering;     /* VCI filtering enable bits. If bit i is set,
                                 the cell with VCI=i will be sent to the
                                 raw cell queue. The bits 0-2 and 5 should
                                 be zero. */
    VUHWORD Gmode;            /* Global mode */
    VUHWORD CommInfo1;        /* The information field associated with the */
    VUWORD  CommInfo2;        /* last host command */
    VUBYTE  reserved4[4];     /* Reserved */
    VUWORD  CRC32Preset;      /* Preset for CRC32 */
    VUWORD  CRC32Mask;        /* Constant mask for CRC32 */
    VUHWORD AAL1SnpTableBase; /* AAl1 SNP protection look-up table base */
    VUHWORD reserved5;        /* Reserved */
    VUWORD  SrtsBase;         /* External SRTS logic base address. For AAL1
                                 only. Should be 16 bytes aligned */
    VUHWORD IdleBase;         /* Idle cell base address */
    VUHWORD IdleSize;         /* Idle cell size: 52, 56, 60, 64 */
    VUWORD  EmptyCellPayload; /* Empty cell payload (little-indian) */
    
    /* ABR specific only */
    VUWORD  Trm; /* Upper bound on time between F-RM cells for active source */                                 
    VUHWORD Nrm; /* Controls the maximum data cells sent for each F-RM cell. */                           
    VUHWORD Mrm; /* Controls bandwidth between F-RM, B-RM and user data cell */
    VUHWORD Tcr;              /* Tag cell rate */
    VUHWORD AbrRxTcte;        /* ABR reserved area address (2-UHWORD aligned)*/
    VUBYTE  reserved7[76];    /* Reserved */
} _PackedType t_Atm_Pram;



/*---------------------------------------------------------------------------*/
/*	                    SERIAL MANAGEMENT CHANNEL  (SMC)	                 */
/*---------------------------------------------------------------------------*/

typedef  _Packed struct  
{
   UHWORD	rbase;		/* Rx BD Base Address */
   UHWORD	tbase;		/* Tx BD Base Address */
   UBYTE	rfcr;		/* Rx function code */
   UBYTE	tfcr;		/* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	rstate;		/* Rx internal state */
   UWORD	rptr;		/* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	rtemp;		/* Rx temp */
   UWORD    tstate;		/* Tx internal state */
   UWORD	tptr;		/* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -