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

📄 ecom8xx.h

📁 这是单板上DPRAM的驱动程序
💻 H
字号:
/* @(#) pSOSystem/PPC V221 */
/***********************************************************************/
/*                                                                     */
/*   MODULE:  mpc8xx/ecom/src/ecom8xx.h                                */
/*   DATE:    99/10/22                                                 */
/*   AUTHOR:  Dong Aiping                                              */
/*   PURPOSE:                                                          */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*           Copyright 1999 - 2000, ZHONGXING TELECOM CO.,LTD.         */
/*                      ALL RIGHTS RESERVED                            */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/***********************************************************************/
#ifndef _ECOM8XX_H_
#define _ECOM8XX_H_

/*---------------------------------------------------------------------*/
/*  TDMA口数据对应MT8986的码流0(STI0/STO0),  MT_STREAM_TDMA;
    TDMB口数据对应MT8986的码流5(STI5/STO5),  MT_STREAM_TDMB;
    HW0对应MT8986的码流1(STI1/STO1);          MT_STREAM_HW0;
    HW1对应MT8986的码流2(STI2/STO2);          MT_STREAM_HW1;
    HW2对应MT8986的码流3(STI3/STO3);          MT_STREAM_HW2;
    HW3对应MT8986的码流4(STI4/STO4)。         MT_STREAM_HW3;
    MT8986的ST7备用,                          MT_STREAM_RESERVE.       */
/*---------------------------------------------------------------------*/
#define  MT_STREAM_TDMA_RECV    0
#define  MT_STREAM_TDMB_RECV    1
#define  MT_STREAM_TDMA_SEND2M  4
#define  MT_STREAM_TDMB_SEND2M  5
#define  MT_STREAM_TDMA_SEND8M  0
#define  MT_STREAM_TDMB_SEND8M  1

#define  MT_STREAM_HW0_IN      0
#define  MT_STREAM_HW1_IN      1
#define  MT_STREAM_HW2_IN      2
#define  MT_STREAM_HW3_IN      3

#define  MT_STREAM_HW0_OUT2M     2
#define  MT_STREAM_HW1_OUT2M     3
#define  MT_STREAM_HW2_OUT       4
#define  MT_STREAM_HW3_OUT       5

#define  MT_STREAM_HW0_OUT8M     0
#define  MT_STREAM_HW1_OUT8M     1


#define  MT_STREAM_TDMB     5
/*#define  MT_STREAM_TEST     6*/
#define  MT_STREAM_RESERVE  7

/*-------------------------------------------------*/
/* Defining 单板上的设备号                         */
/*-------------------------------------------------*/
/* #define SDN_MISC        1       *//* Misc functins    */
/* #define SDN_MMI         5       *//* MMI interface    */
#define SDN_MT898x_8M   6       /* For MT8986 8M     */
#define SDN_FLASH       7       /* For flash access */
#define SDN_MT898x      9       /* For MT8986       */
#define SDN_ECOM_HDLC0  10      /* QMC's 64 channels*/
#define SDN_ECOM_HDLC1   (SDN_ECOM_HDLC0+1)
#define SDN_ECOM_HDLC2   (SDN_ECOM_HDLC0+2)
#define SDN_ECOM_HDLC3   (SDN_ECOM_HDLC0+3)
#define SDN_ECOM_HDLC4   (SDN_ECOM_HDLC0+4)
#define SDN_ECOM_HDLC5   (SDN_ECOM_HDLC0+5)
#define SDN_ECOM_HDLC6   (SDN_ECOM_HDLC0+6)
#define SDN_ECOM_HDLC7   (SDN_ECOM_HDLC0+7)
#define SDN_ECOM_HDLC8   (SDN_ECOM_HDLC0+8)
#define SDN_ECOM_HDLC9   (SDN_ECOM_HDLC0+9)
#define SDN_ECOM_HDLC10  (SDN_ECOM_HDLC0+10)
#define SDN_ECOM_HDLC11  (SDN_ECOM_HDLC0+11)
#define SDN_ECOM_HDLC12  (SDN_ECOM_HDLC0+12)
#define SDN_ECOM_HDLC13  (SDN_ECOM_HDLC0+13)
#define SDN_ECOM_HDLC14  (SDN_ECOM_HDLC0+14)
#define SDN_ECOM_HDLC15  (SDN_ECOM_HDLC0+15)
#define SDN_ECOM_HDLC16  (SDN_ECOM_HDLC0+16)
#define SDN_ECOM_HDLC17  (SDN_ECOM_HDLC0+17)
#define SDN_ECOM_HDLC18  (SDN_ECOM_HDLC0+18)
#define SDN_ECOM_HDLC19  (SDN_ECOM_HDLC0+19)
#define SDN_ECOM_HDLC20  (SDN_ECOM_HDLC0+20)
#define SDN_ECOM_HDLC21  (SDN_ECOM_HDLC0+21)
#define SDN_ECOM_HDLC22  (SDN_ECOM_HDLC0+22)
#define SDN_ECOM_HDLC23  (SDN_ECOM_HDLC0+23)
#define SDN_ECOM_HDLC24  (SDN_ECOM_HDLC0+24)
#define SDN_ECOM_HDLC25  (SDN_ECOM_HDLC0+25)
#define SDN_ECOM_HDLC26  (SDN_ECOM_HDLC0+26)
#define SDN_ECOM_HDLC27  (SDN_ECOM_HDLC0+27)
#define SDN_ECOM_HDLC28  (SDN_ECOM_HDLC0+28)
#define SDN_ECOM_HDLC29  (SDN_ECOM_HDLC0+29)
#define SDN_ECOM_HDLC30  (SDN_ECOM_HDLC0+30)
#define SDN_ECOM_HDLC31  (SDN_ECOM_HDLC0+31)
#define SDN_ECOM_HDLC32  (SDN_ECOM_HDLC0+32)
#define SDN_ECOM_HDLC33  (SDN_ECOM_HDLC0+33)
#define SDN_ECOM_HDLC34  (SDN_ECOM_HDLC0+34)
#define SDN_ECOM_HDLC35  (SDN_ECOM_HDLC0+35)
#define SDN_ECOM_HDLC36  (SDN_ECOM_HDLC0+36)
#define SDN_ECOM_HDLC37  (SDN_ECOM_HDLC0+37)
#define SDN_ECOM_HDLC38  (SDN_ECOM_HDLC0+38)
#define SDN_ECOM_HDLC39  (SDN_ECOM_HDLC0+39)
#define SDN_ECOM_HDLC40  (SDN_ECOM_HDLC0+40)
#define SDN_ECOM_HDLC41  (SDN_ECOM_HDLC0+41)
#define SDN_ECOM_HDLC42  (SDN_ECOM_HDLC0+42)
#define SDN_ECOM_HDLC43  (SDN_ECOM_HDLC0+43)
#define SDN_ECOM_HDLC44  (SDN_ECOM_HDLC0+44)
#define SDN_ECOM_HDLC45  (SDN_ECOM_HDLC0+45)
#define SDN_ECOM_HDLC46  (SDN_ECOM_HDLC0+46)
#define SDN_ECOM_HDLC47  (SDN_ECOM_HDLC0+47)
#define SDN_ECOM_HDLC48  (SDN_ECOM_HDLC0+48)
#define SDN_ECOM_HDLC49  (SDN_ECOM_HDLC0+49)
#define SDN_ECOM_HDLC50  (SDN_ECOM_HDLC0+50)
#define SDN_ECOM_HDLC51  (SDN_ECOM_HDLC0+51)
#define SDN_ECOM_HDLC52  (SDN_ECOM_HDLC0+52)
#define SDN_ECOM_HDLC53  (SDN_ECOM_HDLC0+53)
#define SDN_ECOM_HDLC54  (SDN_ECOM_HDLC0+54)
#define SDN_ECOM_HDLC55  (SDN_ECOM_HDLC0+55)
#define SDN_ECOM_HDLC56  (SDN_ECOM_HDLC0+56)
#define SDN_ECOM_HDLC57  (SDN_ECOM_HDLC0+57)
#define SDN_ECOM_HDLC58  (SDN_ECOM_HDLC0+58)
#define SDN_ECOM_HDLC59  (SDN_ECOM_HDLC0+59)
#define SDN_ECOM_HDLC60  (SDN_ECOM_HDLC0+60)
#define SDN_ECOM_HDLC61  (SDN_ECOM_HDLC0+61)
#define SDN_ECOM_HDLC62  (SDN_ECOM_HDLC0+62)
#define SDN_ECOM_HDLC63  (SDN_ECOM_HDLC0+63)


/*-------------------------------------------------*/
/* Defining characteristics of DPRAM               */
/*-------------------------------------------------*/
#define ECOM_DPRAM_UP          0
#define ECOM_DPRAM_DN          1

/*-------------------------------------------------*/
/* Defining infomation of ECOM site and MP side    */
/*-------------------------------------------------*/
#define ECOM_RIGHT           0
#define ECOM_LEFT            1
#define MP_RIGHT             0
#define MP_LEFT              1

/*-------------------------------------------------*/
/* Defining DPRAM EVENT                            */
/*-------------------------------------------------*/
#define DPRAM_UP_EV            1
#define DPRAM_DN_EV            2
#define DPRAM_PRT_EV           4
typedef struct { 
    ULONG DpramUpEv;     /* 当DpramUp中断时,要发送的事件         */
    ULONG DpramDnEv;     /* 当DpramDn中断时,要发送的事件         */
    ULONG DpramPrtEv;    /* 当DPRAM发生数据校验错时,要发送的事件 */
    ULONG ParityErrorNum;/* 奇偶校验数据错计数器                  */
    ULONG DpramTid;      /* Dpram的事件发送给此任务ID             */
    }DpramSetActionStruct;

/*----------------------------------------------------------------*/
/* Define the Macros of LED Control                               */
/*----------------------------------------------------------------*/
#define BD_RUN_ENABLE  { SET_PB_BIT(26,0) }
#define BD_RUN_DISABLE { SET_PB_BIT(26,1) }
#define BD_ALM_ENABLE  { SET_PB_BIT(27,0) }
#define BD_ALM_DISABLE { SET_PB_BIT(27,1) }

/*----------------------------------------------------------------*/
/* Local function prototypes                                      */
/*----------------------------------------------------------------*/
void Ecom_ExceptionStore(void);       /* 奇偶校验异常处理服务程序 */
void UP_Irq2Isr(void);                /* UP_IRQ2中断服务程序      */
void DN_Irq3Isr(void);                /* DN_IRQ3中断服务程序      */ 
void InitInt(void);                   /* IRQ2 and IRQ3初始化函数  */

int ReadMailbox(int Name);            /* 读邮箱,清中断信号       */
int WriteMailbox(int Name);           /* 写邮箱,发中断信号       */
int DpramRead(int Name, ULONG Offset, ULONG DataLen, UCHAR *BufAddr); 
int DpramWrite(int Name, ULONG Offset, ULONG DataLen, UCHAR *BufAddr);
int DpramReadW16(int Name, ULONG Offset, ULONG DataLen, USHORT *BufAddr); 
int DpramWriteW16(int Name, ULONG Offset, ULONG DataLen, USHORT *BufAddr); 

int  GetBrdSideInfo(void);             /* 获取板位信息             */
int  GetMainMpInfo(void);              /* 读取MP的主备信息         */
void InitTDMA(void);                   /* 初始化TDMA               */
void InitTDMB(void);                   /* 初始化TDMB               */
void ReverseLED(ULONG led);            /* 指示灯反转               */
int PollQMCClk(void);                  /* 检测QMC时钟              */
unsigned short GetBoardType(void);     /* 获取单板类型号           */
#define GetFlashIP()   GetDefaultIP()  /* 获取IP地址:138.1.10.56  */
int Is2MHWInput(void);                 /* 判断是2MHW还是8MHW输入   */
#endif  /* _ECOM8XX_H_ */

⌨️ 快捷键说明

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