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

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

?? kitlser.c.svn-base

?? 這是三星的2443的wince的bootloader
?? SVN-BASE
字號:
//
// 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.

Module Name:  
    kitlser.c
    
Abstract:

    Platform specific code for serial KITL services.
        
Functions:


Notes: 

--*/

#include <windows.h>
#include <bsp.h>
#include <kitl_cfg.h>

static DWORD KitlIoPortBase;
volatile S3C2443_UART_REG *g_pUARTReg;

/* S3C2443UART_Init
 *
 *  Called by PQOAL KITL framework to initialize the serial port
 *
 *  Return Value:
 */
BOOL S3C2443UART_Init (KITL_SERIAL_INFO *pSerInfo)
{
    volatile S3C2443_IOPORT_REG *g_pIOPortReg;

    g_pIOPortReg = (S3C2443_IOPORT_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_IOPORT, FALSE);
	
	
    //KITLOutputDebugString ("+S3C2443UART_Kitl_Initx\n");
    //KITLOutputDebugString ("   pAddress = 0x%x\n", pSerInfo->pAddress);
    //KITLOutputDebugString ("   BaudRate = 0x%x\n", pSerInfo->baudRate);
    //KITLOutputDebugString ("   DataBits = 0x%x\n", pSerInfo->dataBits);
    //KITLOutputDebugString ("   StopBits = 0x%x\n", pSerInfo->stopBits);
    //KITLOutputDebugString ("   Parity   = 0x%x\n", pSerInfo->parity);

	KitlIoPortBase = (DWORD)pSerInfo->pAddress;

	if (!KitlIoPortBase)
	{
		return 0;
	}
	else if (KitlIoPortBase == S3C2443_BASE_REG_PA_UART0)
	{
    	// GPH0 and GPH1 are UART0 TXD0 and RXD0, respectively.
    	//
    	g_pIOPortReg->GPHCON = (g_pIOPortReg->GPHCON & ~((3 << 0)|(3 << 2))) | ((2 << 0)|(2 << 2));

    	// Disable pull-up on TXD0 and RXD0.
#ifdef EVT1    	
    	g_pIOPortReg->GPHUDP |= (1 << 0)|(1 << 2);
#else
		g_pIOPortReg->GPHUDP |= (2 << 0)|(2 << 2);
#endif
    }
    else if (KitlIoPortBase == S3C2443_BASE_REG_PA_UART1)
    {
    	// GPH2 and GPH3 are UART1 TXD1 and RXD1, respectively.
    	//
    	g_pIOPortReg->GPHCON = (g_pIOPortReg->GPHCON & ~((3 << 4)|(3 << 6))) | ((2 << 4)|(2 << 6));

    	// Disable pull-up on TXD1 and RXD1.
    	//
#ifdef EVT1     	
    	g_pIOPortReg->GPHUDP |= (1 << 4)|(1 << 6);
#else
		g_pIOPortReg->GPHUDP |= (2 << 4)|(2 << 6);
#endif
		
    }

    g_pUARTReg = (S3C2443_UART_REG *)OALPAtoVA(KitlIoPortBase,FALSE);

    // Configure the UART.
    //
    g_pUARTReg->UFCON = BSP_UART_UFCON;
    g_pUARTReg->UMCON = BSP_UART_UMCON;
    g_pUARTReg->ULCON = BSP_UART_ULCON;
    g_pUARTReg->UCON  = BSP_UART_UCON;
    g_pUARTReg->UBRDIV= BSP_UART_UBRDIV;

    pSerInfo->bestSize = 1;       // read it one by one

    //KITLOutputDebugString ("-S3C2443UART_Kitl_Init\n");

    return 1;
}

/* S3C2443UART_WriteData
 *
 *  Block until the byte is sent
 *
 *  Return Value: TRUE on success, FALSE otherwise
 */
UINT16 S3C2443UART_WriteData (UINT8 *pch, UINT16 length)
{
    if (!KitlIoPortBase) 
    {
        length = 0;
	}
	else
	{
        DEBUGCHK (length == 1);
    	// Wait for transmit buffer to be empty
    	while ((g_pUARTReg->UTRSTAT & 0x02) == 0);

	    // Send character
    	g_pUARTReg->UTXH = *pch;
	}
    return length;
}


/* S3C2443UART_ReadData
 *
 *  Called from PQOAL KITL to read a byte from serial port
 *
 *  Return Value: TRUE on success, FALSE otherwise
 */
UINT16 S3C2443UART_ReadData (UINT8 *pch, UINT16 length)
{
    UCHAR uStatus;
    UINT16 count = 0;

    if (KitlIoPortBase) 
    {
	    uStatus = g_pUARTReg->UTRSTAT;
    	if ((uStatus & 0x01) != 0) 
    	{
       		*pch = (UINT8) g_pUARTReg->URXH;
			count = 1;
    	}

	}
    return count;
}


/* S3C2443UART_EnableInt
 *
 *  Enable Recv data interrupt
 *
 *  Return Value:
 */
VOID S3C2443UART_EnableInt (void)
{
    // polling, no interrupt
}

/* S3C2443UART_DisableInt
 *
 *  Disable Recv data interrupt
 *
 *  Return Value:
 */
VOID S3C2443UART_DisableInt (void)
{
    // polling, no interrupt
}

void S3C2443UART_PowerOff(void)
{
	return;
}

void S3C2443UART_PowerOn(void)
{
    volatile S3C2443_IOPORT_REG *g_pIOPortReg;
    g_pIOPortReg = (S3C2443_IOPORT_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_IOPORT, FALSE);
    
	OEMInitDebugSerial();
	KITLOutputDebugString ("+S3C2443UART_PowerOn\n");
	
	
	if (KitlIoPortBase == S3C2443_BASE_REG_PA_UART0)
	{
    	// GPH0 and GPH1 are UART0 TXD0 and RXD0, respectively.
    	//
    	g_pIOPortReg->GPHCON = (g_pIOPortReg->GPHCON & ~((3 << 0)|(3 << 2))) | ((2 << 0)|(2 << 2));

    	// Disable pull-up on TXD0 and RXD0.
    	//
#ifdef EVT1    	
    	g_pIOPortReg->GPHUDP |= (1 << 0)|(1 << 2);
#else
		g_pIOPortReg->GPHUDP |= (2 << 0)|(2 << 2);
#endif    	
    }
    else if (KitlIoPortBase == S3C2443_BASE_REG_PA_UART1)
    {
    	// GPH2 and GPH3 are UART1 TXD1 and RXD1, respectively.
    	//
    	g_pIOPortReg->GPHCON = (g_pIOPortReg->GPHCON & ~((3 << 4)|(3 << 6))) | ((2 << 4)|(2 << 6));

    	// Disable pull-up on TXD1 and RXD1.
    	//
#ifdef EVT1    	
    	g_pIOPortReg->GPHUDP |= (1 << 4)|(1 << 6);
#else
		g_pIOPortReg->GPHUDP |= (2 << 4)|(2 << 6);
#endif    	
    }

    // Configure the UART.
    //
    g_pUARTReg->UFCON = BSP_UART_UFCON;
    g_pUARTReg->UMCON = BSP_UART_UMCON;
    g_pUARTReg->ULCON = BSP_UART_ULCON;
    g_pUARTReg->UCON  = BSP_UART_UCON;
    g_pUARTReg->UBRDIV= BSP_UART_UBRDIV;

}


// serial driver
OAL_KITL_SERIAL_DRIVER DrvSerial = {
    S3C2443UART_Init,
    NULL,
    S3C2443UART_WriteData,
    NULL,
    S3C2443UART_ReadData,
    S3C2443UART_EnableInt,
    S3C2443UART_DisableInt,
    S3C2443UART_PowerOff,
    S3C2443UART_PowerOn,
    NULL,
};

const OAL_KITL_SERIAL_DRIVER *GetKitlSerialDriver (void)
{
    return &DrvSerial;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲高清剧情介绍 | 94-欧美-setu| 日本乱码高清不卡字幕| 51精品秘密在线观看| 亚洲精品一区二区精华| 中文字幕一区二区三区在线观看| 一区二区三区中文字幕电影 | 日韩免费观看高清完整版 | 色婷婷精品久久二区二区蜜臀av| 欧美乱妇23p| 国产亚洲精品久| 亚洲一二三级电影| 久久国产精品色| 91色九色蝌蚪| 26uuu精品一区二区在线观看| 国产精品灌醉下药二区| 首页国产欧美日韩丝袜| 成人免费看的视频| 91精品国产入口在线| 国产精品久久久久天堂| 男女性色大片免费观看一区二区| 成人免费视频播放| 日韩一区二区三区在线视频| 中文字幕制服丝袜一区二区三区| 日本伊人午夜精品| 99精品国产视频| 精品sm在线观看| 亚洲成人免费av| 99久久精品国产一区二区三区| 欧美一二三四在线| 亚洲精品高清视频在线观看| 国产一区二区三区免费| 欧美精品久久一区| 最新成人av在线| 国模无码大尺度一区二区三区| 欧美性猛交xxxxxxxx| 国产农村妇女毛片精品久久麻豆| 日韩在线一区二区| 色综合天天综合色综合av| 久久综合九色综合97_久久久 | 欧美一区二区网站| 亚洲免费看黄网站| 成人午夜激情影院| 欧美变态凌虐bdsm| 丝袜诱惑制服诱惑色一区在线观看| 99久久免费精品| 久久新电视剧免费观看| 日本在线不卡视频| 欧美精品三级在线观看| 夜夜嗨av一区二区三区中文字幕 | 国产精品久久久久毛片软件| 国模套图日韩精品一区二区| 欧美一区二区三区在线看| 亚洲成人综合视频| 在线免费观看一区| 亚洲色图丝袜美腿| 91香蕉视频污在线| 国产精品乱码一区二区三区软件| 狠狠色丁香婷综合久久| 日韩美女一区二区三区四区| 偷拍日韩校园综合在线| 在线中文字幕一区二区| 亚洲精品亚洲人成人网| 一本一道波多野结衣一区二区| 亚洲欧美在线视频观看| 北条麻妃国产九九精品视频| 中文子幕无线码一区tr| 丁香婷婷综合激情五月色| 久久一夜天堂av一区二区三区| 麻豆91免费观看| 日韩欧美激情在线| 九九精品一区二区| 欧美va亚洲va国产综合| 玖玖九九国产精品| 精品国产乱码久久久久久闺蜜| 美女视频第一区二区三区免费观看网站 | 91精品国产欧美一区二区成人| 亚洲成av人片| 884aa四虎影成人精品一区| 人妖欧美一区二区| 欧美岛国在线观看| 国产精品综合视频| 国产精品网曝门| 97se亚洲国产综合自在线观| 亚洲欧美国产77777| 日本高清免费不卡视频| 亚洲成人先锋电影| 日韩一二三区不卡| 国产一区二区在线影院| 欧美国产日韩精品免费观看| 成人av免费在线播放| 亚洲欧美视频一区| 精品视频一区三区九区| 蜜桃av一区二区| 国产亚洲人成网站| 99久久精品免费看| 丝袜美腿高跟呻吟高潮一区| 欧美一区二区黄| 国产剧情一区在线| 亚洲色图清纯唯美| 欧美另类久久久品| 狠狠色狠狠色合久久伊人| 国产精品网站在线观看| 在线观看91视频| 精品制服美女久久| 中文字幕亚洲在| 777久久久精品| 国产一区在线不卡| 一区二区三区成人| 精品国产露脸精彩对白| 99综合电影在线视频| 午夜视频一区在线观看| www一区二区| 色噜噜狠狠色综合中国| 欧美aa在线视频| 自拍偷拍欧美激情| 欧美一区二区三区免费观看视频 | 国产精品视频线看| 欧美日韩一区二区三区在线| 国产一区二区电影| 亚洲综合另类小说| 久久精品人人爽人人爽| 色美美综合视频| 精品中文字幕一区二区小辣椒 | 欧美日韩精品免费观看视频| 国内精品第一页| 亚洲成人一区二区| 中文字幕不卡在线| 91精品一区二区三区久久久久久| 大美女一区二区三区| 午夜精品福利视频网站| 中文字幕亚洲欧美在线不卡| 欧美成人一区二区三区片免费| av在线一区二区| 九九在线精品视频| 亚洲福利视频三区| 中文字幕在线一区二区三区| 欧美成人乱码一区二区三区| 欧美亚洲禁片免费| 国产99久久久国产精品潘金网站| 亚洲成人黄色影院| 国产精品久久久久久久久免费相片 | 日韩理论片中文av| 精品国产成人系列| 欧美色图激情小说| av综合在线播放| 极品美女销魂一区二区三区免费| 一区二区三区不卡视频在线观看| 国产午夜精品久久久久久免费视| 欧美日韩免费视频| 91影视在线播放| 成人免费的视频| 黄网站免费久久| 青青草国产成人99久久| 亚洲影院久久精品| 成人免费一区二区三区视频| 久久久久久久电影| 精品久久久久久久久久久院品网 | 日韩成人dvd| 亚洲一区国产视频| 亚洲日本欧美天堂| 欧美激情自拍偷拍| 国产日韩欧美在线一区| 精品免费99久久| 欧美日韩大陆一区二区| 91国偷自产一区二区三区成为亚洲经典 | 3751色影院一区二区三区| 欧美日韩亚洲高清一区二区| 色成年激情久久综合| av成人动漫在线观看| 国产精品影视在线| 国产在线精品免费| 精品一区二区三区蜜桃| 麻豆精品精品国产自在97香蕉 | 欧美成人一区二区三区在线观看| 欧美一区中文字幕| 6080yy午夜一二三区久久| 欧美日韩在线不卡| 欧美日韩国产影片| 欧美日韩另类一区| 欧美日韩激情一区| 正在播放亚洲一区| 91麻豆精品91久久久久同性| 91精品国产一区二区三区| 91精品国产91热久久久做人人| 91精品在线免费观看| 欧美一区二区三区不卡| 欧美一区永久视频免费观看| 日韩欧美在线1卡| 精品国产一区久久| 久久新电视剧免费观看| 欧美经典三级视频一区二区三区| xf在线a精品一区二区视频网站| 久久一留热品黄| 亚洲国产成人午夜在线一区 | 精品视频免费在线| 91精品国产全国免费观看 | 国产成人午夜精品5599| 国产成人av电影在线| 99久久精品国产一区二区三区|