mpc8260.h

来自「eCos操作系统源码」· C头文件 代码 · 共 1,235 行 · 第 1/4 页

H
1,235
字号
    CYG_WORD    c_pres;       /* CRC preset */    CYG_WORD16   disfc;        /* discarded frame counter */    CYG_WORD16   crcec;        /* CRC error counter */    CYG_WORD16   abtsc;        /* abort sequence counter */    CYG_WORD16   nmarc;        /* nonmatching address rx cnt */    CYG_WORD    max_cnt;      /* maximum length counter */    CYG_WORD16   mflr;         /* maximum frame length reg */    CYG_WORD16   rfthr;        /* received frames threshold */    CYG_WORD16   rfcnt;        /* received frames count */    CYG_WORD16   hmask;        /* user defined frm addr mask */    CYG_WORD16   haddr1;       /* user defined frm address 1 */    CYG_WORD16   haddr2;       /* user defined frm address 2 */    CYG_WORD16   haddr3;       /* user defined frm address 3 */    CYG_WORD16   haddr4;       /* user defined frm address 4 */    CYG_WORD16   tmp;          /* temp */    CYG_WORD16   tmp_mb;       /* temp */} _PackedType t_HdlcFcc_Pram;/*--------------*//* FCC Ethernet *//*--------------*/typedef _Packed struct {    CYG_WORD    stat_bus;       /* Internal use buffer. */    CYG_WORD    cam_ptr;        /* CAM address. */    CYG_WORD    c_mask;         /* CRC constant mask*/    CYG_WORD    c_pres;      /* CRC preset */    CYG_WORD    crcec;          /* CRC error counter */    CYG_WORD    alec;           /* alignment error counter */    CYG_WORD    disfc;          /* discarded frame counter */    CYG_WORD16   ret_lim;        /* Retry limit threshold. */    CYG_WORD16   ret_cnt;        /* Retry limit counter. */    CYG_WORD16   p_per;          /* persistence */    CYG_WORD16   boff_cnt;       /* back-off counter */    CYG_WORD    gaddr_h;        /* group address filter, high */    CYG_WORD    gaddr_l;        /* group address filter, low */    CYG_WORD16   tfcstat;        /* out of sequece Tx BD staus. */    CYG_WORD16   tfclen;         /* out of sequece Tx BD length. */    CYG_WORD    tfcptr;         /* out of sequece Tx BD data pointer. */    CYG_WORD16   mflr;           /* maximum frame length reg */    CYG_WORD16   paddr1_h;       /* physical address (MSB) */    CYG_WORD16   paddr1_m;       /* physical address */    CYG_WORD16   paddr1_l;       /* physical address (LSB) */    CYG_WORD16   ibd_cnt;        /* internal BD counter. */    CYG_WORD16   ibd_start;      /* internal BD start pointer. */    CYG_WORD16   ibd_end;        /* internal BD end pointer. */    CYG_WORD16   tx_len;         /* tx frame length counter */    CYG_BYTE    ibd_base[0x20]; /* internal micro code usage. */    CYG_WORD    iaddr_h;        /* individual address filter, high */    CYG_WORD    iaddr_l;        /* individual address filter, low */    CYG_WORD16   minflr;         /* minimum frame length reg */    CYG_WORD16   taddr_h;        /* temp address (MSB) */    CYG_WORD16   taddr_m;        /* temp address */    CYG_WORD16   taddr_l;        /* temp address (LSB) */    CYG_WORD16   pad_ptr;        /* pad_ptr. */    CYG_WORD16   cf_type;        /* flow control frame type coding. */    CYG_WORD16   cf_range;       /* flow control frame range. */    CYG_WORD16   max_b;          /* max buffer descriptor byte count. */    CYG_WORD16   maxd1;          /* max DMA1 length register. */    CYG_WORD16   maxd2;          /* max DMA2 length register. */    CYG_WORD16   maxd;           /* Rx max DMA. */    CYG_WORD16   dma_cnt;        /* Rx DMA counter. */        /* counter: */    CYG_WORD    octc;           /* received octets counter. */    CYG_WORD    colc;           /* estimated number of collisions */    CYG_WORD    broc;           /* received good packets of broadcast address */    CYG_WORD    mulc;           /* received good packets of multicast address */    CYG_WORD    uspc;           /* received packets shorter then 64 octets. */    CYG_WORD    frgc;           /* as uspc + bad packets */    CYG_WORD    ospc;           /* received packets longer then 1518 octets. */    CYG_WORD    jbrc;           /* as ospc + bad packets  */    CYG_WORD    p64c;           /* received packets of 64 octets.. */    CYG_WORD    p65c;           /* received packets of 65-128 octets.. */    CYG_WORD    p128c;          /* received packets of 128-255 octets.. */    CYG_WORD    p256c;          /* received packets of 256-511 octets.. */    CYG_WORD    p512c;          /* received packets of 512-1023 octets.. */    CYG_WORD    p1024c;         /* received packets of 1024-1518 octets.. */    CYG_WORD    cam_buf;        /* cam respond internal buffer. */    CYG_WORD16   rfthr;          /* received frames threshold */    CYG_WORD16   rfcnt;          /* received frames count */} _PackedType t_EnetFcc_Pram;/*-----------------*//* FCC Common PRAM *//*-----------------*/typedef _Packed struct {    CYG_WORD16   riptr;      /* Rx internal temporary data pointer. */    CYG_WORD16   tiptr;      /* Tx internal temporary data pointer. */    CYG_WORD16   reserved0;  /* Reserved */    CYG_WORD16   mrblr;      /* Rx buffer length */    CYG_WORD    rstate;     /* Rx internal state */    CYG_WORD    rbase;      /* RX BD base address */    CYG_WORD16   rbdstat;    /* Rx BD status and control */    CYG_WORD16   rbdlen;     /* Rx BD data length */    CYG_WORD    rdptr;      /* rx BD data pointer */    CYG_WORD    tstate;     /* Tx internal state */    CYG_WORD    tbase;      /* TX BD base address */    CYG_WORD16   tbdstat;    /* Tx BD status and control */    CYG_WORD16   tbdlen;     /* Tx BD data length */    CYG_WORD    tdptr;      /* Tx  data pointer */    CYG_WORD    rbptr;      /* rx BD pointer */    CYG_WORD    tbptr;      /* Tx BD pointer */    CYG_WORD    rcrc;       /* Temp receive CRC */    CYG_WORD    reserved_1[0x1];    CYG_WORD    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{    CYG_WORD    tstate;     /* Tx internal state. */     CYG_WORD    zistate;    /* Zero insertion machine state. */    CYG_WORD    zidata0;    /* Zero insertion high CYG_WORD16. */    CYG_WORD    zidata1;    /* Zero insertion low CYG_WORD16. */    CYG_WORD16   tbdflags;   /* Tx internal BD flags. */    CYG_WORD16   tbdcnt;     /* Tx internal byte count . */    CYG_WORD    tbdptr;     /* Tx internal data pointer. */    CYG_WORD16   intmask;    /* Interrupt mask flags. */    CYG_WORD16   chamr;      /* channel mode register. */    CYG_WORD    tcrc;       /* Transparent: reserved. */                         /* Hdlc: Temp receive CRC.*/    CYG_WORD    rstate;     /* Rx internal state. */     CYG_WORD    zdstate;    /* Zero deletion machine state. */    CYG_WORD    zddata0;    /* Zero deletion  high CYG_WORD16. */    CYG_WORD    zddata1;    /* Zero deletion  low CYG_WORD16. */    CYG_WORD16   rbdflags;   /* Rx internal BD flags. */    CYG_WORD16   rbdcnt;     /* Rx internal byte count . */    CYG_WORD    rbdptr;     /* Rx internal data pointer. */    CYG_WORD16   maxrlen;    /* Transparent: Max receive buffer length. */                         /* Hdlc: Max receive frame length. */    CYG_WORD16   sync_maxcnt;/* Transparent: Receive synchronization pattern*/                         /* Hdlc: Max length counter. */    CYG_WORD    rcrc;       /* Transparent: reserved. */                         /* Hdlc: Temp receive CRC.*/} _PackedType t_Mch_Pram;/*----------*//* MCC PRAM *//*----------*/typedef _Packed struct{    CYG_WORD     mccbase;    /* A pointer to starting address of BD rings. */    CYG_WORD16   mccstate;   /* Controller state. */    CYG_WORD16   mrblr;      /* Maximum receive buffer length. */    CYG_WORD16   grfthr;     /* Global receive frame threshold. */    CYG_WORD16   grfcnt;     /* Global receive frame counter. */    CYG_WORD     rinttmp;    /* Temp location for receive interrupt table entry. */                                CYG_WORD     data0;      /* Temporary location for holding data. */    CYG_WORD     data1;      /* Temporary location for holding data. */    CYG_WORD     tintbase;   /* Transmit interrupt table base address. */    CYG_WORD     tintptr;    /* Transmit interrupt table pointer. */     CYG_WORD     tinttmp;    /* Temp location for receive interrupt table entry. */    CYG_WORD16   sctpbase;   /* A pointer to the super channel transmit table*/    CYG_BYTE     res0[0x2];  /* Reserved area */    CYG_WORD     c_mask32;   /* CRC constant. */    CYG_WORD16   xtrabase;   /* A pointer to the beginning of extra parameters */                                CYG_WORD16   c_mask16;   /* CRC constant. */    CYG_WORD     rinttmp0;   /* Temp location for receive interrupt table entry. */                                CYG_WORD     rinttmp1;   /* Temp location for receive interrupt table entry. */    CYG_WORD     rinttmp2;   /* Temp location for receive interrupt table entry. */    CYG_WORD     rinttmp3;   /* Temp location for receive interrupt table entry. */    CYG_WORD     rintbase0;  /* Receive interrupt table base address. */    CYG_WORD     rintptr0;   /* Receive interrupt table pointer. */    CYG_WORD     rintbase1;  /* Receive interrupt table base address. */    CYG_WORD     rintptr1;   /* Receive interrupt table pointer. */    CYG_WORD     rintbase2;  /* Receive interrupt table base address. */    CYG_WORD     rintptr2;   /* Receive interrupt table pointer. */    CYG_WORD     rintbase3;  /* Receive interrupt table base address. */    CYG_WORD     rintptr3;   /* Receive interrupt table pointer. */    CYG_BYTE     pad[0xa0];} _PackedType t_Mcc_Pram;/*---------------------------------------------------------------------------*//*                              ATM PARAMETER RAM                            *//*---------------------------------------------------------------------------*//*--------------------------------------*//* Address Compression parameters table *//*--------------------------------------*/_Packed struct AddressCompressionPram {    volatile CYG_WORD  VptBase;  /* VP-level addressing table base address */    volatile CYG_WORD  VctBase;  /* VC-level addressing table base address */    volatile CYG_WORD  Vpt1Base; /* VP1-level addressing table base address */      volatile CYG_WORD  Vct1Base; /* VC1-level addressing table base address */    volatile CYG_WORD16 VpMask;    /* VP mask for address compression look-up */} _PackedType;/*-------------------------------*//* External CAM parameters table *//*-------------------------------*/_Packed struct ExtCamPram {    volatile CYG_WORD  ExtCamBase;    /* Base address of the external CAM */    volatile CYG_BYTE  reserved00[4];  /* Reserved */    volatile CYG_WORD  ExtCam1Base;   /* Base address of the external CAM1 */    volatile CYG_BYTE  reserved01[6];  /* Reserved */} _PackedType;/*---------------------------*//* ATM mode parameters table *//*---------------------------*/typedef _Packed struct AtmPram {    volatile CYG_BYTE  reserved0[64];    /* Reserved */    volatile CYG_WORD16 RxCellTmpBase;    /* Rx cell temporary base address */    volatile CYG_WORD16 TxCellTmpBase;    /* Tx cell temporary base address */    volatile CYG_WORD16 UdcTmpBase;       /* UDC temp base address (in UDC mode only) */    volatile CYG_WORD16 IntRctBase;       /* Internal RTC base address */    volatile CYG_WORD16 IntTctBase;       /* Internal TCT base address */    volatile CYG_WORD16 IntTcteBase;      /* Internal ACT base address */    volatile CYG_BYTE  reserved1[4];     /* reserved four bytes */    volatile CYG_WORD  ExtRctBase;       /* Extrnal RTC base address */    volatile CYG_WORD  ExtTctBase;       /* Extrnal TCT base address */    volatile CYG_WORD  ExtTcteBase;      /* Extrnal ACT base address */    volatile CYG_WORD16 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. */    volatile CYG_BYTE  reserved2[2];     /* Reserved */    volatile CYG_WORD16 PmtBase;      /* Performance monitoring table base address */    volatile CYG_WORD16 ApcParamBase;    /* APC Parameters table base address */    volatile CYG_WORD16 FbpParamBase;    /* Free buffer pool parameters base address */    volatile CYG_WORD16 IntQParamBase;   /* Interrupt queue parameters table base */    volatile CYG_BYTE  reserved3[2];    volatile CYG_WORD16 UniStatTableBase; /* UNI statistics table base */    volatile CYG_WORD  BdBaseExt;        /* BD ring base address extension */    union     {       struct AddressCompressionPram   AddrCompression;       struct ExtCamPram               ExtCam;    } AddrMapping;            /* Address look-up mechanism */    volatile CYG_WORD16 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. */    volatile CYG_WORD16 Gmode;            /* Global mode */    volatile CYG_WORD16 CommInfo1;        /* The information field associated with the */    volatile CYG_WORD  CommInfo2;        /* last host command */    volatile CYG_BYTE  reserved4[4];     /* Reserved */    volatile CYG_WORD  CRC32Preset;      /* Preset for CRC32 */    volatile CYG_WORD  CRC32Mask;        /* Constant mask for CRC32 */    volatile CYG_WORD16 AAL1SnpTableBase; /* AAl1 SNP protection look-up table base */    volatile CYG_WORD16 reserved5;        /* Reserved */    volatile CYG_WORD  SrtsBase;         /* External SRTS logic base address. For AAL1                                 only. Should be 16 bytes aligned */    volatile CYG_WORD16 IdleBase;         /* Idle cell base address */    volatile CYG_WORD16 IdleSize;         /* Idle cell size: 52, 56, 60, 64 */    volatile CYG_WORD  EmptyCellPayload; /* Empty cell payload (little-indian) */        /* ABR specific only */    volatile CYG_WORD  Trm; /* Upper bound on time between F-RM cells for active source */                                     volatile CYG_WORD16 Nrm; /* Controls the maximum data cells sent for each F-RM cell. */                               volatile CYG_WORD16 Mrm; /* Controls bandwidth between F-RM, B-RM and user data cell */    volatile CYG_WORD16 Tcr;              /* Tag cell rate */    volatile CYG_WORD16 AbrRxTcte;        /* ABR reserved area address (2-CYG_WORD16 aligned)*/    volatile CYG_BYTE  reserved7[76];    /* Reserved */} _PackedType t_Atm_Pram;/*---------------------------------------------------------------------------*//*                     SERIAL MANAGEMENT CHANNEL  (SMC)                   *//*---------------------------------------------------------------------------*/typedef _Packed struct  {   CYG_WORD16   rbase;      /* Rx BD Base Address */   CYG_WORD16   tbase;      /* Tx BD Base Address */   CYG_BYTE    rfcr;    /* Rx function code */   CYG_BYTE    tfcr;    /* Tx function code */

⌨️ 快捷键说明

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