亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ds21354.c

?? 這是單板上DPRAM的驅動程序
?? C
字號:
#include <psos.h>
#include "board.h"
#include "sdev.h"
#include "bspcomm.h"
#include "bspspec.h"
#include "ds21354.h"


const DS21x54Reg DS21x54DefaultReg={
	0,/* UCHAR VCR1;*/
	0,/* UCHAR VCR2;*/
	0,/* UCHAR CRCCR1;*/
	0,/* UCHAR CRCCR2;*/
	0,/* UCHAR EBCR1;*/
	0,/* UCHAR EBCR2;*/
	0,/* UCHAR SR1;*/
	0,/* UCHAR SR2;*/
	0,/* UCHAR RIR*/
	0,0,0,0,0,0,/* UCHAR Reserved6[6];*/
	0,/* UCHAR IDR;*/
	0x20,/* UCHAR RCR1;*/
	0x06,/* UCHAR RCR2;*/
	0x00,/* UCHAR TCR1;*/
	0x00,/* UCHAR TCR2;*/
	0x4c,/* UCHAR CCR1;*/
	0x00,/* UCHAR TEST1;*/
	0x00,/* UCHAR IMR1;*/
	0x00,/* UCHAR IMR2;*/
	0x40,/* UCHAR LICR*/
	0x98,/* UCHAR TEST2;*/
	0x14,/* UCHAR CCR2;*/
	0x02,/* UCHAR CCR3;*/
	0x00,/* UCHAR TSaCR;*/
	0x00,/* UCHAR CCR6;*/
	0x00,/* UCHAR SSR;*/
	0x00,/* UCHAR RNAF;*/
	0x1b,/* UCHAR TAF;*/
	0x40,/* UCHAR TNAF;*/
	0x00,/* UCHAR TCBR1;*/
	0x00,/* UCHAR TCBR2;*/
	0x00,/* UCHAR TCBR3;*/
	0x00,/* UCHAR TCBR4;*/
	0x00,/* UCHAR TIR1;*/
	0x00,/* UCHAR TIR2;*/
	0x00,/* UCHAR TIR3;*/
	0x00,/* UCHAR TIR4;*/
	0x00,/* UCHAR TIDR;*/
	0x00,/* UCHAR RCBR1;*/
	0x00,/* UCHAR RCBR2;*/
	0x00,/* UCHAR RCBR3;*/
	0x00,/* UCHAR RCBR4;*/
	0x00,/* UCHAR RAF;*/
	0x00,/* UCHAR RS1;*/
	0x00,/* UCHAR RS2;*/
	0x00,/* UCHAR RS3;*/
	0x00,/* UCHAR RS4;*/
	0x00,/* UCHAR RS5;*/
	0x00,/* UCHAR RS6;*/
	0x00,/* UCHAR RS7;*/
	0x00,/* UCHAR RS8;*/
	0x00,/* UCHAR RS9;*/
	0x00,/* UCHAR RS10;*/
	0x00,/* UCHAR RS11;*/
	0x00,/* UCHAR RS12;*/
	0x00,/* UCHAR RS13;*/
	0x00,/* UCHAR RS14;*/
	0x00,/* UCHAR RS15;*/
	0x00,/* UCHAR RS16;*/
	0x00,/* UCHAR TS1;*/
	0x00,/* UCHAR TS2;*/
	0x00,/* UCHAR TS3;*/
	0x00,/* UCHAR TS4;*/
	0x00,/* UCHAR TS5;*/
	0x00,/* UCHAR TS6;*/
	0x00,/* UCHAR TS7;*/
	0x00,/* UCHAR TS8;*/
	0x00,/* UCHAR TS9;*/
	0x00,/* UCHAR TS10x00;*/
	0x00,/* UCHAR TS11;*/
	0x00,/* UCHAR TS12;*/
	0x00,/* UCHAR TS13;*/
	0x00,/* UCHAR TS14;*/
	0x00,/* UCHAR TS15;*/
	0x00,/* UCHAR TS16;*/
	0x00,/* UCHAR TSiAF;*/
	0x00,/* UCHAR TSiNAF;*/
	0x00,/* UCHAR TRA;*/
	0x00,/* UCHAR TSa4;*/
	0x00,/* UCHAR TSa5;*/
	0x00,/* UCHAR TSa6;*/
	0x00,/* UCHAR TSa7;*/
	0x00,/* UCHAR TSa8;*/
	0x00,/* UCHAR RSiAF;*/
	0x00,/* UCHAR RSiNAF;*/
	0x00,/* UCHAR RRA;*/
	0x00,/* UCHAR RSa4;*/
	0x00,/* UCHAR RSa5;*/
	0x00,/* UCHAR RSa6;*/
	0x00,/* UCHAR RSa7;*/
	0x00,/* UCHAR RSa8;*/
	0x00,/* UCHAR TC1;*/
	0x00,/* UCHAR TC2;*/
	0x00,/* UCHAR TC3;*/
	0x00,/* UCHAR TC4;*/
	0x00,/* UCHAR TC5;*/
	0x00,/* UCHAR TC6;*/
	0x00,/* UCHAR TC7;*/
	0x00,/* UCHAR TC8;*/
	0x00,/* UCHAR TC9;*/
	0x00,/* UCHAR TC10x00;*/
	0x00,/* UCHAR TC11;*/
	0x00,/* UCHAR TC12;*/
	0x00,/* UCHAR TC13;*/
	0x00,/* UCHAR TC14;*/
	0x00,/* UCHAR TC15;*/
	0x00,/* UCHAR TC16;*/
	0x00,/* UCHAR TC17;*/
	0x00,/* UCHAR TC18;*/
	0x00,/* UCHAR TC19;*/
	0x00,/* UCHAR TC20x00;*/
	0x00,/* UCHAR TC21;*/
	0x00,/* UCHAR TC22;*/
	0x00,/* UCHAR TC23;*/
	0x00,/* UCHAR TC24;*/
	0x00,/* UCHAR TC25;*/
	0x00,/* UCHAR TC26;*/
	0x00,/* UCHAR TC27;*/
	0x00,/* UCHAR TC28;*/
	0x00,/* UCHAR TC29;*/
	0x00,/* UCHAR TC30x00;*/
	0x00,/* UCHAR TC31;*/
	0x00,/* UCHAR TC32;*/
	0x00,/* UCHAR RC1;*/
	0x00,/* UCHAR RC2;*/
	0x00,/* UCHAR RC3;*/
	0x00,/* UCHAR RC4;*/
	0x00,/* UCHAR RC5;*/
	0x00,/* UCHAR RC6;*/
	0x00,/* UCHAR RC7;*/
	0x00,/* UCHAR RC8;*/
	0x00,/* UCHAR RC9;*/
	0x00,/* UCHAR RC10x00;*/
	0x00,/* UCHAR RC11;*/
	0x00,/* UCHAR RC12;*/
	0x00,/* UCHAR RC13;*/
	0x00,/* UCHAR RC14;*/
	0x00,/* UCHAR RC15;*/
	0x00,/* UCHAR RC16;*/
	0x00,/* UCHAR RC17;*/
	0x00,/* UCHAR RC18;*/
	0x00,/* UCHAR RC19;*/
	0x00,/* UCHAR RC20x00;*/
	0x00,/* UCHAR RC21;*/
	0x00,/* UCHAR RC22;*/
	0x00,/* UCHAR RC23;*/
	0x00,/* UCHAR RC24;*/
	0x00,/* UCHAR RC25;*/
	0x00,/* UCHAR RC26;*/
	0x00,/* UCHAR RC27;*/
	0x00,/* UCHAR RC28;*/
	0x00,/* UCHAR RC29;*/
	0x00,/* UCHAR RC30x00;*/
	0x00,/* UCHAR RC31;*/
	0x00,/* UCHAR RC32;*/
	0x00,/* UCHAR TCC1;*/
	0x00,/* UCHAR TCC2;*/
	0x00,/* UCHAR TCC3;*/
	0x00,/* UCHAR TCC4;*/
	0x00,/* UCHAR RCC1;*/
	0x00,/* UCHAR RCC2;*/
	0x00,/* UCHAR RCC3;*/
	0x00,/* UCHAR RCC4;*/
	0x00,/* UCHAR CCR4;*/
	0x00,/* UCHAR TDS0M;*/
	0x00,/* UCHAR CCR5;*/
	0x00,/* UCHAR RDS0M;*/
	0,/* UCHAR TEST3;*/
	0x00,0x00,0x00,/* UCHAR Reserved3[3];*/
	0x00,/* UCHAR HCR;*/
	0x00,/* UCHAR HSR;*/
	0x00,/* UCHAR HIMR;*/
	0x00,/* UCHAR RHIR;*/
	0x00,/* UCHAR RHFR;*/
	0x00,/* UCHAR IBO;*/
	0x00,/* UCHAR THIR;*/
	0x00,/* UCHAR THFR;*/
	0x00,/* UCHAR RDC1;*/
	0x00,/* UCHAR RDC2;*/
	0x00,/* UCHAR TDC1;*/
	0x00,/* UCHAR TDC2;*/
	0x00,0x00,0x00,0x00/* UCHAR Reserved4[4];*/
};

void DS21x54Init(void *pDataBuf,DS21x54CfgStruct *Cfg)
{
	int i;
	DS21x54Reg *pRegMap;
	DS21x54CfgStruct *pCfg=(DS21x54CfgStruct *)pDataBuf;
	memcpy(pCfg,Cfg,sizeof(*Cfg));
	pRegMap=(DS21x54Reg *)(pCfg->BaseAddr);
	//for(i=0;i<4000;i++); 
	memset(pRegMap,0,256);
	
	memcpy(pRegMap,&DS21x54DefaultReg,sizeof(DS21x54Reg));
	pRegMap->CCR5&=~0x60;
	pRegMap->CCR5|=0x60;
	pRegMap->CCR5&=~0x60;
	
	pRegMap->CCR5|=0x80;/*reset line interface*/
	for(i=0;i<2000;i++); 
	pRegMap->CCR5&=~0x80;/*reset line interface*/
	for(i=0;i<2000;i++); 
	pRegMap->CCR6|=2;/*reset RECEIVE ELASTIC STORE*/
	if(pCfg->SyncIF)
		pRegMap->CCR6|=0x20;
	else
		pRegMap->CCR6&=~0x20;	
	
} 
int DS21x54GetWarning(void *pDataBuf,void *pParam,int maxlen)
{
	UCHAR *pReg;
	UCHAR RegContext;
	DS21x54CfgStruct *pCfg=(DS21x54CfgStruct *)(pDataBuf);
	DS21x54WarningStruct *pp=(DS21x54WarningStruct *)pParam;
	
	/* RegContext=SRead(&(((DS21x54Reg *)pRegBase)->SR1)); */
		
		pCfg->Timer++;
		RegContext=SRead(&(((DS21x54Reg *)pCfg->BaseAddr)->SR1));
		if(RegContext & 0x02) pp->RCL=1;
		else pp->RCL=0;
		if(RegContext & 0x01) pp->RLOS=1;
		else pp->RLOS=0;
		RegContext=SRead(&(((DS21x54Reg *)pCfg->BaseAddr)->RIR));
		/*if(RegContext & 0x80)if(++(pp->TPSlipCnt)>=SLIP_TH)pp->TPSlip=1;*/
		/*if(RegContext & 0x40)if(++(pp->TNSlipCnt)>=SLIP_TH)pp->TNSlip=1;*/
		if(RegContext & 0x10) ++(pCfg->RPSlipCnt);
		if(RegContext & 0x08) ++(pCfg->RNSlipCnt);
		pp->RPSlip=0;
		pp->RNSlip=0;
	if(pCfg->Timer>=WARNINGTIMECNT)
	  {
		/*memset(pp,0,sizeof(DS21x54WarningStruct));*/
		pp->RPSlip=(pCfg->RPSlipCnt)>=SLIP_TH ? 1:0;
		pp->RNSlip=(pCfg->RNSlipCnt)>=SLIP_TH ? 1:0;
		pCfg->RPSlipCnt=0;
		pCfg->RNSlipCnt=0;
		pCfg->Timer=0;
	  }	
	return SDE_OK;
}

int DS21x54Cntrl(void *pDataBuf, int cmd, void *pParam, int maxlen)
{
	int res;
	DS21x54Reg *pRegMap;
	
	DS21x54CfgStruct* pCfg =(DS21x54CfgStruct *)(pDataBuf);
	pRegMap=(DS21x54Reg *)(pCfg->BaseAddr);
	switch(cmd) {
		case SDC_REINIT:
			DS21x54Init(pDataBuf,pCfg);
			res=SDE_OK; 
			break;
		case SDC_DS21x54_REMOTE_LOOPBACK:
            pRegMap->CCR4 |= 0x80;
            res=SDE_OK; 
            break;
        case SDC_DS21x54_REMOTE_UNLOOPBACK:    
        	pRegMap->CCR4 &= ~0x80;       
        	res=SDE_OK;
        	break;
        case SDC_DS21x54_LOCAL_LOOPBACK:
            pRegMap->CCR4 |= 0x40;       
            res=SDE_OK;
        	break;
		case SDC_DS21x54_LOCAL_UNLOOPBACK:
            pRegMap->CCR4 &= ~0x40;       
            res=SDE_OK;
        	break;
		case SDC_DS21x54_FRAMER_LOOPBACK:
            pRegMap->CCR1 |= 0x80;       
            res=SDE_OK;
        	break;
        case SDC_DS21x54_FRAMER_UNLOOPBACK:    
        	pRegMap->CCR1 &= ~0x80;       
        	res=SDE_OK;
        	break;
        case SDC_DS21x54_SETSDH:    
        	pRegMap->CCR6|=0x20;
        	res=SDE_OK;
        	break;
        case SDC_DS21x54_UNSETSDH:
        	pRegMap->CCR6&=~0x20;
        	res=SDE_OK;
        	break;
    	case SDC_DS21x54_GET_CODE_VILATION_COUNT:
    		res=pRegMap->VCR1<<8;
    		res|=pRegMap->VCR2;
    		break;
    	case SDC_DS21x54_GET_CRC_COUNT:
    		res=(pRegMap->CRCCR1&3)<<8;
    		res|=pRegMap->CRCCR2;
    		break;
    	case SDC_DS21x54_GET_ERR_COUNT:
    		res=(pRegMap->EBCR1&3)<<8;
    		res|=pRegMap->EBCR2;
    		break;
    	case SDC_DS21x54_GET_ID:
    		res=(pRegMap->IDR)& 0xf;
    		break;	
    	case SDC_DS21x54_GETWARNING:
    		if(maxlen!=sizeof(DS21x54WarningStruct))
    			res=SDE_INVALID_ARG;
    		else 
    			res=DS21x54GetWarning(pCfg,pParam,maxlen);
    		break;
        default:
            res=SDE_UNKNOW_CMD; 
	}
	return res;
}

static UCHAR SRead(UCHAR *pReg)
{
	/*SR1,SR2,RIR reading
	write-read-write mechanism
	*/
	UCHAR Reg;
	*pReg=0xff;
	Reg=*pReg;
	*pReg=Reg;
	return Reg;
}



UCHAR *DS21x54BspInit(int DEV, char *FreeMemPtr, DS21x54CfgStruct *cfg)
{
    InstallSD(DEV,NULL,NULL,DS21x54Cntrl,FreeMemPtr);
    DS21x54Init(FreeMemPtr, cfg); 
    FreeMemPtr += sizeof(DS21x54CfgStruct);
    memcpy(FreeMemPtr,"*DS21x54",8);
    FreeMemPtr += 8;
    return FreeMemPtr;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲第一| 成人精品视频一区| 国产精品网站在线| 欧美亚洲一区二区三区四区| 精品一区二区三区视频在线观看 | 国产一区二区三区视频在线播放| ●精品国产综合乱码久久久久| 91 com成人网| gogo大胆日本视频一区| 免费在线看一区| 亚洲美女精品一区| 亚洲精品一区二区三区精华液 | 日韩精品一区在线观看| 99久久精品国产精品久久| 久久爱另类一区二区小说| 亚洲国产一区二区在线播放| 久久久99精品免费观看不卡| 911精品国产一区二区在线| youjizz国产精品| 国产伦精品一区二区三区视频青涩| 亚洲成av人片一区二区梦乃| 亚洲欧洲av一区二区三区久久| ww久久中文字幕| 欧美一区二区视频在线观看2020| 一本大道久久a久久综合婷婷| 国产高清亚洲一区| 久久国产综合精品| 日韩成人精品在线| 亚洲va国产va欧美va观看| 成人欧美一区二区三区白人| 久久久精品国产99久久精品芒果| 91精品国产91久久久久久一区二区| 91九色02白丝porn| av在线不卡电影| 国产成人亚洲综合a∨婷婷 | 麻豆专区一区二区三区四区五区| 亚洲第一激情av| 亚洲自拍与偷拍| 亚洲精品高清视频在线观看| 成人免费在线视频| 亚洲欧美乱综合| 1024国产精品| 亚洲另类中文字| 亚洲男人的天堂一区二区 | 五月激情六月综合| 亚洲国产欧美在线| 一区二区欧美精品| 亚洲一区二区三区四区不卡| 亚洲精品久久嫩草网站秘色| 亚洲精品免费播放| 亚洲一区自拍偷拍| 舔着乳尖日韩一区| 日本欧美一区二区| 久久福利资源站| 国产一区不卡精品| 成人自拍视频在线观看| 丁香六月综合激情| 91丨九色丨黑人外教| 色国产综合视频| 欧美日韩国产影片| 日韩欧美在线不卡| 国产午夜精品一区二区| 国产精品乱人伦一区二区| 亚洲乱码国产乱码精品精的特点| 亚洲最大成人网4388xx| 亚洲成人tv网| 老司机免费视频一区二区| 国产麻豆精品theporn| av在线这里只有精品| 欧美日韩国产在线观看| 欧美精品一区二区精品网| 国产欧美va欧美不卡在线| 中文字幕永久在线不卡| 亚洲图片欧美色图| 老司机精品视频一区二区三区| 成人丝袜高跟foot| 欧美亚洲综合一区| 精品少妇一区二区三区在线播放| 国产欧美一区二区在线| 亚洲愉拍自拍另类高清精品| 狂野欧美性猛交blacked| 国产凹凸在线观看一区二区| 一本到不卡精品视频在线观看| 51精品国自产在线| 中文字幕电影一区| 婷婷开心激情综合| 国产成人av电影在线| 欧美视频精品在线观看| 国产视频亚洲色图| 亚洲高清视频的网址| 国产精品自在在线| 欧美在线观看一区| 久久久精品国产免大香伊| 亚洲一级不卡视频| 国产福利精品一区二区| 欧美日韩激情在线| 国产欧美日韩麻豆91| 亚洲成人免费看| 丁香婷婷综合激情五月色| 91麻豆精品国产| 亚洲欧洲99久久| 久久99日本精品| 91欧美激情一区二区三区成人| 日韩你懂的电影在线观看| 亚洲乱码日产精品bd| 国产麻豆精品视频| 这里只有精品99re| 日韩一区二区精品葵司在线| 国产日韩精品一区二区三区在线| 奇米影视7777精品一区二区| 欧美性一区二区| 精品毛片乱码1区2区3区| 亚洲欧美视频在线观看视频| 久久99精品国产| 欧美少妇bbb| 国产精品麻豆99久久久久久| 精品中文字幕一区二区| 欧美日韩国产综合一区二区| 国产精品传媒视频| 国产一区不卡在线| 日韩欧美一级片| 国产精品久久久久久久久免费丝袜| 国产精品久久久久aaaa| 一区二区在线免费| 不卡一区二区三区四区| 欧美不卡一二三| 日本 国产 欧美色综合| 欧美性色欧美a在线播放| 亚洲四区在线观看| 成人av在线资源| 国产片一区二区三区| 国产精品综合在线视频| 精品国产乱码久久久久久夜甘婷婷 | 精品国产乱码久久久久久图片 | 五月综合激情网| 色www精品视频在线观看| 国产日韩欧美制服另类| 国产一区二区看久久| 欧美精品一区二区久久久 | 91麻豆蜜桃一区二区三区| 国产精品日韩精品欧美在线| 国产成人三级在线观看| 久久久亚洲综合| 国产精品一区二区你懂的| 国产夜色精品一区二区av| 国产精品一区二区免费不卡| 国产女人18毛片水真多成人如厕 | 制服丝袜亚洲播放| 婷婷综合另类小说色区| 911精品国产一区二区在线| 免费欧美在线视频| 欧美大尺度电影在线| 久久aⅴ国产欧美74aaa| 国产亚洲精品福利| 成人小视频在线观看| 中文字幕在线不卡一区二区三区| 99久久99久久精品免费观看| 有码一区二区三区| 欧美精品高清视频| 美国av一区二区| 欧美国产国产综合| 91麻豆免费看| 视频在线观看91| 欧美va亚洲va国产综合| 国产电影一区在线| 亚洲男同1069视频| 欧美高清一级片在线| 精品一区二区在线观看| 中文字幕乱码亚洲精品一区| 不卡的电视剧免费网站有什么| 亚洲免费资源在线播放| 欧美日韩在线观看一区二区| 日本视频一区二区三区| 国产精品私人影院| 欧美综合一区二区| 麻豆精品一区二区综合av| 久久午夜国产精品| 91麻豆国产福利在线观看| 午夜视黄欧洲亚洲| 久久久久久夜精品精品免费| 99精品偷自拍| 日本视频一区二区三区| 中文成人综合网| 欧美日韩成人综合| 国产精品一区二区久久不卡| 亚洲精品视频在线看| 日韩西西人体444www| 成人免费av网站| 三级一区在线视频先锋 | 欧洲中文字幕精品| 久久91精品国产91久久小草 | 国产中文一区二区三区| 亚洲三级电影网站| 日韩一区二区麻豆国产| 一本色道久久综合狠狠躁的推荐| 免费在线欧美视频| 一区二区在线观看av| 久久久精品欧美丰满| 精品视频一区三区九区| 成人三级伦理片|