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

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

?? ser2440.h

?? windows ce 50 drive program
?? H
字號:
/*++
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.
Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved.

Module Name:  
   SER_PDD.h
   
Abstract:  
   Holds definitions for sample 16550  serial interface.
   
Notes: 
--*/
#ifndef __SER_PDD_H__   
#define __SER_PDD_H__

#ifdef __cplusplus
extern "C" {
#endif

// TODO - Define PAGE_CONTAINING_UART
#define PAGE_CONTAINING_UART   XXXXX

/*
 * @doc HWINTERNAL
 * @struct SER_INFO | Private structure.
 */

/* 
 * S2400 UART1 register values
 */

// Line Status Register    
#define  COM2440_LSR_OE     0x1
#define  COM2440_LSR_PE     0x2
#define  COM2440_LSR_FE     0x4
#define  COM2440_LSR_BI     0x8   //Break Detect
// dummy value 
#define  COM2440_LSR_THRE   0xe
#define  COM2440_LSR_DR     0xf
// Fifo Status Register

// following two cts values are read from modem control register.
#define  COM2440_MSR_CTS    0x1
#define  COM2440_MSR_DCTS   0x4
// following two cts values are read from modem GIO port.
#define  COM2440_MSR_DSR    0x2
#define  COM2440_MSR_DDSR    0x8

typedef struct {
	PS2440_UART_REG s2440SerReg;

	volatile unsigned char *pUFTXH;  // Tx holding register for byte access.
	volatile unsigned char *pUFRXH;  // Rx holding register for byte access.
	volatile unsigned int *UART_INTMASK;
	volatile unsigned int *UART_INTSUBMASK;
	volatile unsigned int *UART_INTPND;
	volatile unsigned int *UART_INTSRCPND;
	volatile unsigned int *UART_INTSUBSRCPND;
	//volatile unsigned int *UART_INTOFFSET;
	//ULONG nTxINT;
	//ULONG nRxINT;
	ULONG bINT;
	ULONG bTxINT;
	ULONG bRxINT;
	ULONG bErrINT;
	BOOL fSW_EnTxINT;   // S/W flag of Enable Tx interrupt.
	BOOL RxDiscard;   // S/W flag of Enable Tx interrupt.
	BOOL UseIrDA;        // @field Boolean, are we running in IR mode?
	ULONG MSR;
	int ConSetup;
	// ULONG nRxErrINT;  // reserved for future...
	volatile unsigned int *rDTRport;
	int DtrPortNum;
	volatile unsigned int *rDSRport;
	int DsrPortNum;

#if USE_AFC
	volatile unsigned int *rCTSport;
	int CtsPortNum;
	volatile unsigned int *rRTSport;
	int RtsPortNum;
#endif
	// These variable are for saving register values.
	ULONG sULCON;
	ULONG sUCON;
	ULONG sUMCON;
	ULONG sUFCON;
	ULONG sINTstat;

	ULONG vUMSTAT;

	// We have an event callback into the MDD
	EVENT_FUNC EventCallback; // This callback exists in MDD
	PVOID        pMddHead;  // This is the first parm to callback

	// Keep a copy of DCB since we rely on may of its parms
	DCB         dcb;        // @field Device Control Block (copy of DCB in MDD)
	// And the same thing applies for CommTimeouts
	COMMTIMEOUTS CommTimeouts;  // @field Copy of CommTimeouts structure

	// Misc fields used by ser16550 library
	ULONG OpenCount;	    // @field Count of simultaneous opens. 
	PLOOKUP_TBL pBaudTable;     // @field Pointer to Baud Table
	ULONG		DroppedBytes;	// @field Number of dropped bytes 
	HANDLE		FlushDone;		// @field Handle to flush done event.
	BOOL		CTSFlowOff;		// @field Flag - CTS flow control state. 
	BOOL		DSRFlowOff;		// @field Flag - DSR flow control state. 
	BOOL		AddTXIntr;		// @field Flag - Fake a TX intr.
	COMSTAT		Status; 		// @field Bitfield representing Win32 comm status. 
	ULONG		CommErrors;		// @field Bitfield representing Win32 comm error status. 
	ULONG		ModemStatus;	// @field Bitfield representing Win32 modem status. 
	CRITICAL_SECTION	TransmitCritSec; // @field Protects UART Registers for non-atomic accesses
	CRITICAL_SECTION	RegCritSec; // @field Protects UART 
	ULONG		ChipID;			// @field Chip identifier (CHIP_ID_16550 or CHIP_ID_16450)        

	CEDEVICE_POWER_STATE    Dx;
} S2440_UART_INFO, * PS2440_UART_INFO;

typedef struct __SER_INFO {
	// Put lib struct first so we can easily cast pointers
	S2440_UART_INFO s2440COM;   // UART H/W register
	// now hardware specific fields
	DWORD       dwIOBase;       // @field IO Base Address - unmapped
	DWORD       dwIOLen;        // @field IO Length
	DWORD       dwIRQ;          // @field Interrupt number for this peripheral
	DWORD       dwDevIndex;     // @field Index of device

	PUCHAR      pBaseAddress;   // @field Start of serial registers - mapped

	UINT8       cOpenCount;     // @field Count of concurrent opens
	COMMPROP    CommProp;       // @field Pointer to CommProp structure.
	PVOID       pMddHead;       // @field First arg to mdd callbacks.
	BOOL        fIRMode;        // @field Boolean, are we running in IR mode?
#ifdef EXAMINE_BOOTARGS
	PBOOT_ARGS  pBootArgs;      // @field Pointer to global boot args struct
#endif    
	PHWOBJ      pHWObj;         // @field Pointer to PDDs HWObj structure
} SER_INFO, *PSER_INFO;


// Here are the names of the values stored in the registry
#define PC_REG_IRQ_VAL_NAME TEXT("IRQ") 
#define PC_REG_IRQ_VAL_LEN  sizeof( DWORD )

#define PC_REG_IOBASE_VAL_NAME TEXT("IoBase") 
#define PC_REG_IOBASE_VAL_LEN  sizeof( DWORD )
#define PC_REG_IOLEN_VAL_NAME TEXT("IoLen") 
#define PC_REG_IOLEN_VAL_LEN  sizeof( DWORD )

#define PC_REG_CONFIGBASE_VAL_NAME TEXT("ConfigBase") 
#define PC_REG_CONFIGBASE_VAL_LEN  sizeof( DWORD )
#define PC_REG_CONFIGLEN_VAL_NAME TEXT("ConfigLen") 
#define PC_REG_CONFIGLEN_VAL_LEN  sizeof( DWORD )

#define PC_REG_DMA_VAL_NAME TEXT("DMA") 
#define PC_REG_DMA_VAL_LEN  sizeof( DWORD )

#define PC_REG_DEVINDEX_VAL_NAME TEXT("DeviceArrayIndex") 
#define PC_REG_DEVINDEX_VAL_LEN  sizeof( DWORD )


#ifdef __cplusplus
}
#endif


/////////////////////////////////////////////////////////////////////////////////////////
//// S3C2400 UART Register

///////++ UART CONTROL REGISTER ++
// Line control register bitvalue mask
#define SER2440_PARITY_MASK     0x38
#define SER2440_STOPBIT_MASK    0x4
#define SER2440_DATABIT_MASK    0x3
#define SER2440_IRMODE_MASK     0x40

// Fifo Status
#define SER2440_FIFOSTAT_MASK   0xf00

//
#define SER2440_FIFOFULL_TX     (1<<14)
#define SER2440_FIFOCNT_MASK_TX 0x3f00
#define SER2440_FIFO_DEPTH_TX	64

//
#define SER2440_INT_INVALID     0x5a5affff

// Modem control register
#define SER2440_AFC             (0x10)
#define SER2440_RTS             0x1
//Receive Mode
#define RX_MODE_MASK          (0x11)
#define RX_DISABLE            (0x00)
#define RX_INTPOLL            (0x01)
#define RX_DMA0               (0x10)
#define RX_DMA1               (0x11)
//Transmit Mode
#define TX_MODE_MASK          (0x11 << 2)
#define TX_DISABLE            (0x00 << 2)
#define TX_INTPOLL            (0x01 << 2)
#define TX_DMA0               (0x10 << 2)
#define TX_DMA1               (0x11 << 2)
//Send Break Signal
#define BS_MASK               (0x01 << 4)
#define BS_NORM               (0x00 << 4)
#define BS_SEND               (0x01 << 4)
//Loop-back Mode
#define LB_MASK               (0x01 << 5)
#define LB_NORM               (0x00 << 5)
#define LB_MODE               (0x01 << 5)
//Rx Error Status Interrupt Enable
#define RX_EINT_MASK          (0x01 << 6)
#define RX_EINTGEN_OFF        (0x00 << 6)
#define RX_EINTGEN_ON         (0x01 << 6)
//Rx Time Out Enable
#define RX_TIMEOUT_MASK       (0x01 << 7)
#define RX_TIMEOUT_DIS        (0x00 << 7)
#define RX_TIMEOUT_EN         (0x01 << 7)
//Rx Interrupt Type
#define RX_INTTYPE_MASK       (0x01 << 8)
#define RX_INTTYPE_PUSE       (0x00 << 8)
#define RX_INTTYPE_LEVEL      (0x01 << 8)
//Tx Interrupt Type
#define TX_INTTYPE_MASK       (0x01 << 9)
#define TX_INTTYPE_PUSE       (0x00 << 9)
#define TX_INTTYPE_LEVEL      (0x01 << 9)
// Clock selection
#define CS_MASK	(0x01 << 10)
#define CS_PCLK (0x00 << 10)
#define CS_UCLK	(0x01 << 10)

/////////////////////////////////////////////////////////////////////////////////////////


#define INREG(pInfo, reg) (pInfo->s2440SerReg->reg)
#define OUTREG(pInfo, reg, value) (pInfo->s2440SerReg->reg = value)
// set register by orring..
#define SETREG(pInfo, reg, value) (pInfo->s2440SerReg->reg |= value)
#define CLEARREG(pInfo, reg, value) (pInfo->s2440SerReg->reg &= ~value)

#define DisEnINT(pInfo, value) (		*(pInfo->UART_INTMASK) |= (value))
#define DisEnSubINT(pInfo, value) (	*(pInfo->UART_INTSUBMASK) |= (value))

#define EnINT(pInfo, value) (			*(pInfo->UART_INTMASK) &= ~(value))
#define EnSubINT(pInfo, value) ( 		*(pInfo->UART_INTSUBMASK) &= ~(value))

#define GetSubINTStatus(pInfo) ((*(pInfo->UART_INTSUBMASK)) & 0x1ff)

#define ClearINTPnd(pInfo, value) (	*(pInfo->UART_INTSRCPND) = (value))
#define ClearSubINTPnd(pInfo, value) (	*(pInfo->UART_INTSUBSRCPND) = (value))
//#define GetSubINTPndStatus(pInfo) (*(pInfo->UART_INTSUBSRCPND) & 0x1ff)
#define GetSubINTPndStatus(pInfo) 1


#endif __SER_PDD_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美aaaaaa| 午夜欧美大尺度福利影院在线看| 在线国产电影不卡| 从欧美一区二区三区| 国产一区二区美女| 蓝色福利精品导航| 国精品**一区二区三区在线蜜桃| 蓝色福利精品导航| 精品亚洲aⅴ乱码一区二区三区| 免费一级欧美片在线观看| 日韩精品成人一区二区三区| 日本大胆欧美人术艺术动态| 亚洲妇熟xx妇色黄| 亚洲午夜久久久久中文字幕久| 亚洲午夜视频在线| 麻豆高清免费国产一区| 精品亚洲porn| 91视视频在线观看入口直接观看www | 日本韩国欧美三级| 不卡视频免费播放| 欧美一级爆毛片| 亚洲天堂成人网| 精品无码三级在线观看视频 | 成人免费看视频| 色综合天天综合网天天看片| 欧美精品精品一区| 久久蜜臀中文字幕| 精品在线播放免费| 色菇凉天天综合网| 亚洲精品视频在线观看网站| 一本一道久久a久久精品| 亚洲一区影音先锋| 精品国产麻豆免费人成网站| 欧美高清你懂得| 麻豆国产精品一区二区三区| 亚洲成人av一区二区三区| 日韩国产在线观看一区| 中文字幕亚洲一区二区av在线| 国产伦理精品不卡| 国产一区二区三区视频在线播放| 亚洲综合久久久| 国产精品久久久久桃色tv| 午夜天堂影视香蕉久久| 国产.欧美.日韩| 欧美一区二区观看视频| 一区二区视频在线| 国产成人精品一区二区三区四区| 欧美日韩高清影院| 国产精品久久99| 国产亚洲精品福利| 丁香一区二区三区| 亚洲一区二区三区在线看| 6080yy午夜一二三区久久| 蜜臀a∨国产成人精品| 欧美大白屁股肥臀xxxxxx| 日韩电影一区二区三区四区| 911精品产国品一二三产区| 亚洲国产色一区| 7777精品伊人久久久大香线蕉最新版| 亚洲午夜久久久久久久久电影院 | 国产98色在线|日韩| 欧美三级中文字| 专区另类欧美日韩| 国产成人8x视频一区二区| 2021国产精品久久精品| 免费成人美女在线观看.| 欧美日韩国产美| 亚洲一区在线观看视频| 色综合天天在线| 亚洲免费在线播放| 一本一道综合狠狠老| 亚洲免费观看高清完整| 99re在线精品| 亚洲少妇30p| 欧洲av一区二区嗯嗯嗯啊| 亚洲主播在线观看| 欧美日韩亚洲综合一区二区三区 | 日日骚欧美日韩| 欧美色精品天天在线观看视频| 亚洲乱码一区二区三区在线观看| av在线不卡免费看| 亚洲影视在线观看| 欧美精品久久99| 精品伊人久久久久7777人| www激情久久| 成人动漫在线一区| 亚洲精品视频在线观看网站| 欧美日韩国产一级片| 麻豆国产精品视频| 中文字幕的久久| 色吧成人激情小说| 肉色丝袜一区二区| 国产欧美日韩在线| 在线看一区二区| 美女视频免费一区| 亚洲国产高清aⅴ视频| 91成人国产精品| 久久99久久精品| 国产精品福利av| 这里只有精品99re| 国产高清成人在线| 亚洲综合免费观看高清完整版在线| 欧美日韩精品欧美日韩精品一| 日韩和的一区二区| 中文字幕亚洲区| 欧美日韩成人一区| 国产精品一区二区久久不卡| 亚洲精品久久7777| 久久中文娱乐网| 在线观看日韩国产| 国产乱色国产精品免费视频| 亚洲精品国产精华液| 精品1区2区在线观看| 在线观看视频91| 欧美成人精品二区三区99精品| 欧美激情一区二区三区| 亚洲国产精品影院| www.综合网.com| 国产欧美一区二区精品久导航| 蜜臀久久99精品久久久画质超高清 | 欧美一区二区三区爱爱| 欧美国产日本韩| 成人性生交大片免费| 日本一区二区三区高清不卡| 老司机精品视频一区二区三区| 欧美日韩一区二区三区视频| 亚洲国产毛片aaaaa无费看| 色综合久久久久久久久久久| 亚洲人被黑人高潮完整版| 一本久久精品一区二区| 中文字幕一区av| 日韩欧美国产午夜精品| 欧美日韩在线直播| 日本欧美肥老太交大片| 亚洲第一二三四区| 26uuu色噜噜精品一区二区| 欧美精品日日鲁夜夜添| 国产女同互慰高潮91漫画| 日本欧美肥老太交大片| 日韩一级片在线观看| 国产成人一区二区精品非洲| 久久久久97国产精华液好用吗| 精品国产乱码久久久久久蜜臀 | 色香色香欲天天天影视综合网| 美女爽到高潮91| 午夜欧美在线一二页| 欧美国产国产综合| 欧美一区二区成人6969| 欧美日韩激情一区| 欧美乱妇23p| 51精品视频一区二区三区| 9久草视频在线视频精品| 亚洲国产日韩在线一区模特| 国产婷婷色一区二区三区| 欧美视频日韩视频| 91精品婷婷国产综合久久竹菊| 亚洲成av人片| 亚洲人快播电影网| 一区在线中文字幕| 日韩美女在线视频| 欧美日韩在线播| 欧美性xxxxxxxx| 亚洲人午夜精品天堂一二香蕉| 国产91在线观看丝袜| 99re视频精品| 99久久久免费精品国产一区二区 | 日韩视频在线观看一区二区| 在线播放欧美女士性生活| 欧美一卡二卡三卡| 久久无码av三级| 国产精品国产精品国产专区不片| 亚洲卡通欧美制服中文| 一区二区三区在线免费| 人人超碰91尤物精品国产| 国产一区二区三区在线看麻豆 | 亚洲欧洲av在线| 亚洲成人精品一区二区| 美女视频第一区二区三区免费观看网站 | 一本一道久久a久久精品| 欧美日韩夫妻久久| 久久久www成人免费毛片麻豆| 中文字幕二三区不卡| 午夜视频一区二区三区| 国产精品自在欧美一区| 色婷婷国产精品| 精品国免费一区二区三区| 日本一区二区综合亚洲| 亚洲激情图片小说视频| 久久99久久久久| 色婷婷综合久久| 欧美精品一区二区在线播放| 亚洲品质自拍视频网站| 蜜臀99久久精品久久久久久软件| 成人中文字幕在线| 制服丝袜日韩国产| 亚洲手机成人高清视频| 麻豆精品新av中文字幕| 一本色道亚洲精品aⅴ| 久久久久久免费毛片精品| 亚洲国产另类av|