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

📄 zl5011xcpu.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
字号:
/*******************************************************************************
*
*  File name:              zl5011xCpu.h
*
*  Version:                20
*
*  Author:                 PJE
*
*  Date created:           25/03/2002
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  This is the header file for the CPU block. It contains the function prototypes
*  and any definitions.
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     25/03/2002  PJE      before spec simplified
*  2     25/03/2002  PJE      unit compiles OK.
*  3     26/03/2002  PJE      runs.
*  4     27/03/2002  PJE      zl5011xCpuDmaGetRxStatus() more params
*  5     16/04/2002  MRC      Minor mods.
*  6     06/07/2002  LCW      Added zl5011xCpuDmaGetRxSeqNum
*  7     11/06/2002  MRC      Minor tweaks
*  8     12/07/2002  MRC      Rationalised the 2 enums for CPU queues
*  9     16/09/2002  PJE      New zl5011xCpuDmaSetPadding() &
*                             zl5011xCpuDmaSetDreqPolarity debugging.
*  10    23/09/2002  ARW      Renamed zl5011xCpuDmaGetRxStatus to
*                               zl5011xCpuDmaGetRxQueueStatus
*                             Added new functions zl5011xCpuDmaGetRxStatus &
*                               zl5011xCpuDmaGetTxStatus
*  11    26/09/2002  ARW      Restored zl5011xCpuDmaGetRxQueueStatus to
*                               zl5011xCpuDmaGetRxStatus
*  12    07/10/2002  ARW      Added new function: CpuDmaSetDackPolarity
*  13    08/10/2002  PJE      Added new function: zl5011xCpuDmaGetIntrStatus
*  14    15/10/2002  ARW      Added a new parameter to zl5011xDmaGetTxStatus
*  15    24/10/2002  ARW      Added new functions
*  16    31/10/2002  MRC      Added variants + minor fixes
*  17    24/03/2003  ARW      Changed parameters to functions
*                               zl5011xCpuDmaPTHWrite & zl5011xCpuDmaPRHRead
*  18    08/08/2003  APL      Updated file version number
*  19    06/09/2004  APL      Updated two formal parameter names for clarity
*  20    14/02/2005  MRC      Modified comment
*
*******************************************************************************/

#ifndef _ZL5011X_CPU_H
#define _ZL5011X_CPU_H

#ifdef __cplusplus
extern "C" {
#endif

/*****************   INCLUDE FILES   ******************************************/


/*****************   # DEFINES   **********************************************/


/*****************   DATA TYPES   *********************************************/


/*****************   DATA STRUCTURES   ****************************************/


/*****************   EXPORTED GLOBAL VARIABLE DECLARATIONS   ******************/


/*****************   EXTERNAL FUNCTION DECLARATIONS   *************************/
extern zlStatusE zl5011xCpuInit(zl5011xParamsS *zl5011xParams);
extern zlStatusE zl5011xCpuDmaSetRxMode(zl5011xParamsS     *zl5011xParams,
                                zl5011xDmaRxModeE  rxMode);
extern zlStatusE zl5011xCpuDmaSetInterruptMode(zl5011xParamsS *zl5011xParams,
                                       zl5011xDmaInterruptModeE interruptMode);
extern zlStatusE zl5011xCpuDmaSetRxQueue(zl5011xParamsS *zl5011xParams,
                                 zl5011xQueueE queueId);
extern zlStatusE zl5011xCpuDmaSetRxControl(zl5011xParamsS *zl5011xParams,
                 zl5011xDmaControlModeE rxControlMode);
extern zlStatusE zl5011xCpuDmaSetTxControl(zl5011xParamsS *zl5011xParams,
                 zl5011xDmaControlModeE txControlMode);
extern zlStatusE zl5011xCpuDmaGetRxStatus(zl5011xParamsS *zl5011xParams,
                                 zl5011xQueueE *pQueueId,
                                 zl5011xDmaControlModeE *pRxMode,
                                 zl5011xBooleanE  *pDebugDmaRxBusy);
extern zlStatusE zl5011xCpuDmaGetRxSeqNum(zl5011xParamsS *zl5011xParams,
                                  Uint16T *sequenceNumber);
extern zlStatusE zl5011xCpuSetTimeoutPeriod(zl5011xParamsS *zl5011xParams,
                                    Uint8T clockPeriod);
extern zlStatusE zl5011xCpuDmaSetDreqPolarity(zl5011xParamsS *zl5011xParams,
                                         zl5011xPolarityE polarity);
extern zlStatusE zl5011xCpuDmaSetDackPolarity(zl5011xParamsS *zl5011xParams,
                                         zl5011xPolarityE polarity);
extern zlStatusE zl5011xCpuDmaSetPadding(zl5011xParamsS *zl5011xParams,
                                         zl5011xDmaMsgPaddingE padding);
extern zlStatusE zl5011xCpuDmaGetTxStatus(zl5011xParamsS *zl5011xParams,
                                         zl5011xDmaControlModeE *pTxMode,
                                         zl5011xBooleanE  *pDebugDmaTxBusy);
extern zlStatusE zl5011xCpuDmaGetIntrStatus(zl5011xParamsS *zl5011xParams,
                                  Uint32T *pStatus);

extern zlStatusE zl5011xCpuDmaErrorFlagsEnable(zl5011xParamsS *zl5011xParams);

extern zlStatusE zl5011xCpuDmaErrorFlagsDisable(zl5011xParamsS *zl5011xParams);

extern zlStatusE zl5011xCpuDmaResoureRegWrite(zl5011xParamsS *zl5011xParams,
                                                       Uint32T resourceNumber);

extern zlStatusE zl5011xCpuDmaResoureRegRead(zl5011xParamsS *zl5011xParams,
                                                       Uint32T *resourceNumber);

extern void zl5011xCpuDmaPTHWrite(Uint32T pathType,
                                      Uint16T packetLength,
                                      Uint16T context,
                                      Uint16T blockId,
                                      Uint16T intDone,
                                      Uint16T lastPacket,
                                      Uint16T sequenceNumber,
                                      Uint16T tstampChksum,
                                      zl5011xBooleanE transaction64Bit,
                                      Uint32T *pth);

extern void zl5011xCpuDmaPRHRead(Uint32T prhWordToExtract,
                                     Uint32T *prh,
                                     Uint16T *rxReSource,
                                     Uint16T *packetLength,
                                     zl5011xQueueE *queueNumber,
                                     Uint16T *nextPacketOffset,
                                     Uint16T *sequenceNumber,
                                     Uint16T *parity);

extern zlStatusE zl5011xCpuDmaTmRegsWrite(zl5011xParamsS* zl5011xParams,
                                               zl5011xBooleanE updateParamsFlag,
                                               zl5011xBooleanE submitFlag,
                                               Uint32T *pth);

extern zlStatusE zl5011xCpuDmaCpqRegsWrite(zl5011xParamsS* zl5011xParams,
                                               zl5011xBooleanE updateParamsFlag,
                                               zl5011xBooleanE submitFlag,
                                               Uint32T nextGranulePtr,
                                               Uint32T numGranulesRead);


extern zlStatusE zl5011xCpuDmaCpqRegRead(zl5011xParamsS* zl5011xParams,
                                               Uint32T *headPtr);

extern zlStatusE zl5011xCpuDmaGmRegsWrite(zl5011xParamsS* zl5011xParams,
                                               zl5011xBooleanE updateParamsFlag,
                                               zl5011xBooleanE submitFlag,
                                               Uint32T headGranulePtr,
                                               Uint32T tailGranulePtr,
                                               Uint32T numOfGranules);

extern zlStatusE zl5011xCpuDmaGmRegRead(zl5011xParamsS* zl5011xParams,
                                               Uint32T *freePtr);

#ifdef __cplusplus
}
#endif

#endif /* ifndef _ZL5011X_CPU_H */

⌨️ 快捷键说明

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