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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? kitl.c

?? SMDK2416_BSP
?? C
字號(hào):
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
// -----------------------------------------------------------------------------
//
//      THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//      ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//      PARTICULAR PURPOSE.
//  
// -----------------------------------------------------------------------------
#include <windows.h>
#include <bsp.h>
#include <kitl_cfg.h>

#define KITL_DBON 1

//#define KITL_USBRNDIS

OAL_KITL_DEVICE g_kitlDevice;

const OAL_KITL_SERIAL_DRIVER *GetKitlSerialDriver (void);
//const OAL_KITL_SERIAL_DRIVER *GetKitlUSBSerialDriver (void);
static OAL_KITL_ETH_DRIVER g_kitlEthCS8900A = OAL_ETHDRV_CS8900A;


volatile S3C2450_IOPORT_REG *g_pIOPortReg;

BOOL USBSerKitl_POLL = FALSE;

#ifdef KITL_USBRNDIS
static OAL_KITL_ETH_DRIVER g_kitlUSBRndis = OAL_ETHDRV_RNDIS;
#endif

#ifdef KITL_ETHERNET
BOOL InitKitlEtherArgs (OAL_KITL_ARGS *pKitlArgs)
{
	RETAILMSG(1,(TEXT("InitKitlEtherArgs\n")));
   	// init flags
   	pKitlArgs->flags = OAL_KITL_FLAGS_ENABLED | OAL_KITL_FLAGS_VMINI | OAL_KITL_FLAGS_POLL;
#ifdef CS8900A_KITL_POLLMODE
   	pKitlArgs->flags |= OAL_KITL_FLAGS_POLL;
#endif //CS8900A_KITL_POLLMODE
#ifdef CS8900A_KITL_DHCP
    pKitlArgs->flags |= OAL_KITL_FLAGS_DHCP;
#endif //CS8900A_KITL_DHCP

    pKitlArgs->devLoc.IfcType    	= Internal;
   	pKitlArgs->devLoc.BusNumber    	= 0;
   	pKitlArgs->devLoc.LogicalLoc    = BSP_BASE_REG_PA_CS8900A_IOBASE;  // base address
   	pKitlArgs->devLoc.Pin           = 0;
    
   	OALKitlStringToMAC(CS8900A_MAC,pKitlArgs->mac);

#ifndef CS8900A_KITL_DHCP
   	pKitlArgs->ipAddress            = OALKitlStringToIP(CS8900A_IP_ADDRESS);
   	pKitlArgs->ipMask            	= OALKitlStringToIP(CS8900A_IP_MASK);
   	pKitlArgs->ipRoute            	= OALKitlStringToIP(CS8900A_IP_ROUTER);
#endif CS8900A_KITL_DHCP

	g_kitlDevice.ifcType			= Internal;
   	g_kitlDevice.type               = OAL_KITL_TYPE_ETH;
   	g_kitlDevice.pDriver            = (void *)&g_kitlEthCS8900A;



	//setting EINT13 as IRQ_LAN
	if (!(pKitlArgs->flags & OAL_KITL_FLAGS_POLL))
	{
		/*
    	g_pIOPortReg = (S3C2450_IOPORT_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_IOPORT, FALSE);
		g_pIOPortReg->GPGCON = (g_pIOPortReg->GPGCON & ~(0x3<<10)) | (0x2<<10);
		g_pIOPortReg->GPGUDP |= 0x1<<10;
		g_pIOPortReg->EXTINT1 = (g_pIOPortReg->EXTINT1 & ~(0xf<<20)) | (0x1<<20);
		*/
	}
    return TRUE;
}
#endif

#ifdef KITL_SERIAL
BOOL InitKitlSerialArgs (OAL_KITL_ARGS *pKitlArgs)
{
	DWORD dwIoBase = UART_Kitl;

    // init flags
    pKitlArgs->flags = OAL_KITL_FLAGS_ENABLED | OAL_KITL_FLAGS_POLL;

    pKitlArgs->devLoc.LogicalLoc    = dwIoBase;
    pKitlArgs->devLoc.Pin           = OAL_INTR_IRQ_UNDEFINED;
    pKitlArgs->baudRate             = CBR_115200;
    pKitlArgs->dataBits             = DATABITS_8;
    pKitlArgs->parity               = PARITY_NONE;
    pKitlArgs->stopBits             = STOPBITS_10;

    g_kitlDevice.type               = OAL_KITL_TYPE_SERIAL;
    g_kitlDevice.pDriver            = (VOID*) GetKitlSerialDriver ();
    
    return TRUE;
}
#endif

#ifdef KITL_USBSERIAL
BOOL InitKitlUSBSerialArgs (OAL_KITL_ARGS *pKitlArgs)
{

	DWORD dwIoBase = S3C2450_BASE_REG_PA_USBD;

    // init flags
    pKitlArgs->flags = OAL_KITL_FLAGS_ENABLED|OAL_KITL_FLAGS_POLL;
#ifdef USBSER_KITL_POLL
    pKitlArgs->flags |= OAL_KITL_FLAGS_POLL;
    USBSerKitl_POLL = TRUE;
#endif

    pKitlArgs->devLoc.LogicalLoc    = dwIoBase;
    pKitlArgs->devLoc.Pin           = IRQ_USBD;
 
    g_kitlDevice.type               = OAL_KITL_TYPE_SERIAL;

    g_kitlDevice.pDriver            = (VOID*) GetKitlUSBSerialDriver ();
    
    return TRUE;
}

//-----------------------------------------------------------------------------------------------------
#endif

void KITL_PortInit(void)
{
	volatile S3C2450_SSMC_REG *pSSMCReg;	
		//configure ssmc for cs8900a
   	pSSMCReg = (S3C2450_SSMC_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_SSMC, FALSE);
	pSSMCReg->SMBIDCYR1 = 0;
	pSSMCReg->SMBWSTWRR1 = 14;
	pSSMCReg->SMBWSTOENR1 = 2;
	pSSMCReg->SMBWSTWENR1 = 2;
	pSSMCReg->SMBWSTRDR1 = 14;  //14clk
	
	
	pSSMCReg->SMBCR1 |= ((1<<2)|(1<<0));
	pSSMCReg->SMBCR1 &= ~((3<<20)|(3<<20)|(3<<12));
	pSSMCReg->SMBCR1 &= ~(3<<4);
	pSSMCReg->SMBCR1 |= (1<<4) | (1<<7) | (1<<15);  
}
//-----------------------------------------------------------------------------------------------------

#ifdef KITL_USBRNDIS
BOOL InitKitlUSBRndisArgs (OAL_KITL_ARGS *pKitlArgs)
{

	KITLOutputDebugString ("+++InitKitlUSBRndisArgs Start\n");

	
	pKitlArgs->flags = OAL_KITL_FLAGS_ENABLED|OAL_KITL_FLAGS_VMINI|OAL_KITL_FLAGS_POLL;
   
	pKitlArgs->devLoc.IfcType = Internal;
	pKitlArgs->devLoc.Pin     = 0;
	pKitlArgs->devLoc.LogicalLoc =  (DWORD)(S3C2450_BASE_REG_PA_USBD);
       pKitlArgs->devLoc.Pin           = IRQ_USBD;

   	OALKitlStringToMAC(USBRNDIS_MAC,pKitlArgs->mac);

   	pKitlArgs->ipAddress            = OALKitlStringToIP(USBRNDIS_IP_ADDRESS);
   	pKitlArgs->ipMask            	= OALKitlStringToIP(USBRNDIS_IP_MASK);
   	pKitlArgs->ipRoute            	= OALKitlStringToIP(USBRNDIS_IP_ROUTER);

	
	pKitlArgs->devLoc.PhysicalLoc =  (PVOID)pKitlArgs->devLoc.LogicalLoc;

  	g_kitlDevice.name = L"2450USBRNDIS";
   	g_kitlDevice.ifcType = pKitlArgs->devLoc.IfcType;
   	g_kitlDevice.resource = 0;
   	g_kitlDevice.type = OAL_KITL_TYPE_ETH;
   	g_kitlDevice.pDriver = (void *)&g_kitlUSBRndis;
    	
    return TRUE;
}
#endif

BOOL OALKitlStart()
{
    OAL_KITL_ARGS   kitlArgs, *pArgs;
    BOOL            fRet = FALSE;
    UCHAR			*szDeviceId,buffer[OAL_KITL_ID_SIZE]="\0";

    memset (&kitlArgs, 0, sizeof (kitlArgs));

    pArgs = (OAL_KITL_ARGS *)OALArgsQuery(OAL_ARGS_QUERY_KITL);
    szDeviceId = (CHAR*)OALArgsQuery(OAL_ARGS_QUERY_DEVID);

    // common parts
    kitlArgs.devLoc.IfcType = g_kitlDevice.ifcType
                            = InterfaceTypeUndefined;
    g_kitlDevice.name       = g_oalIoCtlPlatformType;

    KITLOutputDebugString ("OALKitlStart : ");

    
#ifdef KITL_SERIAL
    KITLOutputDebugString ("SERIAL\n");
	fRet = InitKitlSerialArgs (&kitlArgs);
	strcpy(buffer,"2450SerKitl");
	szDeviceId = buffer;
    g_kitlDevice.id = kitlArgs.devLoc.LogicalLoc;
#endif //KITL_SERIAL

#ifdef KITL_USBSERIAL
    KITLOutputDebugString ("USB SERIAL\n");
	fRet = InitKitlUSBSerialArgs (&kitlArgs);
	strcpy(buffer,"2450USBSerKitl");
	szDeviceId = buffer;
    g_kitlDevice.id = kitlArgs.devLoc.LogicalLoc;
#endif //KITL_USBSERIAL

#ifdef KITL_USBRNDIS
    KITLOutputDebugString ("KITL USBRNDIS\n");

    fRet = InitKitlUSBRndisArgs (&kitlArgs);

	OALKitlCreateName(BSP_DEVICE_PREFIX, kitlArgs.mac, buffer);

	szDeviceId = buffer;
	g_kitlDevice.id = kitlArgs.devLoc.LogicalLoc;

    strcpy(buffer,"2450USBRndKitl");
    szDeviceId = buffer;
    g_kitlDevice.id = kitlArgs.devLoc.LogicalLoc;
#endif //KITL_USBRNDIS


#ifdef KITL_ETHERNET
    KITLOutputDebugString ("ETHERNET\n");
	KITL_PortInit();

//	if (pArgs->devLoc.LogicalLoc == 0)
	if (pArgs == NULL)
	{	
		KITLOutputDebugString ("pArgs = NULL\n");
		fRet = InitKitlEtherArgs (&kitlArgs);
		OALKitlCreateName(BSP_DEVICE_PREFIX, kitlArgs.mac, buffer);
		szDeviceId = buffer;
		g_kitlDevice.id = kitlArgs.devLoc.LogicalLoc;
	}
	else
	{
    	KITLOutputDebugString ("Kitl args bring from argument setting of RAM\n");
		g_kitlDevice.ifcType			= Internal;
			g_kitlDevice.id					= BSP_BASE_REG_PA_CS8900A_IOBASE;  // base address
			g_kitlDevice.type			   = OAL_KITL_TYPE_ETH;
			g_kitlDevice.pDriver			= (void *)&g_kitlEthCS8900A;
		
		memcpy(&kitlArgs, pArgs, sizeof (kitlArgs));
		kitlArgs.flags |= OAL_KITL_FLAGS_POLL;
		OALKitlCreateName(BSP_DEVICE_PREFIX, kitlArgs.mac, buffer);
		szDeviceId = buffer;
	
		fRet = TRUE;
	}
	 RETAILMSG(KITL_DBON, (
		L"DeviceId................. %hs\r\n", szDeviceId
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.flags............. 0x%x\r\n", kitlArgs.flags
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.devLoc.IfcType.... %d\r\n",   kitlArgs.devLoc.IfcType
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.devLoc.LogicalLoc. 0x%x\r\n", kitlArgs.devLoc.LogicalLoc
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.devLoc.PhysicalLoc 0x%x\r\n", kitlArgs.devLoc.PhysicalLoc
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.devLoc.Pin........ %d\r\n",   kitlArgs.devLoc.Pin
	));
	RETAILMSG(KITL_DBON, (
		L"kitlArgs.ip4address........ %s\r\n",   OALKitlIPtoString(kitlArgs.ipAddress)
	));
#endif //KITL_ETHERNET

	if (fRet == FALSE)
	{
	    KITLOutputDebugString ("NONE\n");
		return FALSE;
	}
	
	if ((kitlArgs.flags & OAL_KITL_FLAGS_ENABLED) == 0)
	RETAILMSG(1, (TEXT("KITL is disabled.\r\n")));
	else
	RETAILMSG(1, (TEXT("KITL is enabeld.\r\n")));
	KITLOutputDebugString ("Call OALKitlInit : ");
	OALKitlInit (szDeviceId, &kitlArgs, &g_kitlDevice);
	return fRet;
}



//------------------------------------------------------------------------------
//
//  Function:  OALGetTickCount
//
//  This function is called by some KITL libraries to obtain relative time
//  since device boot. It is mostly used to implement timeout in network
//  protocol.
//

UINT32 OALGetTickCount()
{
    static ULONG count = 0;

    count++;
    return count/100;
}

// Define a dummy SetKMode function to satisfy the NAND FMD.
//
DWORD SetKMode (DWORD fMode)
{
    return(1);
}

DWORD OEMEthGetSecs(void)
{
    SYSTEMTIME sTime;

    OEMGetRealTime(&sTime);
    return((60UL * (60UL * (24UL * (31UL * sTime.wMonth + sTime.wDay) + sTime.wHour) + sTime.wMinute)) + sTime.wSecond);
}

//------------------------------------------------------------------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二三区| 中文字幕在线一区| 国产亚洲精品精华液| 成人欧美一区二区三区| 亚洲女子a中天字幕| 污片在线观看一区二区| 国产一区二区美女诱惑| 99视频国产精品| 欧美日韩激情在线| 国产午夜精品一区二区三区四区| 亚洲欧美日韩在线播放| 蜜桃久久av一区| eeuss鲁一区二区三区| 欧美剧情片在线观看| 中文字幕综合网| 99热这里都是精品| 欧美一卡二卡三卡四卡| 久久久精品影视| 亚洲一区二区精品3399| 国产永久精品大片wwwapp| 91黄色免费网站| 久久久精品tv| 亚洲一区国产视频| 国产aⅴ综合色| 欧美精品久久99| 1024成人网| 精品中文av资源站在线观看| 91在线播放网址| 欧美一区二区三区公司| 中文字幕亚洲不卡| 久久不见久久见免费视频7| 色哟哟在线观看一区二区三区| 欧美成人一区二区三区| 一区二区三区四区精品在线视频| 加勒比av一区二区| 欧美人与禽zozo性伦| 亚洲天堂精品在线观看| 国产一区二区91| 欧美日韩精品综合在线| 亚洲人成精品久久久久| 国产乱妇无码大片在线观看| 制服丝袜亚洲精品中文字幕| 亚洲欧美激情小说另类| 粉嫩av一区二区三区| 久久综合中文字幕| 日产欧产美韩系列久久99| 欧美中文字幕久久| 综合久久给合久久狠狠狠97色 | 成人激情av网| 精品噜噜噜噜久久久久久久久试看| 亚洲综合一二三区| 一本到不卡精品视频在线观看 | 99国产精品99久久久久久| 久久免费的精品国产v∧| 日韩av高清在线观看| 欧美在线观看一二区| 亚洲天堂av老司机| 不卡的av中国片| 国产人成一区二区三区影院| 国内成人免费视频| 精品国产三级a在线观看| 日韩av电影免费观看高清完整版 | 亚洲激情一二三区| 成人激情视频网站| 久久久久久久久久久久久女国产乱| 热久久久久久久| 在线播放亚洲一区| 天天综合天天做天天综合| 91豆麻精品91久久久久久| 亚洲免费av高清| 色噜噜夜夜夜综合网| 亚洲精品欧美激情| 在线观看av不卡| 一区二区三区丝袜| 欧美综合色免费| 视频一区中文字幕国产| 在线播放国产精品二区一二区四区 | 一区二区三区日韩在线观看| 99久久久久免费精品国产| 国产精品乱子久久久久| 成人美女视频在线观看18| 国产精品美女久久久久久久网站| 成人高清av在线| 中文字幕一区二区三| 色www精品视频在线观看| 伊人一区二区三区| 欧美日韩国产中文| 日本中文字幕不卡| 久久亚洲一区二区三区明星换脸 | 国产欧美日韩综合精品一区二区| 国产精品伊人色| 国产精品入口麻豆原神| 91在线精品一区二区| 亚洲一区在线观看免费| 91精品中文字幕一区二区三区| 麻豆久久久久久| 日本一区二区综合亚洲| 一本一道久久a久久精品综合蜜臀| 亚洲综合一区二区| 日韩一级片网址| 成人毛片视频在线观看| 亚洲与欧洲av电影| 日韩一区二区三区在线视频| 国产精选一区二区三区| 亚洲欧洲日韩av| 欧美久久久一区| 精品午夜久久福利影院| 日本一区二区动态图| 91久久人澡人人添人人爽欧美| 欧美精品一区二区三| 99久久99精品久久久久久| 日韩精品一卡二卡三卡四卡无卡| 久久老女人爱爱| 一本色道**综合亚洲精品蜜桃冫| 日韩精品成人一区二区在线| 国产亚洲精品免费| 欧美色爱综合网| 精品一区二区三区在线观看| 亚洲人成人一区二区在线观看| 4438成人网| eeuss影院一区二区三区| 青青草91视频| ㊣最新国产の精品bt伙计久久| 91精品欧美一区二区三区综合在| 国产盗摄视频一区二区三区| 午夜亚洲国产au精品一区二区| 精品日韩99亚洲| 91久久精品网| 国产一区二区伦理片| 一区二区高清视频在线观看| 精品国产第一区二区三区观看体验| 91视频在线看| 国产在线不卡一卡二卡三卡四卡| 一卡二卡欧美日韩| 国产视频亚洲色图| 欧美日韩国产经典色站一区二区三区| 国产激情一区二区三区| 五月激情六月综合| 亚洲少妇屁股交4| 亚洲精品一区二区三区福利| 欧美精品一级二级| av电影在线不卡| 狠狠色狠狠色合久久伊人| 一二三四社区欧美黄| 中文字幕第一区二区| 日韩一区二区精品| 欧美婷婷六月丁香综合色| 成人成人成人在线视频| 久草精品在线观看| 视频在线观看一区二区三区| 一区二区三区在线免费观看| 国产精品欧美经典| 久久综合久久综合久久| 在线综合+亚洲+欧美中文字幕| 日本伦理一区二区| 9人人澡人人爽人人精品| 国产久卡久卡久卡久卡视频精品| 蜜桃视频在线观看一区| 天天爽夜夜爽夜夜爽精品视频| 一区二区三区在线视频播放| 日韩美女啊v在线免费观看| 国产欧美日韩在线看| 欧美精品一区二区三区视频| 日韩美女一区二区三区| 欧美一区二区久久| 欧美嫩在线观看| 欧美日韩国产三级| 在线观看日产精品| 色综合久久66| 日本电影欧美片| 91久久奴性调教| 欧美在线观看禁18| 在线免费观看成人短视频| 日本韩国一区二区| 色天使色偷偷av一区二区| 不卡的电影网站| 91在线丨porny丨国产| av在线不卡免费看| 99视频一区二区| 91香蕉国产在线观看软件| 97精品电影院| 一本大道av伊人久久综合| 在线免费观看一区| 欧美天堂一区二区三区| 欧美色精品在线视频| 欧美日韩成人综合在线一区二区| 欧美精品一二三四| 日韩免费高清av| 亚洲精品在线免费观看视频| 久久午夜免费电影| 国产午夜亚洲精品不卡| 国产精品嫩草影院av蜜臀| 亚洲欧洲日韩av| 亚洲一区中文日韩| 奇米四色…亚洲| 加勒比av一区二区| 成人免费视频免费观看| 91在线porny国产在线看| 欧美日韩亚洲综合一区二区三区| 91精品国产综合久久久久久久久久 |