📄 mpc8260.h
字号:
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
{
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
{
VUWORD tstate; /* Tx internal state. */
VUWORD zistate; /* Zero insertion machine state. */
VUWORD zidata0; /* Zero insertion high VUHWORD. */
VUWORD zidata1; /* Zero insertion low VUHWORD. */
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 VUHWORD. */
VUWORD zddata1; /* Zero deletion low VUHWORD. */
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 PRAM */
/*----------*/
typedef struct
{
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
{
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
{
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
{
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 */
VUWORD rptr; /* Rx internal data pointer */
VUHWORD rbptr; /* rb BD Pointer */
VUHWORD rcount; /* Rx internal byte count */
VUWORD rtemp; /* Rx temp */
VUWORD tstate; /* Tx internal state */
VUWORD tptr; /* Tx internal data pointer */
VUHWORD tbptr; /* Tx BD pointer */
VUHWORD tcount; /* Tx byte count */
VUWORD ttemp; /* Tx temp */
/* SMC VUART-specific PRAM */
VUHWORD max_idl; /* Maximum IDLE Characters */
VUHWORD idlc; /* Temporary IDLE Counter */
VUHWORD brkln; /* Last Rx Break Length */
VUHWORD brkec; /* Rx Break Condition Counter */
VUHWORD brkcr; /* Break Count Register (Tx) */
VUHWORD r_mask; /* Temporary bit mask */
} _PackedType t_Smc_Pram;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -