📄 sdevcfg.c
字号:
/* @(#) pSOSystem/PPC V221 */
/***********************************************************************/
/* */
/* MODULE: mpc8xx/ecom/src/ecom8xx.c */
/* DATE: 99/10/22 */
/* AUTHOR: Dong Aiping */
/* PURPOSE: */
/* */
/*---------------------------------------------------------------------*/
/* */
/* Copyright 1999 - 2000, ZHONGXING TELECOM CO.,LTD. */
/* ALL RIGHTS RESERVED */
/* */
/*---------------------------------------------------------------------*/
/* */
/* This file defines the SDevice */
/* */
/***********************************************************************/
extern void EcomExceptionHandle(void);
UCHAR *sd_init(UCHAR *FreeMemPtr)
{
int i,DEV;
memset(sd_table,0,sizeof(sd_table));
SysSetVector(V_MACH_CK,(void (*)())EcomExceptionHandle,VT_REG,MSR_ME,0);
{ /* Reserved */
EcomMiscCfgStruct cfg={0};
FreeMemPtr=EcomMiscBspInit(SDN_MISC, FreeMemPtr, &cfg );
}
{ /* void *BaseAddr, ULONG MaxSize, ULONG UnitSize */
Flash16CfgStruct cfg={ CS1_BASE, CS1_SIZE, 64*1024 };
FreeMemPtr=Flash16BspInit(SDN_FLASH,FreeMemPtr,&cfg);
}
#if 1
if(Is2MHWInput()==TRUE)
{ /* BaseAddr, reserved */
MT898xCfgStruct cfg={ CS6_BASE,0};
cfg.Imsr=IMSR_IDR_2M|IMSR_ODR_2M;
FreeMemPtr=MT898xBspInit(SDN_MT898x,FreeMemPtr,&cfg);
}
else{
/* MT8986 for 8M*/
{ /* BaseAddr, reserved */
MT898xCfgStruct cfg={ CS6_BASE,0};
cfg.Imsr=IMSR_DMO|IMSR_IDR_8M|IMSR_ODR_2M;
FreeMemPtr=MT898xBspInit(SDN_MT898x,FreeMemPtr,&cfg);
}
{ /* BaseAddr, reserved */
MT898xCfgStruct cfg={ CS3_BASE,0};
cfg.Imsr=IMSR_DMO|IMSR_IDR_2M|IMSR_ODR_8M;
FreeMemPtr=MT898xBspInit(SDN_MT898x_8M,FreeMemPtr,&cfg);
}
}
#endif
{ /* UB,ch,TDM,RecvBD,SendBD, BufLen, subnum,BDTable, IsrPara, IntTable */
/* TDMA-->SCC2 */
QmcGlobalCfgStruct *gid, gcfg;
QmcSubChanCfgStruct cfg;
memset(&gcfg,0,sizeof(gcfg));
gcfg.ch=1;gcfg.UseTDM=1;gcfg.MaxRecvBD=gcfg.MaxSendBD=5;
gcfg.MaxBufLen=280;
gcfg.MaxSubChanNum=BD_QMC_CHAN_NUM1;
gcfg.SubChParamOffset=0;
gcfg.IntTableLen=100;
gcfg.InitTDM=InitTDMA;
FreeMemPtr=QmcBspGlobalInit(FreeMemPtr,&gcfg, &gid);
for(i=0;i<BD_QMC_CHAN_NUM1;i++)
{
cfg.ch=i;
FreeMemPtr=QmcBspSubChanInit(SDN_ECOM_HDLC0+i,FreeMemPtr,&cfg,gid);
}
QmcInitEnd(gid);
}
{ /* UB,ch,TDM,RecvBD,SendBD, BufLen, subnum,BDTable, IsrPara, IntTable */
/* TDMB-->SCC4 */
QmcGlobalCfgStruct *gid, gcfg;
QmcSubChanCfgStruct cfg;
memset(&gcfg,0,sizeof(gcfg));
gcfg.ch=3;gcfg.UseTDM=2;gcfg.MaxRecvBD=gcfg.MaxSendBD=5;
gcfg.MaxBufLen=280;
gcfg.MaxSubChanNum=BD_QMC_CHAN_NUM2;
gcfg.SubChParamOffset=BD_QMC_CHAN_NUM1*64;
gcfg.IntTableLen=100;
gcfg.InitTDM=InitTDMB;
FreeMemPtr=QmcBspGlobalInit(FreeMemPtr,&gcfg, &gid);
for(i=0;i<BD_QMC_CHAN_NUM2;i++)
{
cfg.ch=i+BD_QMC_CHAN_NUM1;
FreeMemPtr=QmcBspSubChanInit(SDN_ECOM_HDLC0+BD_QMC_CHAN_NUM1+i,FreeMemPtr,&cfg,gid);
}
QmcInitEnd(gid);
}
#if SC_BOOT_ROM!=YES
#endif
return FreeMemPtr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -