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

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

?? chrontel.h

?? X-scale 27x 平臺
?? H
字號:
//
// Copyright (c) Chrontel Inc.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Chrontel 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:  
   LIBI2C.h
   
Abstract:  
   Holds definitions for Chrontel's XScale I2C & Register Accessing Functions.

Revision:
    Created by Roger Yu.   11/11/02  
Notes: 
--*/
#ifndef __CHRONTEL_H__   
#define __CHRONTEL_H__

#include <windows.h>   // include windows.h to add type defines
#include <windev.h>
#include <ceddk.h>
#include <pwingdi.h>

#ifndef WINCEOEM
#define WINCEOEM 1
#endif

#include <Pkfuncs.h>

#define CHDBG(x) NKDbgPrintfW x ;

#include "phyaddr.h"

#include "xslreg.h"

	#ifdef __cplusplus
extern "C" {
	#endif

//
//$$ Library Functions
//
int MapRegisterZones( void );
int UnmapRegisterZones( void );

__forceinline BOOL wrapVirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect)
{
		return VirtualCopy(lpvDest, lpvSrc, cbSize, fdwProtect);
}
	
__forceinline BOOL wrapSetKMode(BOOL fMode)
{
		return SetKMode(fMode);
}

// In: pPhysicalAddress= the physical address need be mapped
// Out: vpBase= base Virtual address of mapping
//      return= the mapped virtual address;  
//@@@Note: return = vpBase + (offset within page)
PVOID VirtualAllocCopy(unsigned size,PVOID *vpBase,PVOID pPhysicalAddress);

// Delay time in us with OST timer in PXA2x0
void delay_us( unsigned usVal);
void delay_ms( unsigned msVal);

/*
 Driver Information registry.
 The display driver or utility will check the registry here
 to determine which video output device is using, then it can 
 open the device based on the "Output" key, and do the 
 DeviceIoControl.
*/
#define VIDEO_OUTPUT_DEVICE_REG_PATH TEXT("Drivers\\Display\\Chrontel")
#define VOD_REG_DEVICE    TEXT("Output")
#define VOD_REG_ROW_RES   TEXT("CxScreen")
#define VOD_REG_COL_RES   TEXT("CyScreen")
#define VOD_REG_BPP       TEXT("ColorDepth")
#define VOD_REG_PANEL_TFT TEXT("IsTFTPanel")
#define VOD_REG_PANEL_DUAL TEXT("IsDualPanel")
#define VOD_REG_SHRINKPIXEL TEXT("ShrinkPixel")

//  Function used by display driver or utility to determine video output
//  device name.
//  return: Device Handler if success, or INVALID_HANDLE_VALUE if failed
int GetVideoParamRegistry(int* cxScreen, int* cyScreen, int* bpp, 
						  int* tft, int* dualpanel, int *hoc);

/* Chrontel VOD class define */
#define VOECLS_UNKNOWN	-1
#define VOECLS_7006	0x0
#define VOECLS_7013	0x1
#define VOECLS_7303	0x2
#define VOECLS_7007	0x3
#define VOECLS_7009	0x4
#define VOECLS_7019	0x5

// VOD device attribute byte
#define VOD_ATTR_INVALID 0x0	
#define VOD_ATTR_DEFAULT 0x10  // default device w/o VOD (eg. STN/TFT panel)

#define VOD_ATTR_TV      0x08  // Output to TV
#define VOD_ATTR_VGA     0x04  // Output to CRT/VGA bypass 
#define VOD_ATTR_DVI     0x02  // Output to DVI 
#define VOD_ATTR_LVDS    0x01  // Output to LVDS

#define VOD_ATTR_CHVOE   0x0F  // Output to TV/VGA/DVI/LVDS mask

// Initialze the I2C unit in PXA2x0.
// The function need be called after MapRegisterZones has been called successfully.
void I2CInitialize();
//Input: addr=  8-bit I2C Slave address
//       index= register index          
unsigned I2CReadReg( unsigned addr, unsigned index);
//Input: addr=  8-bit I2C Slave address
//       index= register index          
void I2CWriteReg( unsigned addr, unsigned index, unsigned value);
// Write register with mask
void I2CWriteRegBits(  unsigned addr, unsigned index, unsigned mask, unsigned value);
// return 0 if last I2C operation is OK
int I2CError();

//\\/\\//\\//\\\//
void LcdOnOff(int enable);
void BcrEnable( int enable);
void BcrOnOff( int on);
void LedOn(int on);

//+++ LCD Frame Buffer Memory Handling +++
void CleanupLcdMemory();
int AllocLcdMemory(int sx, int sy, int bpp);
void CleanupLcdMemory();

void SaveLcdPointers();
void RestoreLcdPointers();


typedef struct _TIMING_FLAGS {
	unsigned bHSyncPolarity		: 1;	// Bit 0, 1 = Sync Polarity is Active High
	unsigned bVSyncPolarity		: 1;	// Bit 1, 1 = Sync Polarity is Active High
	unsigned bBlankPolarity		: 1;	// Bit 2, Blank Polarity 1 = Active High, 0 = Active Low

// double in horizontal & vertical to scale up
	unsigned bClockDouble		: 1;	// Bit 3, 0 = 1x Clock, 1 = 2x XScale DPC mode
	unsigned bLineDouble		: 1;	// Bit 4, 1 = bouble each line in vertical, 0: no double
//	
	unsigned uTVStandard		: 2;    // Bit 6:5, TV Standard for TV out
	                                        // 00: NTSC,  01: PAL
	unsigned bTVDual                : 1;    // Bit 7:  Dual display when TV Out (TV+DVI or TV+LVDS)
	                                        //      0: TV only,  1: TV+DVI or TV+LVDS
} TIMING_FLAGS;

// define of LCLK flag for core clock 
#define  LCLK_NOCHANGE    (0<<28)
#define  LCLK_L27_CHANGE  (1<<28)
#define  LCLK_L32_CHANGE  (2<<28)
#define  LCLK_L36_CHANGE  (3<<28)
#define  LCLK_L40_CHANGE  (4<<28)
#define  LCLK_L45_CHANGE  (5<<28)

typedef struct {
    ULONG   dwSize;				// Size of the Timing Info Structure
    ULONG   dwDotClock;         // Pixel clock in kHz | LCLK flag

	ULONG	dwHActive;			// Active in pixels (PPL)
	ULONG	dwHSyncWidth;		// Horizontal Sync Width pixels (HSW)
	ULONG	dwHFrontPorch;		// From sync to active in pixels (BLW)
	ULONG	dwHBackPorch;		// From active to sync in pixels (ELW)
	ULONG	dwHRefresh;			// Refresh Rate
	ULONG	dwVActive;			// Active lines (LPP)
	ULONG	dwVSyncWidth;		// Vertical Sync in lines (VSW)
	ULONG	dwVFrontPorch;		// From sync to active lines  (BFW)
	ULONG	dwVBackPorch;		// From active to sync lines (EFW)
	ULONG	dwVRefresh;			// Refresh Rate
 	
	TIMING_FLAGS flFlags; 		// Timing Flags e.g. Signal Polarity

} DISPTIMING, *PDISPTIMING;

typedef struct _tagContrastCmdParm {
	int	command;				
	int 	parm;
} ContrastCmdParm;

//**********
// Inline functions to use the VOD IOCTL I/F code

//#include "vod_if.h"

int FindEncoder(void);
int vod_Initialize(UINT oc);
int vod_GetConnectStatus(UINT oc);
void vod_GetTiming(UINT oc, PDISPTIMING p);
void vod_SetTiming(UINT oc, PDISPTIMING p);
void vod_SetPower(UINT oc, int powerstate);
void vod_PostSetTiming(UINT oc);

/*--------------------------------------------------------------
//
//
**-------------------------------------------------------------*/
//@@@Add some defines that only visible in DDK kernel
// see the private <pwingdi.h> file
//@@@Add Chrontel defines Call back video function
// Using ESCAPE code start from OEM code base
#define OEMES_CODEBASE			100000
#define DRVESC_DISPLAYPAGE				(OEMES_CODEBASE + 1)
#define DRVESC_GETPALETTERAMPHYSICAL	(OEMES_CODEBASE + 2)
#define DRVESC_VERTICALBLANKINTERRUPT	(OEMES_CODEBASE + 3)
#define DRVESC_OS_SCREENACCESS			(OEMES_CODEBASE + 4)  
#define DRVESC_SCROLL					(OEMES_CODEBASE + 5)

#define DRVESC_I2CRW                    (OEMES_CODEBASE + 100)
#define DRVESC_GETTIMING                (OEMES_CODEBASE + 101)
#define DRVESC_SETTIMING                (OEMES_CODEBASE + 102)
//
#define DRVESC_CHANGEVOEDEVICE          (OEMES_CODEBASE + 103)
#define DRVESC_GETDIMMENSION            (OEMES_CODEBASE + 104)
#define DRVESC_SAVEPOINTERS             (OEMES_CODEBASE + 105)
#define DRVESC_RESTOREPOINTERS          (OEMES_CODEBASE + 106)
#define DRVESC_SHOWCOLORBAR             (OEMES_CODEBASE + 107)
#define DRVESC_GETVOEABILITY            (OEMES_CODEBASE + 108)
#define DRVESC_GETVOEDEVICE             (OEMES_CODEBASE + 109)
//
// send private Escape code to display driver
typedef int (*func_DisplayEscape)( 
    int nEscape,        //[in] Specifies the escape function to be performed.. 
    int cbInput,        //[in] Specifies the number of bytes of data pointed to by the lpszInData parameter. 
    LPCSTR lpszInData,  //[in] Long pointer to the input structure required for the specified escape. 
    int cbOutput,       //[in] Specifies the number of bytes of data pointed to by the lpszOutData parameter.
    LPSTR lpszOutData   //[out] Long pointer to the structure that receives output from this escape. 
);

extern func_DisplayEscape  PrivateDisplayEscape; 

//---------------------------------------------------------------------\\
//  Video callback functions provided by display driver or display 
//   service driver to VOD device
//
//
//**********
// Inline functions to use the Video Driver Escape code or VOS IOCTL I/F code
//#include "vos_if.h"

    #ifdef __cplusplus
}
    #endif


#endif __CHRONTEL_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情亚洲综合在线| 国产麻豆精品久久一二三| 精品一区免费av| 99精品热视频| 2021国产精品久久精品| 亚洲小说春色综合另类电影| 国产精品一二三区| 欧美一区二区大片| 亚洲综合视频网| 99精品在线观看视频| 久久久激情视频| 日本不卡一区二区三区高清视频| www.日韩av| 国产欧美一区二区精品性| 老司机精品视频一区二区三区| 色婷婷激情久久| 亚洲婷婷国产精品电影人久久| 国产乱人伦偷精品视频不卡| 日韩精品专区在线| 日韩国产精品大片| 91.xcao| 午夜精品久久久| 精品视频在线看| 亚洲国产日韩精品| 在线中文字幕一区二区| 亚洲蜜桃精久久久久久久| 成人黄色av电影| 亚洲欧美自拍偷拍| 91浏览器打开| 亚洲综合在线五月| 精品污污网站免费看| 婷婷国产v国产偷v亚洲高清| 欧美日韩精品福利| 日韩av中文在线观看| 91精品国产高清一区二区三区 | 国产日韩欧美精品在线| 麻豆精品精品国产自在97香蕉| 6080yy午夜一二三区久久| 天堂久久一区二区三区| 欧美一级欧美一级在线播放| 日本网站在线观看一区二区三区| 欧美肥大bbwbbw高潮| 麻豆91在线播放| 精品国产伦一区二区三区免费| 国产一区在线精品| 国产精品免费av| 91浏览器在线视频| 亚洲a一区二区| 欧美成人a在线| 成人一区在线观看| 亚洲欧美另类久久久精品| 欧美日韩一级大片网址| 日韩高清在线不卡| 国产欧美一区二区在线| 91伊人久久大香线蕉| 亚洲伊人伊色伊影伊综合网| 日韩亚洲欧美一区二区三区| 国产精选一区二区三区| 亚洲视频一区二区在线观看| 欧美美女黄视频| 国产精品资源在线看| 综合激情成人伊人| 欧美一区二区视频在线观看 | 国产乱码精品一区二区三区av | 欧美年轻男男videosbes| 韩国成人福利片在线播放| 最新国产成人在线观看| 91麻豆精品91久久久久同性| 国产成人免费9x9x人网站视频| 国产精品国产成人国产三级| 欧美一区二区二区| 91农村精品一区二区在线| 日本三级亚洲精品| 亚洲欧美综合另类在线卡通| 日韩免费一区二区三区在线播放| 91亚洲精品久久久蜜桃| 六月丁香综合在线视频| 亚洲乱码国产乱码精品精的特点| 欧美一级理论性理论a| 99精品国产视频| 九九精品视频在线看| 亚洲成人动漫一区| 国产精品久久久久久久久搜平片 | k8久久久一区二区三区| 裸体一区二区三区| 亚洲乱码国产乱码精品精的特点| xnxx国产精品| 在线综合视频播放| 91首页免费视频| 国产成人免费视频网站| 久久99精品久久久久久| 午夜欧美一区二区三区在线播放 | 国产日产欧产精品推荐色| 欧美高清www午色夜在线视频| av成人免费在线| 国产精品综合av一区二区国产馆| 日韩成人av影视| 亚洲一区在线免费观看| 国产精品动漫网站| 中文在线一区二区| www精品美女久久久tv| 欧美日韩另类一区| 欧美亚洲综合久久| 91在线视频在线| thepron国产精品| 成人白浆超碰人人人人| 国产99精品国产| 国产精品一区在线观看乱码| 国产一区二区不卡在线| 捆绑调教美女网站视频一区| 日本伊人精品一区二区三区观看方式 | zzijzzij亚洲日本少妇熟睡| 精品无人区卡一卡二卡三乱码免费卡| 亚洲欧美视频一区| 一色桃子久久精品亚洲| 国产精品久久久一区麻豆最新章节| 国产亚洲欧美日韩俺去了| 久久久久久97三级| 国产欧美日韩在线| 国产精品免费久久| 亚洲精品视频自拍| 亚洲国产乱码最新视频| 亚洲风情在线资源站| 亚洲高清视频中文字幕| 日韩和欧美一区二区| 青青草国产成人av片免费| 蜜桃视频在线观看一区| 国产在线日韩欧美| 成人免费视频app| 一本大道久久a久久精二百| 在线一区二区视频| 欧美人xxxx| 久久久亚洲午夜电影| 中文久久乱码一区二区| 亚洲欧美日韩在线不卡| 偷拍一区二区三区| 国产乱人伦偷精品视频免下载| 成人午夜碰碰视频| 欧美亚一区二区| 精品国产青草久久久久福利| 中文成人av在线| 亚洲电影你懂得| 激情综合色综合久久| eeuss鲁一区二区三区| 欧美日韩亚洲综合一区| 26uuu色噜噜精品一区| 亚洲女爱视频在线| 麻豆免费看一区二区三区| 成人av网站免费观看| 欧美日韩激情一区| 国产精品网站一区| 亚洲va欧美va人人爽午夜| 国产毛片精品视频| 欧美在线啊v一区| 久久伊人蜜桃av一区二区| 亚洲影院理伦片| www.欧美日韩国产在线| 国产精品久久看| 日韩国产在线一| 一本色道久久综合亚洲aⅴ蜜桃 | 依依成人综合视频| 狠狠色丁香久久婷婷综| 欧美亚洲国产一卡| 国产欧美一区视频| 蜜桃在线一区二区三区| 色综合天天综合| 日韩欧美综合一区| 国产精品午夜电影| 久久99热这里只有精品| 91黄色免费版| 中文av一区特黄| 国产一区二区在线看| 欧美日韩夫妻久久| 亚洲视频免费在线观看| 国模冰冰炮一区二区| 欧美日韩精品一区视频| 亚洲男人的天堂在线aⅴ视频| 国产精品资源在线观看| 日韩欧美一级片| 日日摸夜夜添夜夜添国产精品| 色欧美乱欧美15图片| 国产女主播一区| 国产成人在线网站| 久久亚洲捆绑美女| 久久成人18免费观看| 日韩欧美一区在线观看| 日本中文字幕一区| 欧美日韩成人高清| 久久激情五月婷婷| 精品日韩一区二区三区免费视频| 亚洲制服丝袜一区| 91福利资源站| 亚洲一区二区三区四区在线免费观看| 国产**成人网毛片九色 | 91亚洲国产成人精品一区二三| 久久久久久久久久美女| 精品午夜久久福利影院| 日韩欧美高清一区| 精品一区二区三区影院在线午夜| 欧美一区二区三区思思人|