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

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

?? init.c

?? S3C2443 WINCE6.0 BSP
?? C
?? 第 1 頁 / 共 3 頁
字號:
//
// 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.
//
//------------------------------------------------------------------------------
//
//  File:  init.c
//
//  Samsung SMDK2443 board initialization code.
//
#include <bsp.h>

//#include "bitmap.c" 
#include "display.h"
#include "DisplaySample_320_240.h"

void 	OALInitUSBHost();
static void InitDisplay(void);
//extern DWORD CEProcessorType; // woo
void ConfigureGPIO(void);

UINT32 g_oalIoCtlClockSpeed;

#ifdef DVS_EN
#define ARM_VDD		1
#define	INT_VDD		0
//-------------------------------------------
// Variables for DVS
static int CurrVoltage;
extern volatile int CurrentState;
extern volatile int PrevState;
extern volatile int NextState;

//---------------------------------------------------------------------------
// Function for DVS
void ChangeVoltage(int);
int GetCurrentVoltage(void);
void Max1718_Set(int pwr, int voltage);  // add 060624
void Max1718_Init(void);  // add 060624
// ----------------------------------------------------------------------------
#endif

//------------------------------------------------------------------------------
//
//  Global:  g_oalRtcResetTime
//
//  RTC init time after a RTC reset has occured.
//
SYSTEMTIME g_oalRtcResetTime = {2005, 5, 5, 27, 12, 0, 0, 0};

//------------------------------------------------------------------------------
//
//  Function:  OEMInit
//
//  This is Windows CE OAL initialization function. It is called from kernel
//  after basic initialization is made.
//
void OEMInit()
{

    OALLogSetZones(initialOALLogZones); 
    OALMSG(OAL_FUNC, (L"+OEMInit\r\n"));
    
	g_oalIoCtlClockSpeed = S3C2443_FCLK;
    CEProcessorType=PROCESSOR_STRONGARM;
	
	
		Max1718_Init();	
    // Set memory size for DrWatson kernel support
    dwNKDrWatsonSize = 128 * 1024;

    //NKForceCleanBoot();	// clean registry and set new, later must be erased.	- 06.06.30 JJG

    // Initilize cache globals
    OALCacheGlobalsInit();

    OALLogSerial(
        L"DCache: %d sets, %d ways, %d line size, %d size\r\n", 
        g_oalCacheInfo.L1DSetsPerWay, g_oalCacheInfo.L1DNumWays,
        g_oalCacheInfo.L1DLineSize, g_oalCacheInfo.L1DSize
    );
    OALLogSerial(
        L"ICache: %d sets, %d ways, %d line size, %d size\r\n", 
        g_oalCacheInfo.L1ISetsPerWay, g_oalCacheInfo.L1INumWays,
        g_oalCacheInfo.L1ILineSize, g_oalCacheInfo.L1ISize
    );
    
    RETAILMSG(1,(TEXT("FCLK:%d, HCLK:%d, PCLK:%d\n"), S3C2443_FCLK, S3C2443_HCLK, S3C2443_PCLK));
    
        // Check and initialize the BSP Args area
    //
    OALArgsInit((BSP_ARGS *) IMAGE_SHARE_ARGS_UA_START);

    // Check clean boot flag in BSP Args area
    //
    {
      // This is the global shared Args flag
      BOOL *bCleanBootFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_CLEANBOOT);

      if(*bCleanBootFlag)
      {
        OALMSG(1, (TEXT("OEM: Force clean boot.\r\n")));

        // Clear the flag so that we don't get here in the next boot unless it is set again.
        *bCleanBootFlag = FALSE;

        // Tell filesys.exe that we want a clean boot.
        NKForceCleanBoot();

        // Also set the hive and storage clean flags if not already set
        {
          BOOL *bHiveCleanFlag  = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_HIVECLEAN);
          BOOL *bFormatPartFlag = (BOOL*) OALArgsQuery(BSP_ARGS_QUERY_FORMATPART);

          *bHiveCleanFlag  = TRUE;
          *bFormatPartFlag = TRUE;
        }
      }
    }
    
    // Initialize interrupts
    if (!OALIntrInit()) {
        OALMSG(OAL_ERROR, (
            L"ERROR: OEMInit: failed to initialize interrupts\r\n"
        ));
    }

    // Initialize system clock
    // OALTimerInit(1, (25-1), 0);	// 25 = S3C2443_PCLK/250/16/1000 
   OALTimerInit(RESCHED_PERIOD, (OEM_COUNT_1MS ), 0);
   
	ConfigureGPIO();

	InitDisplay();

    // Initialize the KITL connection if required
    //OALKitlStart();

//	OALInitUSBHost();

        // Make high-res Monte Carlo profiling available to the kernel
    g_pOemGlobal->pfnProfileTimerEnable = OEMProfileTimerEnable;
    g_pOemGlobal->pfnProfileTimerDisable = OEMProfileTimerDisable;


    // Initialize the KITL connection if required
    KITLIoctl(IOCTL_KITL_STARTUP, NULL, 0, NULL, 0, NULL);
#ifdef DVS_EN
#if (DVS_METHOD == 4 || DVS_METHOD == 5)
	CurrentState = Active;
	CurrVoltage = HIGHVOLTAGE;
#endif
#endif

    OALMSG(1, (L"-OEMInit\r\n"));
}

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

void delayLoop(int count) 
{ 
	volatile int j; 
	for(j = 0; j < count; j++)  ; 
}
/*
void	OALInitUSBHost()
{
	volatile S3C2443_CLKPWR_REG *s2443PWR = (S3C2443_CLKPWR_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_CLOCK_POWER, FALSE);
	volatile S3C2443_IOPORT_REG *s2443IOP = (S3C2443_IOPORT_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_IOPORT, FALSE);
	
	s2443PWR->HCLKCON |= (1<<11);
	//s2443PWR->HCLKCON &= ~(1<<11);
	s2443PWR->CLKDIV1 = (s2443PWR->CLKDIV1 & ~(0x3<<4))|(1<<4);
	s2443PWR->SCLKCON |= (1<<1);
	//s2443PWR->SCLKCON &= ~(1<<1);
	
	
	s2443IOP->MISCCR &= ~(1<<12);  // USBD is 0 ,normal mode ,1 is suspend mode /
	s2443PWR->PWRCFG |= (1<<4);
	
	//USB device 2.0 must reset like bellow , 1st phy reset and after at least 10us, func_reset & host reset     
	//phy reset can reset bellow registers.
    s2443PWR->USB_RSTCON = (0x0<<2)|(0x0<<1)|(0x1<<0);//Function 2.0 S/W reset, Host 1.1 S/W reset,PHY 2.0 S/W reset
    delayLoop(1000); // phy reset must be asserted for at 10us 
    s2443PWR->USB_RSTCON = (0x0<<2)|(0x1<<1)|(0x0<<0);//Function 2.0 S/W reset, Host 1.1 S/W reset,PHY 2.0 S/W reset
    s2443PWR->USB_RSTCON = (0x0<<2)|(0x0<<1)|(0x0<<0);//Function 2.0 S/W reset, Host 1.1 S/W reset,PHY 2.0 S/W reset

	//s2443PWR->USB_PHYCTRL &= ~(0x1<<1);
	s2443PWR->USB_PHYCTRL = (0x0<<3)|(0x0<<2)|(0x0<<1)|(0x0<<0);  //48Mhz,Oscillator,External X-tal,device
    s2443PWR->USB_PHYPWR = (0x0<<31)|(0x0<<4)|(0x0<<3)|(0x0<<2)|(0x0<<1)|(0x0<<0); 
    //48Mhz clock on ,PHY2.0 analog block power on,XO block power on,XO block power in suspend mode,PHY 2.0 Pll power on ,suspend signal for save mode disable 
    s2443PWR->USB_CLKCON = (0x0<<31)|(0x0<<2)|(0x0<<1)|(0x0<<0);
    
    //RETAILMSG(1,(TEXT("HCLKCON : 0x%X\n"),s2443PWR->HCLKCON));
    //RETAILMSG(1,(TEXT("PCLKCON : 0x%X\n"),s2443PWR->PCLKCON));
    //RETAILMSG(1,(TEXT("SCLKCON : 0x%X\n"),s2443PWR->SCLKCON));
}
*/


void Write_LDI_LTV350(int address, int data)
{
	volatile S3C2443_IOPORT_REG *s2443IOP = (S3C2443_IOPORT_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_IOPORT, FALSE);
	volatile S3C2443_LCD_REG    *s2443LCD = (S3C2443_LCD_REG *)OALPAtoVA(S3C2443_BASE_REG_PA_LCD, FALSE);	
 	UINT8	dev_id_code=0x1D;
        int     j;
	unsigned char DELAY=50;
		

	
	LCD_DEN_Hi; 		//	EN = High					CS high
	LCD_DCLK_Hi;							//	SCL High
	LCD_DSERI_Hi;							//	Data Low

	delayLoop(DELAY);

	LCD_DEN_Lo; 		//	EN = Low				CS Low
	delayLoop(DELAY);
	
	for (j = 5; j >= 0; j--)
	{	
		LCD_DCLK_Lo;							//	SCL Low

		if ((dev_id_code >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;		
		}
		else
		{
			LCD_DSERI_Lo;
		}

		delayLoop(DELAY);

		LCD_DCLK_Hi;			// CLOCK = High
		delayLoop(DELAY);

	}
	
	// RS = "0" : index data
	LCD_DCLK_Lo;			// CLOCK = Low
	LCD_DSERI_Lo;
	delayLoop(DELAY);
	LCD_DCLK_Hi;			// CLOCK = High
	delayLoop(DELAY);

	// Write
	LCD_DCLK_Lo;			// CLOCK = Low
	LCD_DSERI_Lo;
	delayLoop(DELAY);
	LCD_DCLK_Hi;			// CLOCK = High
	delayLoop(DELAY);

	for (j = 15; j >= 0; j--)
	{
		LCD_DCLK_Lo;							//	SCL Low

		if ((address >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;		
		}
		else
		{
			LCD_DSERI_Lo;
		}

		delayLoop(DELAY);

		LCD_DCLK_Hi;			// CLOCK = High
		delayLoop(DELAY);

	}
	LCD_DSERI_Hi;
	delayLoop(DELAY);
	
	LCD_DEN_Hi; 				// EN = High
	delayLoop(DELAY*10);

	LCD_DEN_Lo; 		//	EN = Low				CS Low
	delayLoop(DELAY);
	
	for (j = 5; j >= 0; j--)
	{	
		LCD_DCLK_Lo;							//	SCL Low

		if ((dev_id_code >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;		
		}
		else
		{
			LCD_DSERI_Lo;
		}

		delayLoop(DELAY);

		LCD_DCLK_Hi;			// CLOCK = High
		delayLoop(DELAY);

	}
	
	// RS = "1" instruction data
	LCD_DCLK_Lo;			// CLOCK = Low
	LCD_DSERI_Hi;
	delayLoop(DELAY);
	LCD_DCLK_Hi;			// CLOCK = High
	delayLoop(DELAY);

	// Write
	LCD_DCLK_Lo;			// CLOCK = Low
	LCD_DSERI_Lo;
	delayLoop(DELAY);
	LCD_DCLK_Hi;			// CLOCK = High
	delayLoop(DELAY);

	for (j = 15; j >= 0; j--)
	{
		LCD_DCLK_Lo;							//	SCL Low

		if ((data >> j) & 0x0001)	// DATA HIGH or LOW
		{
			LCD_DSERI_Hi;		
		}
		else
		{
			LCD_DSERI_Lo;
		}

		delayLoop(DELAY);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美你懂的| 国产精品久久久久久户外露出 | 国产一区二区电影| 色综合久久久久久久| 精品国产a毛片| 亚洲国产精品久久久久秋霞影院 | 久久久亚洲精华液精华液精华液| 亚洲精品国久久99热| 国产米奇在线777精品观看| 欧美三区在线观看| 亚洲美女淫视频| 成人免费毛片高清视频| 26uuu精品一区二区| 免费在线看成人av| 欧美日韩高清在线| 亚洲精品第一国产综合野| 成人国产一区二区三区精品| 精品国产91亚洲一区二区三区婷婷| 亚洲一区二区三区小说| 91香蕉视频在线| 自拍偷拍国产亚洲| av高清久久久| 国产精品的网站| 成人免费看视频| 久久久久久久免费视频了| 国模套图日韩精品一区二区| 精品久久国产97色综合| 精品一区二区在线播放| 精品国产区一区| 国产在线精品不卡| 国产亚洲欧洲一区高清在线观看| 激情文学综合网| 久久伊99综合婷婷久久伊| 久久爱另类一区二区小说| 日韩欧美的一区| 国产一区不卡精品| 欧美高清在线一区二区| www.亚洲国产| 一区二区三区精品在线| 欧美性色综合网| 免费高清视频精品| 欧美va在线播放| 国产美女一区二区| 中文在线免费一区三区高中清不卡| 成人禁用看黄a在线| 亚洲人成伊人成综合网小说| 欧洲色大大久久| 天天亚洲美女在线视频| 精品人在线二区三区| 国产电影一区在线| 亚洲精品视频免费看| 欧美日韩精品欧美日韩精品一综合| 男人的j进女人的j一区| 久久久无码精品亚洲日韩按摩| 国产999精品久久久久久| 亚洲日本护士毛茸茸| 欧美福利视频一区| 国产精品一二三区| 伊人一区二区三区| 日韩欧美亚洲一区二区| 国产a久久麻豆| 亚洲综合成人在线视频| 日韩欧美视频在线| 色综合久久综合网| 免费在线观看不卡| 中文字幕日韩av资源站| 欧美嫩在线观看| 夫妻av一区二区| 亚洲成人动漫在线免费观看| 久久久99精品免费观看不卡| 在线亚洲一区二区| 国产高清精品网站| 偷拍自拍另类欧美| ●精品国产综合乱码久久久久| 3d动漫精品啪啪一区二区竹菊| 国产真实精品久久二三区| 亚洲免费视频中文字幕| 精品国产99国产精品| 欧美日韩精品欧美日韩精品一| 粉嫩av一区二区三区在线播放| 午夜a成v人精品| 欧美国产欧美综合| 精品日本一线二线三线不卡| 欧美优质美女网站| 成人激情动漫在线观看| 青娱乐精品视频在线| 亚洲日本一区二区| 国产精品美女久久久久久2018| 欧美成人官网二区| 久久精品在这里| 欧美一区二区三区在线视频| 91无套直看片红桃| 国产成人啪免费观看软件| 日韩精品一区第一页| 一区二区欧美精品| 中文字幕在线观看一区| 欧美成人精品福利| 日韩欧美国产一区二区在线播放| 欧美综合一区二区三区| 99视频在线精品| 成人黄色小视频在线观看| 国产精品亚洲视频| 国产精品资源在线看| 精品一区二区久久久| 日韩国产在线观看一区| 亚洲不卡av一区二区三区| 亚洲欧美另类久久久精品| 亚洲欧美在线另类| 亚洲三级在线观看| 亚洲综合清纯丝袜自拍| 一区二区三区 在线观看视频 | 久久久久88色偷偷免费| 日韩三级av在线播放| 日韩一区二区电影| 欧美一级日韩不卡播放免费| 91精品国产91热久久久做人人| 欧美日韩大陆一区二区| 在线不卡中文字幕| 日韩亚洲欧美综合| 亚洲精品一区二区精华| 26uuu精品一区二区| 中国av一区二区三区| 国产精品久久久99| 夜夜爽夜夜爽精品视频| 亚洲高清久久久| 久久精品国产久精国产| 精品一区二区三区在线观看国产| 热久久免费视频| 国产精品一区2区| 成人三级伦理片| 在线亚洲一区二区| 欧美一区二区三区不卡| 2020国产精品| 国产精品久久久久一区| 一区二区三区四区国产精品| 三级在线观看一区二区 | 成人91在线观看| 在线免费观看一区| 日韩欧美一二三| 中文字幕在线不卡视频| 亚洲二区视频在线| 国产一区二区三区国产| 91香蕉视频污在线| 日韩免费性生活视频播放| 国产精品狼人久久影院观看方式| 亚洲免费视频成人| 精品在线播放免费| 91麻豆视频网站| 欧美草草影院在线视频| 最新中文字幕一区二区三区| 天天免费综合色| 国产91综合一区在线观看| 欧美影视一区在线| 国产女同互慰高潮91漫画| 亚洲电影一区二区三区| 国产麻豆精品95视频| 欧美午夜精品一区| 国产清纯白嫩初高生在线观看91 | 日韩专区中文字幕一区二区| 国产麻豆视频一区| 在线一区二区三区四区| 国产日韩一级二级三级| 婷婷六月综合网| www.一区二区| 精品久久久久一区二区国产| 亚洲色图欧美偷拍| 麻豆国产精品官网| 欧美在线综合视频| 国产欧美精品一区aⅴ影院 | 亚洲靠逼com| 国产一区免费电影| 91麻豆精品国产91久久久久久久久| 国产精品丝袜久久久久久app| 天天色综合成人网| 一本久久综合亚洲鲁鲁五月天| 精品少妇一区二区三区| 亚洲电影在线播放| 91丨porny丨户外露出| 国产偷国产偷亚洲高清人白洁| 日本成人在线网站| 欧美色老头old∨ideo| 亚洲视频一二三区| 成人免费毛片片v| 久久久久国产精品人| 久久国产精品99久久久久久老狼| 在线观看一区二区视频| 欧美激情一区二区| 国产精品18久久久久久久久久久久| 欧美一区二区三区影视| 视频一区免费在线观看| 欧美日韩一区二区电影| 一区二区三区高清在线| 99国内精品久久| 国产精品免费丝袜| 国产suv精品一区二区6| 国产视频一区不卡| 国产99久久久国产精品潘金网站| 欧美精品一区二区三区四区| 国模娜娜一区二区三区| 久久久噜噜噜久久中文字幕色伊伊|