📄 mpc8260.h
字号:
VUWORD gaddr_h; /* group address filter, high */ VUWORD gaddr_l; /* group address filter, low */ VUHWORD tfcstat; /* out of sequece Tx BD staus. */ VUHWORD tfclen; /* out of sequece Tx BD length. */ VUWORD tfcptr; /* out of sequece Tx BD data pointer. */ VUHWORD mflr; /* maximum frame length reg */ VUHWORD paddr1_h; /* physical address (MSB) */ VUHWORD paddr1_m; /* physical address */ VUHWORD paddr1_l; /* physical address (LSB) */ VUHWORD ibd_cnt; /* internal BD counter. */ VUHWORD ibd_start; /* internal BD start pointer. */ VUHWORD ibd_end; /* internal BD end pointer. */ VUHWORD tx_len; /* tx frame length counter */ VUBYTE ibd_base[0x20]; /* internal micro code usage. */ VUWORD iaddr_h; /* individual address filter, high */ VUWORD iaddr_l; /* individual address filter, low */ VUHWORD minflr; /* minimum frame length reg */ VUHWORD taddr_h; /* temp address (MSB) */ VUHWORD taddr_m; /* temp address */ VUHWORD taddr_l; /* temp address (LSB) */ VUHWORD pad_ptr; /* pad_ptr. */ VUHWORD cf_type; /* RESERVED (flow control frame type coding) */ VUHWORD cf_range; /* flow control frame range. */ VUHWORD max_b; /* max buffer descriptor byte count. */ VUHWORD maxd1; /* max DMA1 length register. */ VUHWORD maxd2; /* max DMA2 length register. */ VUHWORD maxd; /* Rx max DMA. */ VUHWORD dma_cnt; /* Rx DMA counter. */ /* counter: */ VUWORD octc; /* received octets counter. */ VUWORD colc; /* estimated number of collisions */ VUWORD broc; /* received good packets of broadcast address */ VUWORD mulc; /* received good packets of multicast address */ VUWORD uspc; /* received packets shorter then 64 octets. */ VUWORD frgc; /* as uspc + bad packets */ VUWORD ospc; /* received packets longer then 1518 octets. */ VUWORD jbrc; /* as ospc + bad packets */ VUWORD p64c; /* received packets of 64 octets. */ VUWORD p65c; /* received packets of 65-128 octets. */ VUWORD p128c; /* received packets of 128-255 octets. */ VUWORD p256c; /* received packets of 256-511 octets. */ VUWORD p512c; /* received packets of 512-1023 octets. */ VUWORD p1024c; /* received packets of 1024-1518 octets. */ VUWORD cam_buf; /* cam respond internal buffer. */ VUHWORD rfthr; /* received frames threshold */ VUHWORD rfcnt; /* received frames count */} /* _PackedType */ t_EnetFcc_Pram;/*-----------------*//* FCC Common PRAM *//*-----------------*/typedef struct /* 306 bytes */{ VUHWORD riptr; /* Rx internal temporary data pointer. */ VUHWORD tiptr; /* Tx internal temporary data pointer. */ VUHWORD reserved0; /* Reserved */ VUHWORD mrblr; /* Rx buffer length */ VUWORD rstate; /* Rx internal state */ VUWORD rbase; /* RX BD base address */ VUHWORD rbdstat; /* Rx BD status and control */ VUHWORD rbdlen; /* Rx BD data length */ VUWORD rdptr; /* rx BD data pointer */ VUWORD tstate; /* Tx internal state */ VUWORD tbase; /* TX BD base address */ VUHWORD tbdstat; /* Tx BD status and control */ VUHWORD tbdlen; /* Tx BD data length */ VUWORD tdptr; /* Tx data pointer */ VUWORD rbptr; /* rx BD pointer */ VUWORD tbptr; /* Tx BD pointer */ VUWORD rcrc; /* Temp receive CRC */ VUWORD reserved_1[0x1]; VUWORD 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 struct /* 64 bytes */{ VUWORD tstate; /* Tx internal state. */ VUWORD zistate; /* Zero insertion machine state. */ VUWORD zidata0; /* Zero insertion high. */ VUWORD zidata1; /* Zero insertion low. */ VUHWORD tbdflags; /* Tx internal BD flags. */ VUHWORD tbdcnt; /* Tx internal byte count . */ VUWORD tbdptr; /* Tx internal data pointer. */ VUHWORD intmask; /* Interrupt mask flags. */ VUHWORD chamr; /* channel mode register. */ VUWORD tcrc; /* Transparent: reserved. */ /* Hdlc: Temp receive CRC.*/ VUWORD rstate; /* Rx internal state. */ VUWORD zdstate; /* Zero deletion machine state. */ VUWORD zddata0; /* Zero deletion high. */ VUWORD zddata1; /* Zero deletion low. */ VUHWORD rbdflags; /* Rx internal BD flags. */ VUHWORD rbdcnt; /* Rx internal byte count . */ VUWORD rbdptr; /* Rx internal data pointer. */ VUHWORD maxrlen; /* Transparent: Max receive buffer length. */ /* Hdlc: Max receive frame length. */ VUHWORD sync_maxcnt; /* Transparent: Receive synchronization pattern*/ /* Hdlc: Max length counter. */ VUWORD rcrc; /* Transparent: reserved. */ /* Hdlc: Temp receive CRC.*/} /* _PackedType */ t_Mch_Pram;/*--------------------------------------*//* MCC Logical Channel Extra Parameters *//*--------------------------------------*/typedef struct /* 8 bytes */{ VUHWORD tbase; /* TxBD base address. */ VUHWORD tbptr; /* Current TxBD pointer. */ VUHWORD rbase; /* RxBD base address. */ VUHWORD rbptr; /* Current RxBD pointer. */} /* _PackedType */ t_MchXtra_Pram;/*----------*//* MCC PRAM *//*----------*/typedef struct /* 256 bytes */{ VUWORD mccbase; /* A pointer to starting address of BD rings. */ VUHWORD mccstate; /* Controller state. */ VUHWORD mrblr; /* Maximum receive buffer length. */ VUHWORD grfthr; /* Global receive frame threshold. */ VUHWORD grfcnt; /* Global receive frame counter. */ VUWORD rinttmp; /* Temp location for rx interrupt table entry. */ VUWORD data0; /* Temporary location for holding data. */ VUWORD data1; /* Temporary location for holding data. */ VUWORD tintbase; /* Transmit interrupt table base address. */ VUWORD tintptr; /* Transmit interrupt table pointer. */ VUWORD tinttmp; /* Temp location for rx interrupt table entry. */ VUHWORD sctpbase; /* Pointer to the super channel transmit table*/ VUBYTE res0[0x2]; /* Reserved area */ VUWORD c_mask32; /* CRC constant. */ VUHWORD xtrabase; /* Pointer to the beginning of extra parameters */ VUHWORD c_mask16; /* CRC constant. */ VUWORD rinttmp0; /* Temp location for rx interrupt table entry. */ VUWORD rinttmp1; /* Temp location for rx interrupt table entry. */ VUWORD rinttmp2; /* Temp location for rx interrupt table entry. */ VUWORD rinttmp3; /* Temp location for rx interrupt table entry. */ VUWORD rintbase0; /* Rx interrupt table base address. */ VUWORD rintptr0; /* Rx interrupt table pointer. */ VUWORD rintbase1; /* Rx interrupt table base address. */ VUWORD rintptr1; /* Rx interrupt table pointer. */ VUWORD rintbase2; /* Rx interrupt table base address. */ VUWORD rintptr2; /* Rx interrupt table pointer. */ VUWORD rintbase3; /* Rx interrupt table base address. */ VUWORD rintptr3; /* Rx interrupt table pointer. */ VUBYTE pad[0xa0];} /* _PackedType */ t_Mcc_Pram;/*---------------------------------------------------------------------------*//* ATM PARAMETER RAM *//*---------------------------------------------------------------------------*//*--------------------------------------*//* Address Compression parameters table *//*--------------------------------------*/struct AddressCompressionPram /* 18 bytes */{ 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 *//*-------------------------------*/struct ExtCamPram /* 18 bytes */{ 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 struct AtmPram /* 274 bytes */{ VUBYTE reserved0[64]; /* Reserved */ VUHWORD RxCellTmpBase; /* Rx cell temporary base address */ VUHWORD TxCellTmpBase; /* Tx cell temporary base address */ VUHWORD VUdcTmpBase; /* VUDC temp base address (in VUDC 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 VUeadOffset; /* The offset in half-wordunits of the VUEAD entry in the VUDC extra header. Should be even address. If little-endian format is used, the VUeadOffset 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 VUniStatTableBase; /* VUNI 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; /* VUpper 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 struct { VUHWORD rbase; /* Rx BD Base Address */ VUHWORD tbase; /* Tx BD Base Address */ VUBYTE rfcr; /* Rx function code */ VUBYTE tfcr; /* Tx function code */ VUHWORD mrblr; /* Rx buffer length */ VUWORD rstate; /* Rx internal state */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -