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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pcmcia.c

?? 嵌入式試驗箱S3C2410的bootloader源代碼
?? C
字號:
#include <common.h>#include <mpc8xx.h>#include <pcmcia.h>#include <i2c.h>#undef	CONFIG_PCMCIA#if	(CONFIG_COMMANDS & CFG_CMD_PCMCIA)#define	CONFIG_PCMCIA#endif#if	(CONFIG_COMMANDS & CFG_CMD_IDE) && defined(CONFIG_IDE_8xx_PCCARD)#define	CONFIG_PCMCIA#endif#ifdef	CONFIG_PCMCIA#define PCMCIA_BOARD_MSG "LWMON"/* #define's for MAX1604 Power Switch */#define MAX1604_OP_SUS		0x80#define MAX1604_VCCBON		0x40#define MAX1604_VCC_35		0x20#define MAX1604_VCCBHIZ		0x10#define MAX1604_VPPBON		0x08#define MAX1604_VPPBPBPGM	0x04#define MAX1604_VPPBHIZ		0x02/* reserved			0x01	*/int pcmcia_hardware_enable(int slot){	volatile immap_t	*immap;	volatile cpm8xx_t	*cp;	volatile pcmconf8xx_t	*pcmp;	volatile sysconf8xx_t	*sysp;	uint reg, mask;	uchar val;	debug ("hardware_enable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);	/* Switch on PCMCIA port in PIC register 0x60 */	reg = pic_read  (0x60);	debug ("[%d] PIC read: reg_60 = 0x%02x\n", __LINE__, reg);	reg &= ~0x10;	/* reg |= 0x08; Vpp not needed */	pic_write (0x60, reg);#ifdef DEBUG	reg = pic_read  (0x60);	printf ("[%d] PIC read: reg_60 = 0x%02x\n", __LINE__, reg);#endif	udelay(10000);	immap = (immap_t *)CFG_IMMR;	sysp  = (sysconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_siu_conf));	pcmp  = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia));	cp    = (cpm8xx_t *)(&(((immap_t *)CFG_IMMR)->im_cpm));	/*	 * Configure SIUMCR to enable PCMCIA port B	 * (VFLS[0:1] are not used for debugging, we connect FRZ# instead)	 */	sysp->sc_siumcr &= ~SIUMCR_DBGC11;	/* set DBGC to 00 */	/* clear interrupt state, and disable interrupts */	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_);	/*	 * Disable interrupts, DMA, and PCMCIA buffers	 * (isolate the interface) and assert RESET signal	 */	debug ("Disable PCMCIA buffers and assert RESET\n");	reg  = 0;	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */	PCMCIA_PGCRX(_slot_) = reg;	udelay(500);	/*	 * Make sure there is a card in the slot, then configure the interface.	 */	udelay(10000);	debug ("[%d] %s: PIPR(%p)=0x%x\n",		__LINE__,__FUNCTION__,		&(pcmp->pcmc_pipr),pcmp->pcmc_pipr);	if (pcmp->pcmc_pipr & (0x18000000 >> (slot << 4))) {		printf ("   No Card found\n");		return (1);	}	/*	 * Power On.	 */	mask = PCMCIA_VS1(slot) | PCMCIA_VS2(slot);	reg  = pcmp->pcmc_pipr;	debug ("PIPR: 0x%x ==> VS1=o%s, VS2=o%s\n",		reg,		(reg&PCMCIA_VS1(slot))?"n":"ff",		(reg&PCMCIA_VS2(slot))?"n":"ff");	if ((reg & mask) == mask) {		val = 0;		/* VCCB3/5 = 0 ==> use Vx = 5.0 V */		puts (" 5.0V card found: ");	} else {		val = MAX1604_VCC_35;	/* VCCB3/5 = 1 ==> use Vy = 3.3 V */		puts (" 3.3V card found: ");	}	/*  switch VCC on */	val |= MAX1604_OP_SUS | MAX1604_VCCBON;	i2c_init  (CFG_I2C_SPEED, CFG_I2C_SLAVE);	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1);	udelay(500000);	debug ("Enable PCMCIA buffers and stop RESET\n");	reg  =  PCMCIA_PGCRX(_slot_);	reg &= ~__MY_PCMCIA_GCRX_CXRESET;	/* active high */	reg &= ~__MY_PCMCIA_GCRX_CXOE;		/* active low  */	PCMCIA_PGCRX(_slot_) = reg;	udelay(250000);	/* some cards need >150 ms to come up :-( */	debug ("# hardware_enable done\n");	return (0);}#if (CONFIG_COMMANDS & CFG_CMD_PCMCIA)int pcmcia_hardware_disable(int slot){	volatile immap_t	*immap;	volatile pcmconf8xx_t	*pcmp;	u_long reg;	uchar val;	debug ("hardware_disable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);	immap = (immap_t *)CFG_IMMR;	pcmp = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia));	/* remove all power, put output in high impedance state */	val  = MAX1604_VCCBHIZ | MAX1604_VPPBHIZ;	i2c_init  (CFG_I2C_SPEED, CFG_I2C_SLAVE);	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1);	/* Configure PCMCIA General Control Register */	debug ("Disable PCMCIA buffers and assert RESET\n");	reg  = 0;	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */	PCMCIA_PGCRX(_slot_) = reg;	/* Switch off PCMCIA port in PIC register 0x60 */	reg = pic_read  (0x60);	debug ("[%d] PIC read: reg_60 = 0x%02x\n", __LINE__, reg);	reg |=  0x10;	reg &= ~0x08;	pic_write (0x60, reg);#ifdef DEBUG	reg = pic_read  (0x60);	printf ("[%d] PIC read: reg_60 = 0x%02x\n", __LINE__, reg);#endif	udelay(10000);	return (0);}#endif	/* CFG_CMD_PCMCIA */int pcmcia_voltage_set(int slot, int vcc, int vpp){	volatile immap_t	*immap;	volatile pcmconf8xx_t	*pcmp;	u_long reg;	uchar val;	debug ("voltage_set: "		PCMCIA_BOARD_MSG		" Slot %c, Vcc=%d.%d, Vpp=%d.%d\n",		'A'+slot, vcc/10, vcc%10, vpp/10, vcc%10);	immap = (immap_t *)CFG_IMMR;	pcmp = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia));	/*	 * Disable PCMCIA buffers (isolate the interface)	 * and assert RESET signal	 */	debug ("Disable PCMCIA buffers and assert RESET\n");	reg  = PCMCIA_PGCRX(_slot_);	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */	PCMCIA_PGCRX(_slot_) = reg;	udelay(500);	/*	 * Turn off all power (switch to high impedance)	 */	debug ("PCMCIA power OFF\n");	val  = MAX1604_VCCBHIZ | MAX1604_VPPBHIZ;	i2c_init  (CFG_I2C_SPEED, CFG_I2C_SLAVE);	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1);	val = 0;	switch(vcc) {	case  0: 			break;	case 33: val = MAX1604_VCC_35;	break;	case 50: 			break;	default: 			goto done;	}	/* Checking supported voltages */	debug ("PIPR: 0x%x --> %s\n",		pcmp->pcmc_pipr,		(pcmp->pcmc_pipr & 0x00008000) ? "only 5 V" : "can do 3.3V");	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1);	if (val) {		debug ("PCMCIA powered at %sV\n",			(val & MAX1604_VCC_35) ? "3.3" : "5.0");	} else {		debug ("PCMCIA powered down\n");	}done:	debug ("Enable PCMCIA buffers and stop RESET\n");	reg  =  PCMCIA_PGCRX(_slot_);	reg &= ~__MY_PCMCIA_GCRX_CXRESET;	/* active high */	reg &= ~__MY_PCMCIA_GCRX_CXOE;		/* active low  */	PCMCIA_PGCRX(_slot_) = reg;	udelay(500);	debug ("voltage_set: " PCMCIA_BOARD_MSG " Slot %c, DONE\n",		slot+'A');	return (0);}#endif	/* CONFIG_PCMCIA */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
风间由美一区二区三区在线观看| 亚洲综合无码一区二区| 国产一区二区三区久久久| 精品美女在线播放| 免费日本视频一区| 久久九九全国免费| 成年人网站91| 亚洲一区在线视频| 3d动漫精品啪啪一区二区竹菊| 免费欧美在线视频| 国产亚洲欧美在线| 91丨porny丨中文| 亚洲成精国产精品女| 91精品国产一区二区三区蜜臀| 精品一区二区三区的国产在线播放| 亚洲一区免费视频| 中文字幕免费不卡在线| 国内一区二区在线| 中文字幕 久热精品 视频在线| 成人av电影免费在线播放| 亚洲激情图片一区| 精品日韩成人av| 成人h动漫精品一区二| 亚洲成人自拍一区| 久久久久久久久岛国免费| 99久久综合99久久综合网站| 天天亚洲美女在线视频| 国产清纯白嫩初高生在线观看91| 91免费观看在线| 激情综合色丁香一区二区| 国产精品不卡视频| 日韩网站在线看片你懂的| 91影视在线播放| 精品亚洲国内自在自线福利| 亚洲精品视频在线| 欧美精品一区二区三| 日本精品一级二级| 国产一区二区免费看| 五月天精品一区二区三区| 中文字幕国产一区| 欧美成人在线直播| 欧美系列日韩一区| 99国产精品99久久久久久| 精品综合久久久久久8888| 亚洲码国产岛国毛片在线| 精品成人在线观看| 欧美人xxxx| 欧美综合天天夜夜久久| 高清久久久久久| 激情伊人五月天久久综合| 亚洲国产精品自拍| 国产精品国产三级国产有无不卡| 欧美v日韩v国产v| 欧美日韩高清影院| 色综合久久88色综合天天| 国产成人免费在线观看不卡| 青青草精品视频| 午夜婷婷国产麻豆精品| 一区二区视频免费在线观看| 国产精品欧美一级免费| 国产午夜精品福利| wwww国产精品欧美| 91精品国产色综合久久久蜜香臀| 欧美性一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品亚洲第一区在线暖暖韩国| 美女视频网站久久| 奇米777欧美一区二区| 午夜成人免费电影| 天天综合色天天| 亚洲chinese男男1069| 亚洲精选免费视频| 亚洲精品成人天堂一二三| 亚洲色图欧美偷拍| 亚洲色欲色欲www| 一区在线观看免费| 亚洲天堂中文字幕| 亚洲欧美区自拍先锋| 亚洲免费观看高清| 亚洲伊人伊色伊影伊综合网| 亚洲一区在线视频观看| 亚洲成人一区二区| 蜜桃传媒麻豆第一区在线观看| 奇米精品一区二区三区在线观看 | 久久97超碰色| 久久99久久精品| 国产自产高清不卡| 狠狠色丁香九九婷婷综合五月| 久久99久久久久久久久久久| 国产麻豆午夜三级精品| 成人手机电影网| 色天天综合久久久久综合片| 欧美日韩激情在线| 欧美成人福利视频| 中文字幕av一区二区三区高| 中文字幕亚洲在| 亚洲激情图片一区| 天堂成人免费av电影一区| 蜜桃在线一区二区三区| 国产精品主播直播| 91在线码无精品| 欧美精品丝袜中出| 久久奇米777| 亚洲免费资源在线播放| 午夜电影久久久| 国产精选一区二区三区| 94色蜜桃网一区二区三区| 欧美日韩精品免费观看视频| wwww国产精品欧美| 亚洲精品高清视频在线观看| 美女脱光内衣内裤视频久久影院| 国产福利一区在线| 在线免费av一区| 日韩欧美电影一区| 亚洲人成亚洲人成在线观看图片| 亚洲国产aⅴ天堂久久| 黄色小说综合网站| 91成人免费电影| 久久综合九色综合97婷婷女人 | 欧美放荡的少妇| 国产色91在线| 午夜伦欧美伦电影理论片| 国产一区999| 欧美日韩极品在线观看一区| 久久久电影一区二区三区| 亚洲国产日韩av| 国产suv精品一区二区883| 欧美高清你懂得| 国产精品不卡一区| 极品美女销魂一区二区三区 | 欧美日韩一区二区三区高清| 国产日产欧美一区二区视频| 五月天激情综合| 91亚洲精华国产精华精华液| 久久综合狠狠综合| 香蕉加勒比综合久久| 成人午夜av在线| 日韩精品一区国产麻豆| 性感美女久久精品| 不卡一区二区在线| 久久综合精品国产一区二区三区| 亚洲国产精品久久不卡毛片| 成人污污视频在线观看| 欧美大片国产精品| 午夜电影网一区| 在线亚洲免费视频| 亚洲欧美影音先锋| 国产成人在线影院| 欧美成人在线直播| 日韩福利电影在线观看| 在线亚洲一区二区| 亚洲免费观看在线观看| 99视频国产精品| 欧美激情自拍偷拍| 高清beeg欧美| 久久久天堂av| 黄色成人免费在线| 日韩女同互慰一区二区| 日韩成人一区二区三区在线观看| 精品视频在线免费看| 一区二区三区精密机械公司| 99九九99九九九视频精品| 国产精品污www在线观看| 粉嫩绯色av一区二区在线观看| 精品少妇一区二区三区在线视频 | 精品国产欧美一区二区| 男女男精品网站| 日韩午夜精品视频| 欧美96一区二区免费视频| 欧美一卡二卡在线| 美日韩一区二区| 日韩欧美亚洲国产另类| 精一区二区三区| 久久精品水蜜桃av综合天堂| 国产成人av在线影院| 亚洲国产成人自拍| 粗大黑人巨茎大战欧美成人| 亚洲欧洲一区二区三区| 色婷婷av一区二区三区大白胸 | 91精品国产美女浴室洗澡无遮挡| 天堂一区二区在线| 日韩一区二区影院| 国产伦精品一区二区三区在线观看| 久久一留热品黄| 成人av网址在线观看| 亚洲精品高清视频在线观看| 欧美日韩一级二级| 久久精品国产99久久6| 久久九九久精品国产免费直播| 成人不卡免费av| 亚洲午夜久久久久久久久电影院 | 国产99久久精品| 亚洲蜜臀av乱码久久精品| 欧美人动与zoxxxx乱| 国产在线播放一区二区三区| 自拍视频在线观看一区二区| 欧美精品一卡二卡| 国产精品一区三区| 亚洲一区二区三区在线播放| 欧美不卡视频一区|