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 + -
显示快捷键?