📄 mpc8260.h
字号:
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 + -