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

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

?? ;

?? 針對德州儀器DM270開發板的bootloader,其實現了內核的下載以及文件系統的下載
??
字號:
/***************************************************************************//* 																		   *//*			         	pmu.c 											   *//*     Description : Power by PMU(PCF50606 Phillips)                       *//*     Author : rha34(moonjik.lee@reigncom.com)                            *//*     Date : 2004. 3. 22                                                  *//*     Version : 0.1												       *//* 																		   *//***************************************************************************/#include "pmpConfig.h"#include "i2c.h"#include "util.h"#include "pmu.h"#include "dm270-registers.h"//=========== Definitions ==================#define PMU_DEV_ADDR 0x10#define I2C_SCL_GIO	 31#define I2C_SDA_GIO	 32#define MAIN_POWER_KEY		0x100	#define REMOCON_POWER_KEY	 0x100#define MAIN_POWER_BIT	0x1#define REMOCON_POWER_BIT	0x2;#define EEPROM_ADDR	0xa8#define EEPROM_DATA_SUBADDR	27#define REG *(unsigned short *)#define KEEPACT_GIO		(1 << 13)// For debugging messages//#define DEBUG//=========  Variables  ====================//========  Functions  =====================unsigned char power_on_check(void){	unsigned char ret = 0;	unsigned char flag;	unsigned short temp;	//main power key direction Input	temp = REG GIO_DIR0;	temp |= MAIN_POWER_KEY;	REG GIO_DIR0 = temp;	//remocon power key direction Input	temp = REG GIO_DIR1;	temp |= (REMOCON_POWER_KEY>>16);	REG GIO_DIR1 = temp;	//check whether one of these keys are pressed....	temp = REG GIO_BITSET0;	if(temp & MAIN_POWER_KEY){//		util_printf("main key pressed..\n");		ret |= MAIN_POWER_BIT; //Power on by main key	}	temp = REG GIO_BITSET1;	if(temp & REMOCON_POWER_KEY){//		util_printf("remocon key pressed..\n");		ret |= REMOCON_POWER_BIT; //Power on by remocon key	}//	if(ret){		I2C_init(I2C_SCL_GIO, I2C_SDA_GIO);		I2C_writeReg(EEPROM_ADDR,EEPROM_DATA_SUBADDR,ret, &flag);//	}			return(ret);}unsigned char pmu_write_reg(unsigned char subaddr, unsigned char data){	unsigned char flag;	I2C_writeReg(PMU_DEV_ADDR,subaddr,data, &flag);	return(flag);}unsigned char pmu_read_reg(unsigned char subaddr, unsigned char *value){	unsigned char flag;	*value = I2C_readReg(PMU_DEV_ADDR, subaddr, &flag);	return(flag);}void quit_discharge(void){	I2C_init(I2C_SCL_GIO, I2C_SDA_GIO);	pmu_write_reg(GPOC5,0x7); //quick discharge current...}void pmu_BootInit(void){	unsigned char flag;	unsigned char temp;//	I2C_init(I2C_SCL_GIO, I2C_SDA_GIO);//	pmu_write_reg(GPOC5,0x7); //quick discharge current...	flag = pmu_write_reg(DCDC1,0xf8);  //DCDC1 1.5V set.#if defined(DEBUG)	if(!flag)		util_printf("PMU DCDC1 1.5V set..\n");	else		util_printf("i2c failed\n");#endif	flag = pmu_write_reg(GPOC3,0x7); //GPO3 constant low --> FET open#if defined(DEBUG)	if(!flag)		util_printf("GPO3 low...\n");	else		util_printf("i2c failed\n");#endif	flag = pmu_write_reg(D1REGC1, 0x6); //D1REGC1闌 power off#if defined(DEBUG)	if(!flag)		util_printf("D1REGC1 set...\n");	else		util_printf("i2c failed\n");#endif 	flag = pmu_write_reg(DCUDC1, 0xe3); //DCUDDC1俊 1.8V set#if defined(DEBUG)	if(!flag)		util_printf("DCUDDC1 1.8v set...\n");	else		util_printf("i2c failed\n");#endif 	flag = pmu_write_reg(GPOC4, 0x7); //GPOC4甫 low active --> FFT open#if defined(DEBUG)	if(!flag)		util_printf("GPOC4 low active.\n");	else		util_printf("i2c failed\n");#endif 	//========== Added 04.04.13 ===================/*	flag = pmu_write_reg(LPREGC1,0x2f); //LPVDD 2.4V, ECO mode. 	flag = pmu_write_reg(ADCC2, 0x83); //BATVOLT, subtractor	flag = pmu_read_reg(ADCS1, &temp); //read battery volt#if defined(DEBUG)	util_printf("Battry : %d\n",temp);#endif    //====  Modified 04.04.14 ======================//	if(temp < 67){ // If battery voltage is below 3.6V	if(temp < 78){ // If battery voltage is below 3.6V		util_printf("LOW BATTERY...!!\n");		util_printf("GO TO STANDBY MODE...!!\n");		pmu_goStandBy(); //go to stand by mode.	}*/	//=============================================	//=================  Added 04.07.02  ======================#if defined (PMP100_PP0)	flag = pmu_write_reg(GPOC1, 0x77); //USB_RST 'H', HOST_PW_EN 'H'#if defined(DEBUG)	if(!flag)		util_printf("1st USB power set.\n");	else		util_printf("i2c failed\n");#endif#elif defined (PMP100_MP0)	flag = pmu_write_reg(GPOC1,0x00); //SP_SHDN 'L', USB_CHG_EN 'L'#if defined(DEBUG)	if(!flag)		util_printf("1st USB power set.\n");	else		util_printf("i2c failed\n");#endif#endif	flag = pmu_write_reg(GPOC2,0x07); //LCD_PW_B 'Z'#if defined(DEBUG)	if(!flag)		util_printf("1st USB power set.\n");	else		util_printf("i2c failed\n");#endif	//=====  Added 04.03.26 for USB  ===============	flag = pmu_write_reg(D2REGC1, 0xf8); //USB device power#if defined(DEBUG)	if(!flag)		util_printf("1st USB power set.\n");	else		util_printf("i2c failed\n");#endif 	flag = pmu_write_reg(D3REGC1, 0xf0); //USB device power#if defined(DEBUG)	if(!flag)		util_printf("2nd USB power set.\n");	else		util_printf("i2c failed\n");#endif	//==========  End of 04.03.26  ==================== 	//==========  Added 04.05.12 for ES2  ===============	flag = pmu_write_reg(BBCC, 0x1f); 	// back up battery chargin enable STDBY,ACTIVE.										// 400uA, 3.0V#if defined(DEBUG)	if(!flag)		util_printf("BBCC configured.\n");	else		util_printf("BBCC configure failed\n");#endif	flag = pmu_write_reg(MBCC1, 0x1c); 	// charge mode idle#if defined(DEBUG)	if(!flag)		util_printf("MBCC1 configured.\n");	else		util_printf("MBCC configure failed\n");#endif	flag = pmu_write_reg(LPREGC2, 0x0);	//LPREG1 off.#if defined(DEBUG)	if(!flag)		util_printf("LPREGC2 confgigured.\n");	else		util_printf("LPREG2 failed\n");#endif		// ============  Removed 04.04.30  =================	// Get rid of LED output in ES2 it should be Hi-Z/*	flag = pmu_write_reg(GPOC1,0x77); //GPO0 'H' in active, GPO1 'H' in active.#if defined(DEBUG)	if(!flag)		util_printf("GPO0 confgigured.\n");	else		util_printf("GPO0 failed\n");#endif	flag = pmu_write_reg(GPOC2,0x07); //GPOOD0 'L' in active, 'Hi-Z' in standby.#if defined(DEBUG)	if(!flag)		util_printf("GPOOD0 confgigured.\n");	else		util_printf("GPOOD0 failed\n");#endif*//*	flag = pmu_write_reg(LEDC1,0x80); //LED1 pattern setting#if defined(DEBUG)	if(!flag)		util_printf("LED1 pattern .\n");	else		util_printf("i2c failed\n");#endif	flag = pmu_write_reg(GPOC2,0x1); //GPOC2俊 LED1 ouput enable#if defined(DEBUG)	if(!flag)		util_printf("LED1 output ...\n");	else		util_printf("i2c failed\n");#endif */	//==========  Added 04.03.27  ===============//	pmu_write_reg(INT1M,0x48,&flag); //Mask the SECOND interrupt.	//Modified By Lee 04.03.30 for mask ON KEYF interrupt	flag = pmu_write_reg(INT1M,0x4a); //Mask the SECOND interrupt.#if defined(DEBUG)	if(!flag)		util_printf("INT1M mask .\n");	else		util_printf("i2c failed\n");#endif #if defined(NOT_WAKEUP_BY_CHARGER)	//===========  Added 04.03.30  ==============	flag = pmu_write_reg(INT2M,0xff); //Mask the all interrupts by charger.#if defined(DEBUG)	if(!flag)		util_printf("INT2M mask .\n");	else		util_printf("i2c failed\n");#endif 	//Modified 04.05.12 for ES2	flag = pmu_write_reg(INT3M,0x08); //	flag = pmu_write_reg(INT3M,0x0e); //Mask the all about accessory & touch screen interrupt.#if defined(DEBUG)	if(!flag)		util_printf("INT3M mask .\n");	else		util_printf("i2c failed\n");#endif 	//Modified 04.05.12 for ES2	flag = pmu_write_reg(OOCC1,0x0); //Mask the all wake up by something.//	flag = pmu_write_reg(OOCC1,0x44); //Mask the wake up by charger interrupt.#if defined(DEBUG)	if(!flag)		util_printf("wakeup setting.\n");	else		util_printf("i2c failed\n");#endif#endif 	//Added at 04.07.06...	flag = pmu_write_reg(0x19, 0xFE);	//Added at 2004.07.14...	flag = pmu_write_reg(0x22, 0x02);	flag = pmu_write_reg(0x1D, 0x02);		return;}unsigned char read_irqPort(void){	volatile unsigned char key_val;	volatile unsigned short port;	#if defined(PMP100_EVM)		REG DIR0 |= (1 << 6);	#else		REG DIR0 |= (1 << 5);	#endif		port = REG BITSET0;		#if defined(PMP100_EVM)		key_val = port & (1 << 6);	#else		key_val = port & (1 << 5);	#endif	return(key_val);}unsigned char pmu_OnkeyCheck(void){	unsigned char flag,key_val;	unsigned char temp;		flag = pmu_read_reg(INT1,&key_val); //button ON KEY check.	#if defined(DEBUG)		util_printf("%x\n",key_val);	#endif		flag = pmu_read_reg(INT2,&temp);	#if defined(DEBUG)		util_printf("%x\n",temp);	#endif		flag = pmu_read_reg(INT3,&temp);	#if defined(DEBUG)		util_printf("%x\n",temp);	#endif	//Modified at 04.04.23..//		if(key_val & 0x3)		if((key_val & 0x3)||(key_val == 0x40))			return(0);		else			return(1);}unsigned char detect_interrupt(void){	unsigned char flag;	unsigned char key_val;	if(!read_irqPort()){		flag = pmu_read_reg(INT1,&key_val); //Read INT1 Register.		if((key_val & 0x3)){		#if defined(DEBUG)			util_printf("ONKEY DETECTED\n");		#endif			return ONKEY_DETECT;		}		if(key_val & 0x4){		#if defined(DEBUG)			util_printf("ONKEY1S DETECTED\n");		#endif			return ONKEY1S_DETECT;		}		if(key_val & 0x10){		#if defined(DEBUG)			util_printf("EXTONF DETECTED\n");		#endif			return EXTONF_DETECT;		} 		if(key_val & 0x80){		#if defined(DEBUG)			util_printf("ALARM DETECTED\n");		#endif			return ALARM_DETECT;		}	}	if(!read_irqPort()){		flag = pmu_read_reg(INT2,&key_val);		if(key_val & 0x1){		#if defined(DEBUG)			util_printf("CHGINS DETECTED\n");		#endif			return(CHGINS_DETECT);		}		if(key_val & 0x2){		#if defined(DEBUG)			util_printf("CHGRM DETECTED\n");		#endif			return(CHGRM_DETECT);		}	}	if(!read_irqPort()){		flag = pmu_read_reg(INT3, &key_val);		if(key_val & 0x1){		#if defined(DEBUG)			util_printf("ADCREADY DETECTED\n");		#endif			return(ADCREADY_DETECT);		}	}	return(0);		}void waitOnKey(void){	unsigned char key_val;  unsigned char ch = 0;	while(1){		if(!read_irqPort()){			key_val = detect_interrupt();			util_printf("check  %x\n",key_val);			if(key_val == ONKEY_DETECT){				pmu_OnkeyCheck();				break;			}		}	      	ch = io_getc(100); // look for a key for x msec.      	if (ch > 0) break;	}}void pmu_goStandBy(void){	unsigned char key_val,flag;	flag = pmu_read_reg(OOCC1,&key_val);	key_val |= 0x01;	pmu_write_reg(OOCC1,key_val); //go standBy }void pmu_goFinalize(void){	pmu_write_reg(GPOC4, 0x00);	pmu_write_reg(D1REGC1, 0xE6);	pmu_write_reg(GPOC3, 0x00);	return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性生交大片免费看在线播放| 日韩三级在线观看| 欧美麻豆精品久久久久久| 欧美精品一区二区三区在线播放| 中文字幕一区二区三区在线观看 | 国产精品久久久久久久久免费桃花| 亚洲在线观看免费| 99久久婷婷国产综合精品电影 | 国产色综合一区| 三级影片在线观看欧美日韩一区二区| 成人黄色国产精品网站大全在线免费观看| 欧美日韩一区高清| 亚洲美女电影在线| 国产91在线看| 欧美精品一区二区精品网| 午夜精品视频一区| 欧美视频中文字幕| 亚洲一区二区偷拍精品| 97久久超碰国产精品| 国产欧美日韩卡一| 国产成人av电影在线| 久久久三级国产网站| 激情文学综合网| 精品国产免费人成电影在线观看四季| 奇米影视在线99精品| 欧美日韩久久不卡| 亚洲v中文字幕| 欧美日韩www| 日韩高清一级片| 制服视频三区第一页精品| 亚洲国产裸拍裸体视频在线观看乱了| 91豆麻精品91久久久久久| 一区二区三区小说| 日本道色综合久久| 亚洲一区免费观看| 欧美一区日韩一区| 久久国产精品一区二区| 精品久久国产老人久久综合| 国产一区中文字幕| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美一区二区在线观看| 免费在线欧美视频| www久久精品| 成人激情校园春色| 一区二区三区不卡视频在线观看| 色婷婷av一区二区| 日本欧美一区二区三区| 欧美一区二区在线免费观看| 久久se这里有精品| 国产精品欧美极品| 欧美日免费三级在线| 性久久久久久久久久久久| 日韩视频在线观看一区二区| 国产美女在线观看一区| 亚洲美女视频一区| 日韩欧美国产高清| 99综合影院在线| 日本午夜一本久久久综合| 国产偷国产偷精品高清尤物| 久久精品免费在线观看| 色综合视频在线观看| 日韩电影一区二区三区| 国产精品视频免费| 欧美日韩免费不卡视频一区二区三区| 激情综合色播五月| 亚洲男帅同性gay1069| 日韩一区二区不卡| 99re视频这里只有精品| 蜜臀久久99精品久久久画质超高清| 欧美激情综合五月色丁香 | 一区二区不卡在线视频 午夜欧美不卡在| 欧美日韩一区视频| 成人精品免费视频| 欧美aⅴ一区二区三区视频| 国产精品久久久久三级| 欧美一级高清大全免费观看| 99久久99精品久久久久久| 免费久久99精品国产| 亚洲欧美日韩一区| 亚洲精品一区二区三区四区高清| 欧美亚洲免费在线一区| 精品无人区卡一卡二卡三乱码免费卡 | 丝袜诱惑制服诱惑色一区在线观看 | 蜜桃视频免费观看一区| 亚洲在线视频网站| 中文字幕制服丝袜一区二区三区 | 亚洲午夜精品在线| 中文字幕一区在线| 久久人人爽爽爽人久久久| 欧美日韩小视频| 99精品久久99久久久久| 国产乱码字幕精品高清av| 蜜臀av性久久久久蜜臀aⅴ| 一区二区三区在线免费播放| 国产精品无圣光一区二区| 久久久亚洲高清| 精品国产一二三| 3atv一区二区三区| 欧美女孩性生活视频| 欧美亚洲日本一区| 在线亚洲一区观看| 色婷婷综合久色| 在线视频一区二区三区| 日本二三区不卡| 91丝袜美女网| 91日韩在线专区| 91成人国产精品| 欧美日韩国产一级片| 欧美日韩午夜影院| 欧美肥妇毛茸茸| 日韩一区二区三区高清免费看看| 欧美日韩亚洲综合在线| 欧美日韩国产成人在线免费| 欧美色区777第一页| 欧美午夜寂寞影院| 欧美色综合久久| 欧美一区二区三区在| 欧美成人激情免费网| 久久一日本道色综合| 久久精品一区蜜桃臀影院| 欧美国产激情一区二区三区蜜月| 国产欧美一二三区| 亚洲日韩欧美一区二区在线| 亚洲另类春色国产| 亚洲第一福利视频在线| 日韩av在线播放中文字幕| 免费视频一区二区| 国产精品996| 色婷婷激情一区二区三区| 欧美亚洲日本国产| 日韩欧美国产高清| 国产精品午夜在线| 亚洲已满18点击进入久久| 男女男精品视频| 成人动漫一区二区| 欧美吻胸吃奶大尺度电影| 日韩欧美一级二级| 成人欧美一区二区三区黑人麻豆| 亚洲在线视频一区| 精品一区在线看| 91色九色蝌蚪| 欧美一区二区免费观在线| 日本一区二区三区久久久久久久久不| 18成人在线视频| 日韩高清在线观看| 成人91在线观看| 欧美精品第1页| 国产精品嫩草影院av蜜臀| 一个色综合av| 国产成人精品午夜视频免费| 91久久国产最好的精华液| 欧美一区二区精品| 自拍偷拍欧美精品| 美女爽到高潮91| 91天堂素人约啪| 精品国产免费久久| 亚洲高清三级视频| www.日韩精品| 精品国产亚洲一区二区三区在线观看| 综合婷婷亚洲小说| 经典三级视频一区| 欧美精品日韩一区| 亚洲人成人一区二区在线观看| 久久黄色级2电影| 欧美午夜电影在线播放| 国产精品久久久久久妇女6080 | 精品噜噜噜噜久久久久久久久试看 | 日韩一级二级三级精品视频| 中文字幕日韩一区二区| 国产在线一区二区| 日韩三级免费观看| 污片在线观看一区二区| 99久久亚洲一区二区三区青草 | 亚洲电影一区二区| 99re视频精品| 国产精品久久久久久久久免费桃花 | 亚洲色欲色欲www| 粉嫩aⅴ一区二区三区四区| 日韩免费视频一区二区| 亚洲一区二区欧美日韩| 91色视频在线| 中文字幕一区二区三区不卡在线| 国产一级精品在线| 亚洲精品一区二区三区四区高清| 日韩电影免费一区| 制服.丝袜.亚洲.另类.中文| 亚洲一区二区三区四区不卡| 91网上在线视频| 亚洲码国产岛国毛片在线| 成人高清免费在线播放| 国产精品女同一区二区三区| 国产精品资源站在线| 久久婷婷成人综合色| 国产一区二区美女| 国产日韩精品视频一区| 成人永久看片免费视频天堂| 国产精品日韩成人| 蜜桃av一区二区在线观看| 91捆绑美女网站| 亚洲日本va午夜在线影院|