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

📄 zl5011xpla.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
字号:
/*******************************************************************************
*
*  File name:              zl5011xPla.h
*
*  Version:                8
*
*  Author:                 MRC
*
*  Date created:           28/02/2002
*
*  Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
*  All rights reserved.
*
*  Module Description:
*
*  This is the header file for the PLA block. It contains the function prototypes
*  and any definitions.
*
*  Revision History:
*
*  Rev:  Date:       Author:  Comments:
*  1     28/02/2002  MRC      Creation
*  2     08/03/2002  MRC      Updated
*  3     16/04/2002  MRC      Changed Authur to Author in the header
*  4     07/06/2002  PJE      added Enable & DisableInterrupt.
*                             Updated header & ZL5011X_TRACE.
*  5     11/07/2002  MRC      Changed parameters to set flow type fn
*  6     12/07/2002  MRC      The MPID for set flow type is now a parameter
*                             rather than calculated.
*  7     21/10/2002  PJE      new PlaEnable/DisableTmiOverflowIntr
*  8     31/10/2002  MRC      Added variants + minor fixes
*
*******************************************************************************/

#ifndef _ZL5011X_PLA_H
#define _ZL5011X_PLA_H

#ifdef __cplusplus
extern "C" {
#endif

/* interrupt mask bit positions in context memory 1*/
#define ZL5011X_PLA_QUEUE_ERR_INT        0
#define ZL5011X_PLA_QUEUE_WARN_INT       1
#define ZL5011X_PLA_CACHE_ERR_INT        2
#define ZL5011X_PLA_GRANULE_ERR_INT      3
#define ZL5011X_PLA_FRAME_INT            4

/* context error bit positions */
#define ZL5011X_PLA_QUEUE_ERR            0
#define ZL5011X_PLA_QUEUE_WARN           1
#define ZL5011X_PLA_CACHE_ERR            2
#define ZL5011X_PLA_GRANULE_ERR          3
#define ZL5011X_PLA_FRAME_ERR            4

/* interrupt mask bit position in  register memory */
#define ZL5011X_PLA_TMI_OVF_INT          0

zlStatusE zl5011xPlaInit(zl5011xParamsS *zl5011xParams);

zlStatusE zl5011xPlaAddChan(zl5011xParamsS *zl5011xParams,
      Uint32T context, zl5011xWanChannelS tdm);
zlStatusE zl5011xPlaRemoveChan(zl5011xParamsS *zl5011xParams,
      Uint32T context, zl5011xWanChannelS tdm);
zlStatusE zl5011xPlaAssignChan(zl5011xParamsS *zl5011xParams,
      Uint32T context, Uint32T chanIndex);
zlStatusE zl5011xPlaFreeChan(zl5011xParamsS *zl5011xParams,
      Uint32T context, Uint32T chanIndex);

zlStatusE zl5011xPlaCheckChan(zl5011xParamsS *zl5011xParams,
      Uint32T *context, Uint32T chanIndex);

zlStatusE zl5011xPlaSetFlowType(zl5011xParamsS *zl5011xParams, Uint32T context,
      zl5011xFlowTypeE flow, Uint32T mpid);

zlStatusE zl5011xPlaUpdateFirstChan(zl5011xParamsS *zl5011xParams,
      Uint32T context);
zlStatusE zl5011xPlaClearFirstChan(zl5011xParamsS *zl5011xParams, Uint32T context);
zlStatusE zl5011xPlaSetFirstChan(zl5011xParamsS *zl5011xParams,
      Uint32T context, Uint32T chanIndex);

zlStatusE zl5011xPlaCheckContextUpdate(zl5011xParamsS *zl5011xParams, Uint32T context);
zlStatusE zl5011xPlaCheckContextTeardown(zl5011xParamsS *zl5011xParams, Uint32T context);
zlStatusE zl5011xPlaUpdateActiveContext(zl5011xParamsS *zl5011xParams, Uint32T context);
zlStatusE zl5011xPlaTearoutContext(zl5011xParamsS *zl5011xParams, Uint32T context);

zlStatusE zl5011xPlaUpdateContext(zl5011xParamsS *zl5011xParams, Uint32T context);
zlStatusE zl5011xPlaTeardownContext(zl5011xParamsS *zl5011xParams, Uint32T context);

zlStatusE zl5011xPlaSetPayloadLength(zl5011xParamsS *zl5011xParams, Uint32T context,
      Uint32T length);

zlStatusE zl5011xPlaSetInterruptMask(zl5011xParamsS *zl5011xParams, Uint32T context,
      Uint32T intBits);

zlStatusE zl5011xPlaGetCurrentHeader(zl5011xParamsS *zl5011xParams,
          Uint32T context, zl5011xContextHeaderSwitchE *ctxtSw);

zlStatusE zl5011xPlaGetNextError(zl5011xParamsS *zl5011xParams,
         Uint32T *context, Uint32T *error);
zlStatusE zl5011xPlaGetErroredContext(zl5011xParamsS *zl5011xParams,
          Uint32T *context);
zlStatusE zl5011xPlaGetError(zl5011xParamsS *zl5011xParams,
         Uint32T context, Uint32T *error);

zlStatusE zl5011xPlaEnableInterrupts(zl5011xParamsS *zl5011xParams, Uint32T context,
                                          Uint32T bits);
zlStatusE zl5011xPlaDisableInterrupts(zl5011xParamsS *zl5011xParams, Uint32T context,
                                          Uint32T bits);
zlStatusE zl5011xPlaEnableTmiOverflowIntr(zl5011xParamsS *zl5011xParams,
                                          Uint32T bits);
zlStatusE zl5011xPlaDisableTmiOverflowIntr(zl5011xParamsS *zl5011xParams,
                                          Uint32T bits);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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