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

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

?? lcd.c

?? 三星 s3c6400測試代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/********************************************************************************
* 
*	Project Name : S3C6400 Validation
*
*	Copyright 2006 by Samsung Electronics, Inc.
*	All rights reserved.
*
*	Project Description :
*		This software is only for verifying functions of the S3C6400.
*		Anybody can use this software without our permission.
*  
*--------------------------------------------------------------------------------
* 
*	File Name : lcd.c
*  
*	File Description :
*
*	Author	: Yoh-Han Lee
*	Dept. : AP Development Team
*	Created Date : 2006/12/27
*	Version : 0.2
* 
*	History
*	- Created (Y.H.Lee, 2006/12/27)
*   - Release Ver 0.1 (Y.H.Lee, 2007/03/29)
*   - Release Ver 0.2 (Y.H.Lee, 2007/06/07)
********************************************************************************/

#include "lcd.h"
#include "def.h"
#include "library.h"
#include "uart.h"
#include "gpio.h"
#include "sysc.h"
#include "Glib.h"
#include "Intc.h"
#include "spi.h"

#include <string.h>
#include <stdlib.h>

LCDC oLcdc; 
SPI_channel *ch1;

u32 uFrameCount;

//////////////////////////////////////////////////////////////////////////////////////
// LCD API Functions
//////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////
// Top Layer
///////////////////////////////////////////////////////////////////
void LCD_SimpleBasicDisp(void)
{
	u32 uHSz, uVSz;
	
	#if (LCD_MODULE_TYPE== LTV350QV_RGB)
		Disp("Selected LCD Module Type: LTV350QV_RGB\n");
		uHSz=320;
		uVSz=240;
	
	#elif (LCD_MODULE_TYPE == LTS222QV_CPU)
		Disp("Selected LCD Module Type: LTS222QV_CPU\n");
		uHSz=240;
		uVSz=320;

	#elif (LCD_MODULE_TYPE == LTP700WV_RGB)
		Disp("Selected LCD Module Type: LTP700WV_RGB\n");
		uHSz=800;
		uVSz=480;	

	#elif (LCD_MODULE_TYPE == LTE480WV_RGB)
		Disp("Selected LCD Module Type: LTE480WV_RGB\n");
		uHSz=800;
		uVSz=480;	
	
	#else
		Assert(0);
	#endif

	LCD_SetPort();
	
	LCD_InitLDI((CPUIF_LDI)LCD_CPUIF_CS);
	
	LCD_InitBase2((CLK_SRC)LCLK_DOUT_MPLL, PNR_Parallel_RGB, CPU_16BIT);
	LCD_InitWin(RGB16, uHSz, uVSz, 0, 0, uHSz, uVSz, 0, 0, LCD_FRAMEBUFFER_ST, WIN0, false);
	LCD_SetWinOnOff(1, WIN0);
	LCD_GetFrmSz(&uHSz, &uVSz, WIN0);
	GLIB_InitInstance(LCD_FRAMEBUFFER_ST, uHSz, uVSz, RGB16);
	GLIB_DrawPattern(uHSz, uVSz);

	LCD_Start();
	
	Disp("\nIf you want to stop display, press any key\n");
	UART_Getc();
	
	LCD_SetAllWinOnOff(0);
	LCD_Stop();
	
}

//-----------------------------------------------------------
// Function Name :  LCD_SetPort
//
// Function Desctiption :
//
// Input :	
//
// Output :
//
// Version : 
//------------------------------------------------------------ 
void LCD_SetPort (void)
{

	///////////////////////////////////////////////////////////////////////////////
	(*(volatile unsigned *)0x7410800c)=0;	//Must be '0' for Normal-path instead of By-pass
	///////////////////////////////////////////////////////////////////////////////
	
	#if (LCD_MODULE_TYPE == LTV350QV_RGB)
		//Select LCD IF Pin Configure
		GPIO_SetLCDType(eRGBIF);
		//GPIO_SetLCDType(eHidden);	//To test Free-Run
		
		//Set LCD GPIO Port
		GPIO_SetFunctionAll(eGPIO_I, 0xaaaaaaaa, 2); //GPI[15..0]-> RGB VD[15..0]
		GPIO_SetFunctionAll(eGPIO_J, 0xaaaaaaaa, 2); //GPJ[7..0]-> RGB VD[23..16], GPJ[11..8]-> VCLK, VDEN, VSYNC, HSYNC

		//To test Free-Run
		//GPIO_SetFunctionEach(eGPIO_J, eGPIO_7, 0); //GPJ[7] -> VD[23]: Input
		//GPIO_SetPullUpDownEach(eGPIO_J, eGPIO_7, 0); //GPJ[7] -> Pull-down

		//Set PWM GPIO to control Back-light  Regulator  Shotdown Pin
		GPIO_SetFunctionEach(eGPIO_F, eGPIO_15, 1); //GPF[15] -> Output
		GPIO_SetDataEach(eGPIO_F, eGPIO_15 , 1); //GPF[15] -> High

		//Reset LDI
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output
		Delay(1000);

		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 0); //GPN[5] -> Low 
		Delay(100);
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		Delay(100);

		//Config SPI GPIO Port
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_5, 1); //GPC[5]:SPI_SCLK -> Output
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_6, 1); //GPC[6]:SPI_MOSI -> Output
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_7, 1); //GPC[7]:SPI_CS -> Output
	
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_5, 0); //GPC[5]:SPI_SCLK -> Pull-up/down Disable
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_6, 0); //GPC[6]:SPI_MOSI -> Pull-up/down Disable
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_7, 0); //GPC[7]:SPI_CS -> Pull-up/down Disable
		Delay(50); //Delay about 5ms
		
	#elif (LCD_MODULE_TYPE == LTS222QV_CPU)
		//Select LCD IF Pin Configure
		GPIO_SetLCDType(eHOSTIF);

		//Set LCD GPIO Port
		GPIO_SetFunctionAll(eGPIO_I, 0xaaaaaaaa, 2); //GPI[15..0]-> SYS VD[15..0]
		GPIO_SetFunctionAll(eGPIO_J, 0xaaaaaaaa, 2); 
		//GPJ[1..0]-> SYS VD[17..16], GPJ[11..6]-> SYS_VSYNC, SYS_OEn, SYS_CSn_main, SYS_CSn_sub, SYS_RS, SYS_WEn

		//Set PWM GPIO to control Back-light  Regulator En Pin
		GPIO_SetFunctionEach(eGPIO_F, eGPIO_15, 1); //GPF[15] -> Output
		GPIO_SetDataEach(eGPIO_F, eGPIO_15 , 1); //GPF[15] -> High

		//Reset LDI
		//GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output
		//GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		//Delay(1000);

		//Reset LDI
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output
		Delay(1000);
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 0); //GPN[5] -> Low
		Delay(100);
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		Delay(100);

	#elif (LCD_MODULE_TYPE == LTP700WV_RGB ||LCD_MODULE_TYPE ==LTE480WV_RGB)
		//Select LCD IF Pin Configure
		GPIO_SetLCDType(eRGBIF);
		
		//Set LCD GPIO Port
		GPIO_SetFunctionAll(eGPIO_I, 0xaaaaaaaa, 2); //GPI[15..0]-> RGB VD[15..0]
		GPIO_SetFunctionAll(eGPIO_J, 0xaaaaaaaa, 2); //GPJ[7..0]-> RGB VD[23..16], GPJ[11..8]-> VCLK, VDEN, VSYNC, HSYNC

		//Set PWM GPIO to control Back-light  Regulator  Shotdown Pin
		GPIO_SetFunctionEach(eGPIO_F, eGPIO_15, 1); //GPF[15] -> Output
		GPIO_SetDataEach(eGPIO_F, eGPIO_15 , 1); //GPF[15] -> High

		//Reset LDI
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 0); //GPN[5] -> Low 
		GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output
		
		Delay(100);

	#elif (LCD_MODULE_TYPE == LTS222QV_SRGB)	
		//Select LCD IF Pin Configure
		GPIO_SetLCDType(eRGBIF);
		
		//Set LCD GPIO Port
		GPIO_SetFunctionAll(eGPIO_I, 0xaaaaaaaa, 2); //GPI[15..0]-> RGB VD[15..0]
		GPIO_SetFunctionAll(eGPIO_J, 0xaaaaaaaa, 2); //GPJ[7..0]-> RGB VD[23..16], GPJ[11..8]-> VCLK, VDEN, VSYNC, HSYNC

		//Set PWM GPIO to control Back-light  Regulator  Shotdown Pin
		GPIO_SetFunctionEach(eGPIO_F, eGPIO_15, 1); //GPF[15] -> Output
		GPIO_SetDataEach(eGPIO_F, eGPIO_15 , 1); //GPF[15] -> High

		//Reset LDI
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output
		Delay(1000);

		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 0); //GPN[5] -> Low
		Delay(100);
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		Delay(100);
		
		//Config SPI GPIO Port
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_5, 1); //GPC[5]:SPI_SCLK -> Output
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_6, 1); //GPC[6]:SPI_MOSI -> Output
		GPIO_SetFunctionEach(eGPIO_C, eGPIO_7, 1); //GPC[7]:SPI_CS -> Output
	
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_5, 0); //GPC[5]:SPI_SCLK -> Pull-up/down Disable
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_6, 0); //GPC[6]:SPI_MOSI -> Pull-up/down Disable
		GPIO_SetPullUpDownEach(eGPIO_C, eGPIO_7, 0); //GPC[7]:SPI_CS -> Pull-up/down Disable
		Delay(50); //Delay about 5ms

	#elif (LCD_MODULE_TYPE == LTV300GV_RGB)
		//Select LCD IF Pin Configure
		GPIO_SetLCDType(eRGBIF);
		
		//Set LCD GPIO Port
		GPIO_SetFunctionAll(eGPIO_I, 0xaaaaaaaa, 2); //GPI[15..0]-> RGB VD[15..0]
		GPIO_SetFunctionAll(eGPIO_J, 0xaaaaaaaa, 2); //GPJ[7..0]-> RGB VD[23..16], GPJ[11..8]-> VCLK, VDEN, VSYNC, HSYNC

		// GPIO Control sequence is so sensitive. Follow the below sequence.
		//Reset low    LDI
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 0); //GPN[5] -> Low 
		GPIO_SetFunctionEach(eGPIO_N, eGPIO_5, 1); //GPN[5] -> Output		

		//Pannel On
		//GPIO_SetFunctionEach(eGPIO_F, eGPIO_13, 1); //GPF[15] -> Output
		//GPIO_SetDataEach(eGPIO_F, eGPIO_13 , 1); //GPF[15] -> High
		Delay(1000);
		
		//Reset High
		GPIO_SetDataEach(eGPIO_N, eGPIO_5 , 1); //GPN[5] -> High
		Delay(1000);

		//BackLight On
		GPIO_SetFunctionEach(eGPIO_F, eGPIO_15, 1); //GPF[15] -> Output
		GPIO_SetDataEach(eGPIO_F, eGPIO_15 , 1); //GPF[15] -> High	

	#else
		Assert(0);
	#endif

}


void LCD_SetPort_ByPass(void)
{
	u32 i, j;
	
	(*(volatile unsigned *)0x7410800c)=0x8;	//Must be '1' for By-pass

	Disp("\nSelect LCD By-Pass Mode.\n");
	Disp("0: Chip Select Mode, 1: Address Decoding Mode\n");

	i = GetIntNum();	

	if(i==0)
	{
		Disp("\nSelect nCS Type.\n");
		Disp("0: Main_nCS, 1: Sub_nCS\n");
		
		j = GetIntNum();
	
		GPIO_SetFunctionAll(eGPIO_K, 0x22222222, 0x22222222);	//GPK[15:0] -> Host I/F Data[15:0]
		GPIO_SetFunctionAll(eGPIO_L, 0x0, 0x2200002);			//GPL[15:13] -> Host I/F Data[17:16]

		if (j==0)
		{
			Disp("Chip Select Mode: Main\n");
			GPIO_SetFunctionAll(eGPIO_M, 0x022020, 0x0); 
		}
		else
		{
			Disp("Chip Select Mode: Sub\n");
			GPIO_SetFunctionAll(eGPIO_M, 0x022200, 0x0); 
		}

		GPIO_SetConRegSleepAll(eGPIO_F, 0xffffffff);		
	}
	else
	{
		GPIO_SetFunctionAll(eGPIO_K, 0x22222222, 0x22222222);	//GPK[15:0] -> Host I/F Data[15:0]
		GPIO_SetFunctionAll(eGPIO_L, 0x2222222, 0x2222222);		//GPL[15:13] -> Host I/F Data[17:16]
		GPIO_SetFunctionAll(eGPIO_M, 0x022002, 0x0);

		GPIO_SetConRegSleepAll(eGPIO_F, 0xffffffff);
	}

	Disp("\nEnter Any Key To Exit. \n");
	UART_Getc();
	
}


//-----------------------------------------------------------
// Function Name :  LCD_InitLDI
//
// Function Desctiption :
//
// Input :	
//
// Output :
//
// Version : 
//------------------------------------------------------------ 
void LCD_InitLDI(CPUIF_LDI eLdiMode)
{
	
	#if (LCD_MODULE_TYPE== LTV350QV_RGB)
		LCD_InitLTV350QV_RGB();
	
	#elif (LCD_MODULE_TYPE == LTS222QV_CPU)
		LCD_SetI80Timing(CS_SETUP_TIME,WR_SETUP_TIME, WR_ACT_TIME, WR_HOLD_TIME, LCD_CPUIF_CS);		
		//LCD_SetAutoCmdRate(PER_TWO_FRM, LCD_CPUIF_CS);
		LCD_InitLTS222QV_CPU(eLdiMode);
		LCD_InitStartPosOnLcd(eLdiMode);
		//LCD_SetAutoCmdRate(DISABLE_AUTO_FRM, LCD_CPUIF_CS);

	#elif (LCD_MODULE_TYPE== LTP700WV_RGB ||LCD_MODULE_TYPE ==LTE480WV_RGB)
		LCD_InitLTP700WV_RGB();

	#elif (LCD_MODULE_TYPE== LTS222QV_SRGB)
		LCD_InitLTS222QV_SRGB();
		LCD_InitStartPosOnLcd(LCD_CPUIF_CS);
	
	#elif (LCD_MODULE_TYPE== LTV300GV_RGB)	
		//Need not be initialized
	#else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天精品一区二区三区| fc2成人免费人成在线观看播放| 日本韩国一区二区三区视频| 国产精品理论片| 99久久综合国产精品| 国产精品久久一卡二卡| 99精品久久99久久久久| 亚洲精品免费在线| 欧美日韩国产成人在线免费| 五月天网站亚洲| 日韩免费视频一区| 国产成人免费视频一区| 中文字幕一区二区三| 一本到不卡免费一区二区| 一区二区三区精品| 91精品国产品国语在线不卡| 久久不见久久见免费视频1| wwwwxxxxx欧美| 99久久久久久99| 一区二区三区成人在线视频| 欧美猛男gaygay网站| 久久精品国产色蜜蜜麻豆| 国产精品免费网站在线观看| 91国在线观看| 麻豆国产91在线播放| 中文在线一区二区| 欧美日韩一区二区不卡| 激情综合网激情| 亚洲精品中文在线| 欧美大片免费久久精品三p| 成人福利在线看| 亚洲成a人片综合在线| 久久综合国产精品| 日本高清不卡在线观看| 日韩国产一二三区| 国产精品久久99| 欧美一区二区美女| 色综合网色综合| 精品一区二区三区免费视频| 亚洲色图欧洲色图| 精品成人在线观看| 欧美日韩亚洲综合| 北岛玲一区二区三区四区| 青青草原综合久久大伊人精品优势| 国产免费久久精品| 欧美一区三区二区| 91麻豆免费视频| 国产精品一卡二卡| 日韩在线一二三区| 亚洲欧美激情插| 国产欧美久久久精品影院| 日韩一区二区免费高清| 日本精品一区二区三区四区的功能| 国产一区二区三区免费观看| 亚洲成人精品影院| 亚洲少妇最新在线视频| 久久午夜老司机| 欧美午夜精品久久久久久超碰| 国产激情91久久精品导航| 美女网站一区二区| 日韩不卡在线观看日韩不卡视频| 亚洲视频在线一区二区| 国产亚洲综合性久久久影院| 日韩一区二区在线观看视频| 精品视频一区三区九区| 99久久99久久精品免费观看| 国产风韵犹存在线视精品| 韩国v欧美v日本v亚洲v| 久久精品国产**网站演员| 午夜精品久久久| 一区二区三区美女| 亚洲免费观看高清| 亚洲色欲色欲www| 亚洲人成在线播放网站岛国| 国产亚洲污的网站| 欧美www视频| 精品国产一区二区三区av性色| 欧美日韩三级视频| 欧美性生活久久| 欧美日韩国产美| 91精品国产免费| 在线综合视频播放| 这里是久久伊人| 日韩欧美www| 久久久久久久综合狠狠综合| 欧美精品一区二区三区蜜臀| 精品国内二区三区| 国产午夜精品久久久久久免费视| 91精品久久久久久蜜臀| 777奇米四色成人影色区| 欧美精品在线观看播放| 欧美军同video69gay| 欧美一级在线视频| 久久久久久毛片| 国产精品久久久久久久第一福利| 日韩伦理av电影| 亚洲综合成人网| 免费欧美日韩国产三级电影| 美女在线视频一区| 国产精品77777| 成人午夜私人影院| 日本道在线观看一区二区| 欧美日本一区二区三区四区| 欧美一区二区高清| 国产三级一区二区| 亚洲免费av观看| 婷婷综合久久一区二区三区| 精品在线一区二区| 成人性视频网站| 欧美专区亚洲专区| 欧美一区二区三区免费观看视频| 亚洲精品一区二区三区99| 亚洲婷婷国产精品电影人久久| 亚洲一区二区三区爽爽爽爽爽| 天天色图综合网| 国产91精品一区二区| 91浏览器打开| 欧美一级欧美一级在线播放| 久久天堂av综合合色蜜桃网| 中文字幕一区免费在线观看| 日韩成人一级片| 波多野结衣91| 日韩欧美的一区二区| 亚洲欧美日韩精品久久久久| 日本在线不卡视频| fc2成人免费人成在线观看播放| 制服丝袜一区二区三区| 宅男噜噜噜66一区二区66| 欧美一区二区精品在线| 中文字幕av不卡| 九一久久久久久| 色av成人天堂桃色av| 久久久久久亚洲综合影院红桃| 亚洲精品videosex极品| 国产成人精品www牛牛影视| 在线精品亚洲一区二区不卡| 自拍视频在线观看一区二区| 久久婷婷国产综合国色天香| 亚洲电影第三页| 色屁屁一区二区| 五月综合激情网| 成人国产精品免费观看| 日韩欧美国产三级电影视频| 亚洲国产综合人成综合网站| 在线免费亚洲电影| 自拍偷在线精品自拍偷无码专区| 波多野结衣91| 欧美日韩中文精品| 成人av动漫在线| 国产乱国产乱300精品| 欧美日韩国产综合一区二区| 在线一区二区三区四区五区| 欧美不卡视频一区| 蜜桃传媒麻豆第一区在线观看| 欧美丰满少妇xxxxx高潮对白| 99精品国产视频| 制服.丝袜.亚洲.中文.综合| 欧美久久久久久久久久| 国产精品一区二区无线| 欧美一级午夜免费电影| 亚洲一区在线观看免费观看电影高清| 国产**成人网毛片九色 | 99免费精品在线观看| 久久这里都是精品| 精品一区二区三区免费观看| 日韩美女在线视频| 免费观看成人av| 欧美大度的电影原声| 蜜桃av一区二区| 欧美精品一区二区三区很污很色的| 日本亚洲欧美天堂免费| 欧美精品亚洲二区| 日本美女视频一区二区| 91精品国产综合久久久蜜臀粉嫩 | www.亚洲激情.com| 国产精品色一区二区三区| 成人黄色777网| 亚洲色图一区二区| 欧美视频一区二| 日本不卡不码高清免费观看| 日韩欧美国产wwwww| 国产精品一区二区黑丝| 国产精品五月天| 91色.com| 午夜精品一区二区三区免费视频 | 精品久久人人做人人爱| 国产一区二区三区四区在线观看 | 国产成人精品免费视频网站| 国产三级精品三级| 99久久99久久综合| 亚洲一区日韩精品中文字幕| 欧美日本在线播放| 另类成人小视频在线| 久久久99久久精品欧美| 成人av资源在线| 亚洲成人中文在线| 精品处破学生在线二十三| 成人av在线影院| 丝袜亚洲另类丝袜在线| 国产人妖乱国产精品人妖|