⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_emachal.h

📁 SEED DM642平台,jpeg_loopback为JPEG算法的源码
💻 H
📖 第 1 页 / 共 5 页
字号:
/*****************************************************************************\*           Copyright (C) 1999-2003 Texas Instruments Incorporated.*                           All Rights Reserved*------------------------------------------------------------------------------* FILENAME...... csl_emachal.h* DATE CREATED.. 02/04/2002* LAST MODIFIED. 03/05/2003*------------------------------------------------------------------------------* REGISTERS/PARAMETERS** TXIDVER           - TX Identification and Version Register* TXCONTROL         - TX Control Register* TXTEARDOWN        - TX Teardown Register* RXIDVER           - RX Identification and Version Register* RXCONTROL         - RX Control Register* RXTEARDOWN        - RX Teardown Register* RXMBPENABLE       - RX Mulicast/Bcast/Promisc Channel Enable Register* RXUNICASTSET      - RX Unicast Set Register* RXUNICASTCLEAR    - RX Unicast Clear Register* RXMAXLEN          - RX Maximum Length Register* RXBUFFEROFFSET    - RX Buffer Offset Register* RXFILTERLOWTHRESH - RX Filer Low Priority Packets Threshhold* RX0FLOWTHRESH     - RX Channel 0 Flow Control Threshhold* RX1FLOWTHRESH     - RX Channel 1 Flow Control Threshhold* RX2FLOWTHRESH     - RX Channel 2 Flow Control Threshhold* RX3FLOWTHRESH     - RX Channel 3 Flow Control Threshhold* RX4FLOWTHRESH     - RX Channel 4 Flow Control Threshhold* RX5FLOWTHRESH     - RX Channel 5 Flow Control Threshhold* RX6FLOWTHRESH     - RX Channel 6 Flow Control Threshhold* RX7FLOWTHRESH     - RX Channel 7 Flow Control Threshhold* RX0FREEBUFFER     - RX Channel 0 Free Buffer Count Register* RX1FREEBUFFER     - RX Channel 1 Free Buffer Count Register* RX2FREEBUFFER     - RX Channel 2 Free Buffer Count Register* RX3FREEBUFFER     - RX Channel 3 Free Buffer Count Register* RX4FREEBUFFER     - RX Channel 4 Free Buffer Count Register* RX5FREEBUFFER     - RX Channel 5 Free Buffer Count Register* RX6FREEBUFFER     - RX Channel 6 Free Buffer Count Register* RX7FREEBUFFER     - RX Channel 7 Free Buffer Count Register* MACCONTROL        - MAC Control Register* MACSTATUS         - MAC Status Register* EMCONTROL         - Emulation Control Register* TXINTSTATRAW      - TX Interrupt Status Register (Unmasked)* TXINTSTATMASKED   - TX Interrupt Status Register (Masked)* TXINTMASKSET      - TX Interrupt Mask Set Register* TXINTMASKCLEAR    - TX Interrupt Mask Clear Register* MACINVECTOR       - MAC Input Vector* MACEOIVECTOR      - MAC EOI Vector* RXINTSTATRAW      - RX Interrupt Status Register (Unmasked)* RXINTSTATMASKED   - RX Interrupt Status Register (Masked)* RXINTMASKSET      - RX Interrupt Mask Set Register* RXINTMASKCLEAR    - RX Interrupt Mask Clear Register* MACINTSTATRAW     - MAC Interrupt Status Register (Unmasked)* MACINTSTATMASKED  - MAC Interrupt Status Register (Masked)* MACINTMASKSET     - MAC Interrupt Mask Set Register* MACINTMASKCLEAR   - MAC Interrupt Mask Clear Register* MACADDRL0         - MAC Address Channel 0 Lower Byte Register* MACADDRL1         - MAC Address Channel 1 Lower Byte Register* MACADDRL2         - MAC Address Channel 2 Lower Byte Register* MACADDRL3         - MAC Address Channel 3 Lower Byte Register* MACADDRL4         - MAC Address Channel 4 Lower Byte Register* MACADDRL5         - MAC Address Channel 5 Lower Byte Register* MACADDRL6         - MAC Address Channel 6 Lower Byte Register* MACADDRL7         - MAC Address Channel 7 Lower Byte Register* MACADDRM          - MAC Address Middle Byte Register* MACADDRH          - MAC Address High Bytes Register* MACHASH1          - MAC Address Hash 1 Register* MACHASH2          - MAC Address Hash 2 Register* BOFFTEST          - Backoff Test Register* TPACETEST         - Transmit Pacing Test Register* RXPAUSE           - Receive Pause Timer Register* TXPAUSE           - Transmit Pause Timer Register* RXGOODFRAMES      - Number of Good Frames Received* RXBCASTFRAMES     - Number of Good Broadcast Frames Received* RXMCASTFRAMES     - Number of Good Multicast Frames Received* RXPAUSEFRAMES     - Number of PauseRX Frames Received* RXCRCERRORS       - Number of Frames Received with CRC Errors* RXALIGNCODEERRORS - Number of Frames Received with Alignment/Code Errors* RXOVERSIZED       - Number of Oversized Frames Received* RXJABBER          - Number of Jabber Frames Received* RXUNDERSIZED      - Number of Undersized Frames Received* RXFRAGMENTS       - Number of RX Frame Fragments Received* RXFILTERED        - Number of RX Frames Filtered Based on Address* RXQOSFILTERED     - Number of RX Frames Filtered Based on QoS Filtering* RXOCTETS          - Total Number of Received Bytes in Good Frames* TXGOODFRAMES      - Number of Good Frames Sent* TXBCASTFRAMES     - Number of Good Broadcast Frames Sent* TXMCASTFRAMES     - Number of Good Multicast Frames Sent* TXPAUSEFRAMES     - Number of PauseTX Frames Sent* TXDEFERRED        - Number of Frames Where Transmission was Deferred* TXCOLLISION       - Total Number of Frames Sent That Experienced a Collision* TXSINGLECOLL      - Number of Frames Sent with Exactly One Collision* TXMULTICOLL       - Number of Frames Sent with Multiple Colisions* TXEXCESSIVECOLL   - Number of TX Frames Lost Due to Excessive Collisions* TXLATECOLL        - Number of TX Frames Lost Due to a Late Collision* TXUNDERRUN        - Number of TX Frames Lost with Transmit Underrun Error* TXCARRIERSLOSS    - Numebr of TX Frames Lost Due to Carrier Sense Loss* TXOCTETS          - Total Nu,ber of Transmitted Bytes in Good Frames* FRAME64           - Total TX & RX Frames with Octet Size of 64* FRAME65T127       - Total TX & RX Frames with Octet Size of 65 to 127* FRAME128T255      - Total TX & RX Frames with Octet Size of 128 to 255* FRAME256T511      - Total TX & RX Frames with Octet Size of 256 to 511* FRAME512T1023     - Total TX & RX Frames with Octet Size of 512 to 1023* FRAME1024TUP      - Total TX & RX Frames with Octet Size of 1024 or above* NETOCTETS         - Sum of all Octets Sent or Received on the Network* RXSOFOVERRUNS     - Total RX Start of Frame Overruns (FIFO or DMA)* RXMOFOVERRUNS     - Total RX Middle of Frame Overruns (FIFO or DMA)* RXDMAOVERRUNS     - Total RX DMA Overruns* TX0HDP            - TX Channel 0 DMA Head Descriptor Pointer Register* TX1HDP            - TX Channel 1 DMA Head Descriptor Pointer Register* TX2HDP            - TX Channel 2 DMA Head Descriptor Pointer Register* TX3HDP            - TX Channel 3 DMA Head Descriptor Pointer Register* TX4HDP            - TX Channel 4 DMA Head Descriptor Pointer Register* TX5HDP            - TX Channel 5 DMA Head Descriptor Pointer Register* TX6HDP            - TX Channel 6 DMA Head Descriptor Pointer Register* TX7HDP            - TX Channel 7 DMA Head Descriptor Pointer Register* RX0HDP            - RX Channel 0 DMA Head Descriptor Pointer Register* RX1HDP            - RX Channel 1 DMA Head Descriptor Pointer Register* RX2HDP            - RX Channel 2 DMA Head Descriptor Pointer Register* RX3HDP            - RX Channel 3 DMA Head Descriptor Pointer Register* RX4HDP            - RX Channel 4 DMA Head Descriptor Pointer Register* RX5HDP            - RX Channel 5 DMA Head Descriptor Pointer Register* RX6HDP            - RX Channel 6 DMA Head Descriptor Pointer Register* RX7HDP            - RX Channel 7 DMA Head Descriptor Pointer Register* TX0INTACK         - TX Channel 0 Interrupt Acknowledge Register* TX1INTACK         - TX Channel 1 Interrupt Acknowledge Register* TX2INTACK         - TX Channel 2 Interrupt Acknowledge Register* TX3INTACK         - TX Channel 3 Interrupt Acknowledge Register* TX4INTACK         - TX Channel 4 Interrupt Acknowledge Register* TX5INTACK         - TX Channel 5 Interrupt Acknowledge Register* TX6INTACK         - TX Channel 6 Interrupt Acknowledge Register* TX7INTACK         - TX Channel 7 Interrupt Acknowledge Register* RX0INTACK         - RX Channel 0 Interrupt Acknowledge Register* RX1INTACK         - RX Channel 1 Interrupt Acknowledge Register* RX2INTACK         - RX Channel 2 Interrupt Acknowledge Register* RX3INTACK         - RX Channel 3 Interrupt Acknowledge Register* RX4INTACK         - RX Channel 4 Interrupt Acknowledge Register* RX5INTACK         - RX Channel 5 Interrupt Acknowledge Register* RX6INTACK         - RX Channel 6 Interrupt Acknowledge Register* RX7INTACK         - RX Channel 7 Interrupt Acknowledge Register*** WRAPPER REGISTERS** INTCTL            - Interrupt control register*** DESCRIPTOR FIELDS** DSC_NEXTDSC       - Pointer to Next Descriptor* DSC_BUFFER        - Pointer to Buffer* DSC_OFFLEN        - Buffer Offset and Length* DSC_STATUS        - Packet Status**\******************************************************************************/#ifndef _CSL_EMACHAL_H#define _CSL_EMACHAL_H_#include <csl_stdinc.h>#include <csl_chip.h>#if (EMAC_SUPPORT)/******************************************************************************\* EMAC Register section\******************************************************************************/#define _EMAC_BASE_ADDR             0x01c80000u/* ----------------- *//* FIELD MAKE MACROS *//* ----------------- *//* User Supplied Value */#define EMAC_FMK(REG,FIELD,x)\  ((x<<_EMAC_##REG##_##FIELD##_SHIFT)&_EMAC_##REG##_##FIELD##_MASK)/* Symbolic Value Name */#define EMAC_FMKS(REG,FIELD,SYM)\  ((EMAC_##REG##_##FIELD##_##SYM<<_EMAC_##REG##_##FIELD##_SHIFT)\  &_EMAC_##REG##_##FIELD##_MASK)/* Channel Flag */#define EMAC_FMKCHF(CHANNEL)    (1u<<(CHANNEL))/* -------------------------------- *//* RAW REGISTER/FIELD ACCESS MACROS *//* -------------------------------- */#define EMAC_ADDR(REG)\    ((volatile Uint32 *)_EMAC_##REG##_ADDR)#define EMAC_REG(REG)\    *(volatile Uint32*)(_EMAC_##REG##_ADDR)/* Standard Registers */#define EMAC_RGET(REG)\    (*(volatile Uint32*)(_EMAC_##REG##_ADDR))#define EMAC_RSET(REG,x)\    (*(volatile Uint32*)(_EMAC_##REG##_ADDR)=(x))#define EMAC_FGET(REG,FIELD)\    ((EMAC_RGET(REG)&_EMAC_##REG##_##FIELD##_MASK)\    >>_EMAC_##REG##_##FIELD##_SHIFT)#define EMAC_FSET(REG,FIELD,x)\    EMAC_RSET(REG,(EMAC_RGET(REG)&~_EMAC_##REG##_##FIELD##_MASK)|\    EMAC_FMK(REG,FIELD,x))#define EMAC_FSETS(REG,FIELD,SYM)\    EMAC_RSET(REG,(EMAC_RGET(REG)&~_EMAC_##REG##_##FIELD##_MASK)|\    EMAC_FMKS(REG,FIELD,SYM))/* Index Based Registers */#define EMAC_RGETI(REGBASE,IDX)\    (*(volatile Uint32*)(_EMAC_##REGBASE##_BASEADDR+((IDX)*sizeof(Uint32 *))))#define EMAC_RSETI(REGBASE,IDX,x)\    (*(volatile Uint32*)(_EMAC_##REGBASE##_BASEADDR+((IDX)*sizeof(Uint32 *)))=(x))#define EMAC_FGETI(REGBASE,IDX,FIELD)\    ((EMAC_RGETI(REGBASE,IDX)&_EMAC_##REGBASE##_##FIELD##_MASK)\    >>_EMAC_##REGBASE##_##FIELD##_SHIFT)#define EMAC_FSETI(REGBASE,IDX,FIELD,x)\    EMAC_RSETI(REGBASE,IDX,(EMAC_RGETI(REGBASE,IDX)&\    ~_EMAC_##REGBASE##_##FIELD##_MASK)|EMAC_FMK(REGBASE,FIELD,x))#define EMAC_FSETSI(REGBASE,IDX,FIELD,SYM)\    EMAC_RSETI(REGBASE,IDX,(EMAC_RGETI(REGBASE,IDX)&\    ~_EMAC_##REGBASE##_##FIELD##_MASK)|EMAC_FMKS(REGBASE,FIELD,SYM))/******************************************************************************\* EMAC Descriptor section\******************************************************************************/#define _EMAC_DSC_BASE_ADDR         0x01c81000u/* EMAC Descriptor Size and Element Count */#define _EMAC_DSC_SIZE              4096#define _EMAC_DSC_ENTRY_SIZE        16#define _EDMA_DSC_ENTRY_COUNT       (_EMAC_DSC_SIZE/_EMAC_DSC_ENTRY_SIZE)/*// EMAC Descriptor//// The following is the format of a single buffer descriptor// on the EMAC.*/typedef struct _EMAC_Desc {  struct _EMAC_Desc *pNext;     /* Pointer to next descriptor in chain */  Uint8             *pBuffer;   /* Pointer to data buffer              */  Uint32            BufOffLen;  /* Buffer Offset(MSW) and Length(LSW)  */  Uint32            PktFlgLen;  /* Packet Flags(MSW) and Length(LSW)   */} EMAC_Desc;/* ------------------------ *//* DESCRIPTOR ACCESS MACROS *//* ------------------------ *//* Packet Flags */#define EMAC_DSC_FLAG_SOP                       0x80000000u#define EMAC_DSC_FLAG_EOP                       0x40000000u#define EMAC_DSC_FLAG_OWNER                     0x20000000u#define EMAC_DSC_FLAG_EOQ                       0x10000000u#define EMAC_DSC_FLAG_TDOWNCMPLT                0x08000000u#define EMAC_DSC_FLAG_PASSCRC                   0x04000000u#define EMAC_DSC_FLAG_JABBER                    0x02000000u#define EMAC_DSC_FLAG_OVERSIZE                  0x01000000u#define EMAC_DSC_FLAG_FRAGMENT                  0x00800000u#define EMAC_DSC_FLAG_UNDERSIZED                0x00400000u#define EMAC_DSC_FLAG_CONTROL                   0x00200000u#define EMAC_DSC_FLAG_OVERRUN                   0x00100000u#define EMAC_DSC_FLAG_CODEERROR                 0x00080000u#define EMAC_DSC_FLAG_ALIGNERROR                0x00040000u#define EMAC_DSC_FLAG_CRCERROR                  0x00020000u#define EMAC_DSC_FLAG_NOMATCH                   0x00010000u/******************************************************************************\* module level register/field access macros\******************************************************************************//******************************************************************************\* _____________________* |                   |* |  TXIDVER          |* |___________________|** TXIDVER           - TX Identification and Version Register** FIELDS (msb -> lsb)* (r)   TXIDENT* (r)   TXMAJORVER* (r)   TXMINORVER** MACROS SUPPORTED*  EMAC_FMK     y*  EMAC_FMKS    .*  EMAC_FMKCHF  .*  EMAC_ADDR    y*  EMAC_REG     y*  EMAC_RGET    y*  EMAC_RSET    y*  EMAC_FGET    y*  EMAC_FSET    y*  EMAC_FSETS   .*  EMAC_RGETI   .*  EMAC_RSETI   .*  EMAC_FGETI   .*  EMAC_FSETI   .*  EMAC_FSETSI  .*\******************************************************************************/#define _EMAC_TXIDVER_ADDR                      (_EMAC_BASE_ADDR+0x0000u)#define EMAC_TXIDVER                            EMAC_REG(TXIDVER)#define _EMAC_TXIDVER_TXIDENT_MASK              0xFFFF0000u#define _EMAC_TXIDVER_TXIDENT_SHIFT             16u#define  EMAC_TXIDVER_TXIDENT_DEFAULT           0x00000004u#define _EMAC_TXIDVER_TXMAJORVER_MASK           0x0000FF00u#define _EMAC_TXIDVER_TXMAJORVER_SHIFT          8u#define  EMAC_TXIDVER_TXMAJORVER_DEFAULT        0x00000000u#define _EMAC_TXIDVER_TXMINORVER_MASK           0x000000FFu#define _EMAC_TXIDVER_TXMINORVER_SHIFT          0u#define  EMAC_TXIDVER_TXMINORVER_DEFAULT        0x00000000u/******************************************************************************\* _____________________* |                   |* |  TXCONTROL        |* |___________________|** TXCONTROL         - TX Control Register** FIELDS (msb -> lsb)* (rw)  TXEN        - Transmit Enable** MACROS SUPPORTED*  EMAC_FMK     y*  EMAC_FMKS    y*  EMAC_FMKCHF  .*  EMAC_ADDR    y*  EMAC_REG     y*  EMAC_RGET    y*  EMAC_RSET    y*  EMAC_FGET    y*  EMAC_FSET    y*  EMAC_FSETS   .*  EMAC_RGETI   .*  EMAC_RSETI   .*  EMAC_FGETI   .*  EMAC_FSETI   .*  EMAC_FSETSI  .

⌨️ 快捷键说明

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