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

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

?? pci.c

?? 針對yassylcd的uboot源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
{	switch (host) {	case PCI_HOST0:		switch (region) {		case PCI_IO:			return PCI_0I_O_LOW_DECODE_ADDRESS;		case PCI_REGION0:			return PCI_0MEMORY0_LOW_DECODE_ADDRESS;		case PCI_REGION1:			return PCI_0MEMORY1_LOW_DECODE_ADDRESS;		case PCI_REGION2:			return PCI_0MEMORY2_LOW_DECODE_ADDRESS;		case PCI_REGION3:			return PCI_0MEMORY3_LOW_DECODE_ADDRESS;		}	case PCI_HOST1:		switch (region) {		case PCI_IO:			return PCI_1I_O_LOW_DECODE_ADDRESS;		case PCI_REGION0:			return PCI_1MEMORY0_LOW_DECODE_ADDRESS;		case PCI_REGION1:			return PCI_1MEMORY1_LOW_DECODE_ADDRESS;		case PCI_REGION2:			return PCI_1MEMORY2_LOW_DECODE_ADDRESS;		case PCI_REGION3:			return PCI_1MEMORY3_LOW_DECODE_ADDRESS;		}	}	return PCI_0MEMORY0_LOW_DECODE_ADDRESS;}static unsigned int pciGetRemapOffset (PCI_HOST host, PCI_REGION region){	switch (host) {	case PCI_HOST0:		switch (region) {		case PCI_IO:			return PCI_0I_O_ADDRESS_REMAP;		case PCI_REGION0:			return PCI_0MEMORY0_ADDRESS_REMAP;		case PCI_REGION1:			return PCI_0MEMORY1_ADDRESS_REMAP;		case PCI_REGION2:			return PCI_0MEMORY2_ADDRESS_REMAP;		case PCI_REGION3:			return PCI_0MEMORY3_ADDRESS_REMAP;		}	case PCI_HOST1:		switch (region) {		case PCI_IO:			return PCI_1I_O_ADDRESS_REMAP;		case PCI_REGION0:			return PCI_1MEMORY0_ADDRESS_REMAP;		case PCI_REGION1:			return PCI_1MEMORY1_ADDRESS_REMAP;		case PCI_REGION2:			return PCI_1MEMORY2_ADDRESS_REMAP;		case PCI_REGION3:			return PCI_1MEMORY3_ADDRESS_REMAP;		}	}	return PCI_0MEMORY0_ADDRESS_REMAP;}/********************************************************************* pciGetBaseAddress - Gets the base address of a PCI.*           - If the PCI size is 0 then this base address has no meaning!!!*** INPUT:   Bus, Region - The bus and region we ask for its base address.* OUTPUT:   N/A* RETURNS: PCI base address.*********************************************************************/unsigned int pciGetBaseAddress (PCI_HOST host, PCI_REGION region){	unsigned int regBase;	unsigned int regEnd;	unsigned int regOffset = pciGetRegOffset (host, region);	GT_REG_READ (regOffset, &regBase);	GT_REG_READ (regOffset + 8, &regEnd);	if (regEnd <= regBase)		return 0xffffffff;	/* ERROR !!! */	regBase = regBase << 16;	return regBase;}bool pciMapSpace (PCI_HOST host, PCI_REGION region, unsigned int remapBase,		  unsigned int bankBase, unsigned int bankLength){	unsigned int low = 0xfff;	unsigned int high = 0x0;	unsigned int regOffset = pciGetRegOffset (host, region);	unsigned int remapOffset = pciGetRemapOffset (host, region);	if (bankLength != 0) {		low = (bankBase >> 16) & 0xffff;		high = ((bankBase + bankLength) >> 16) - 1;	}	GT_REG_WRITE (regOffset, low | (1 << 24));	/* no swapping */	GT_REG_WRITE (regOffset + 8, high);	if (bankLength != 0) {	/* must do AFTER writing maps */		GT_REG_WRITE (remapOffset, remapBase >> 16);	/* sorry, 32 bits only.								   dont support upper 32								   in this driver */	}	return true;}unsigned int pciGetSpaceBase (PCI_HOST host, PCI_REGION region){	unsigned int low;	unsigned int regOffset = pciGetRegOffset (host, region);	GT_REG_READ (regOffset, &low);	return (low & 0xffff) << 16;}unsigned int pciGetSpaceSize (PCI_HOST host, PCI_REGION region){	unsigned int low, high;	unsigned int regOffset = pciGetRegOffset (host, region);	GT_REG_READ (regOffset, &low);	GT_REG_READ (regOffset + 8, &high);	return ((high & 0xffff) + 1) << 16;}/* ronen - 7/Dec/03*//********************************************************************* gtPciDisable/EnableInternalBAR - This function enable/disable PCI BARS.* Inputs: one of the PCI BAR*********************************************************************/void gtPciEnableInternalBAR (PCI_HOST host, PCI_INTERNAL_BAR pciBAR){	RESET_REG_BITS (pci_address_space_en[host], BIT0 << pciBAR);}void gtPciDisableInternalBAR (PCI_HOST host, PCI_INTERNAL_BAR pciBAR){	SET_REG_BITS (pci_address_space_en[host], BIT0 << pciBAR);}/********************************************************************* pciMapMemoryBank - Maps PCI_host memory bank "bank" for the slave.** Inputs: base and size of PCI SCS*********************************************************************/void pciMapMemoryBank (PCI_HOST host, MEMORY_BANK bank,		       unsigned int pciDramBase, unsigned int pciDramSize){	/*ronen different function for 3rd bank. */	unsigned int offset = (bank < 2) ? bank * 8 : 0x100 + (bank - 2) * 8;	pciDramBase = pciDramBase & 0xfffff000;	pciDramBase = pciDramBase | (pciReadConfigReg (host,						       PCI_SCS_0_BASE_ADDRESS						       + offset,						       SELF) & 0x00000fff);	pciWriteConfigReg (host, PCI_SCS_0_BASE_ADDRESS + offset, SELF,			   pciDramBase);	if (pciDramSize == 0)		pciDramSize++;	GT_REG_WRITE (pci_scs_bank_size[host][bank], pciDramSize - 1);	gtPciEnableInternalBAR (host, bank);}/********************************************************************* pciSetRegionFeatures - This function modifys one of the 8 regions with*                         feature bits given as an input.*                       - Be advised to check the spec before modifying them.* Inputs: PCI_PROTECT_REGION region - one of the eight regions.*         unsigned int features - See file: pci.h there are defintion for those*                                 region features.*         unsigned int baseAddress - The region base Address.*         unsigned int topAddress - The region top Address.* Returns: false if one of the parameters is erroneous true otherwise.*********************************************************************/bool pciSetRegionFeatures (PCI_HOST host, PCI_ACCESS_REGIONS region,			   unsigned int features, unsigned int baseAddress,			   unsigned int regionLength){	unsigned int accessLow;	unsigned int accessHigh;	unsigned int accessTop = baseAddress + regionLength;	if (regionLength == 0) {	/* close the region. */		pciDisableAccessRegion (host, region);		return true;	}	/* base Address is store is bits [11:0] */	accessLow = (baseAddress & 0xfff00000) >> 20;	/* All the features are update according to the defines in pci.h (to be on	   the safe side we disable bits: [11:0] */	accessLow = accessLow | (features & 0xfffff000);	/* write to the Low Access Region register */	GT_REG_WRITE (pci_access_control_base_0_low[host] + 0x10 * region,		      accessLow);	accessHigh = (accessTop & 0xfff00000) >> 20;	/* write to the High Access Region register */	GT_REG_WRITE (pci_access_control_top_0[host] + 0x10 * region,		      accessHigh - 1);	return true;}/********************************************************************* pciDisableAccessRegion - Disable The given Region by writing MAX size*                           to its low Address and MIN size to its high Address.** Inputs:   PCI_ACCESS_REGIONS region - The region we to be Disabled.* Returns:  N/A.*********************************************************************/void pciDisableAccessRegion (PCI_HOST host, PCI_ACCESS_REGIONS region){	/* writing back the registers default values. */	GT_REG_WRITE (pci_access_control_base_0_low[host] + 0x10 * region,		      0x01001fff);	GT_REG_WRITE (pci_access_control_top_0[host] + 0x10 * region, 0);}/********************************************************************* pciArbiterEnable - Enables PCI-0`s Arbitration mechanism.** Inputs:   N/A* Returns:  true.*********************************************************************/bool pciArbiterEnable (PCI_HOST host){	unsigned int regData;	GT_REG_READ (pci_arbiter_control[host], &regData);	GT_REG_WRITE (pci_arbiter_control[host], regData | BIT31);	return true;}/********************************************************************* pciArbiterDisable - Disable PCI-0`s Arbitration mechanism.** Inputs:   N/A* Returns:  true*********************************************************************/bool pciArbiterDisable (PCI_HOST host){	unsigned int regData;	GT_REG_READ (pci_arbiter_control[host], &regData);	GT_REG_WRITE (pci_arbiter_control[host], regData & 0x7fffffff);	return true;}/********************************************************************* pciSetArbiterAgentsPriority - Priority setup for the PCI agents (Hi or Low)** Inputs:   PCI_AGENT_PRIO internalAgent - priotity for internal agent.*           PCI_AGENT_PRIO externalAgent0 - priotity for external#0 agent.*           PCI_AGENT_PRIO externalAgent1 - priotity for external#1 agent.*           PCI_AGENT_PRIO externalAgent2 - priotity for external#2 agent.*           PCI_AGENT_PRIO externalAgent3 - priotity for external#3 agent.*           PCI_AGENT_PRIO externalAgent4 - priotity for external#4 agent.*           PCI_AGENT_PRIO externalAgent5 - priotity for external#5 agent.* Returns:  true*********************************************************************/bool pciSetArbiterAgentsPriority (PCI_HOST host, PCI_AGENT_PRIO internalAgent,				  PCI_AGENT_PRIO externalAgent0,				  PCI_AGENT_PRIO externalAgent1,				  PCI_AGENT_PRIO externalAgent2,				  PCI_AGENT_PRIO externalAgent3,				  PCI_AGENT_PRIO externalAgent4,				  PCI_AGENT_PRIO externalAgent5){	unsigned int regData;	unsigned int writeData;	GT_REG_READ (pci_arbiter_control[host], &regData);	writeData = (internalAgent << 7) + (externalAgent0 << 8) +		(externalAgent1 << 9) + (externalAgent2 << 10) +		(externalAgent3 << 11) + (externalAgent4 << 12) +		(externalAgent5 << 13);	regData = (regData & 0xffffc07f) | writeData;	GT_REG_WRITE (pci_arbiter_control[host], regData & regData);	return true;}/********************************************************************* pciParkingDisable - Park on last option disable, with this function you can*                      disable the park on last mechanism for each agent.*                      disabling this option for all agents results parking*                      on the internal master.** Inputs: PCI_AGENT_PARK internalAgent -  parking Disable for internal agent.*         PCI_AGENT_PARK externalAgent0 - parking Disable for external#0 agent.*         PCI_AGENT_PARK externalAgent1 - parking Disable for external#1 agent.*         PCI_AGENT_PARK externalAgent2 - parking Disable for external#2 agent.*         PCI_AGENT_PARK externalAgent3 - parking Disable for external#3 agent.*         PCI_AGENT_PARK externalAgent4 - parking Disable for external#4 agent.*         PCI_AGENT_PARK externalAgent5 - parking Disable for external#5 agent.* Returns:  true*********************************************************************/bool pciParkingDisable (PCI_HOST host, PCI_AGENT_PARK internalAgent,			PCI_AGENT_PARK externalAgent0,			PCI_AGENT_PARK externalAgent1,			PCI_AGENT_PARK externalAgent2,			PCI_AGENT_PARK externalAgent3,			PCI_AGENT_PARK externalAgent4,			PCI_AGENT_PARK externalAgent5){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久aaaa| 欧美日韩欧美一区二区| 2024国产精品| 国产一区二区在线电影| 久久综合资源网| 国产成人午夜精品影院观看视频| 久久久久国产精品麻豆ai换脸| 国产一区二区伦理| 国产欧美精品日韩区二区麻豆天美| 国产精品99久久久久久似苏梦涵| 国产三级久久久| 一本大道久久精品懂色aⅴ| 亚洲综合视频在线| 欧美日韩精品电影| 精品夜夜嗨av一区二区三区| 久久久精品tv| 在线影院国内精品| 日韩av中文字幕一区二区| 2020国产精品| 日本韩国一区二区三区视频| 首页国产丝袜综合| 久久久国产午夜精品| 99久久精品免费看| 丝袜亚洲精品中文字幕一区| 欧美成人猛片aaaaaaa| 丁香另类激情小说| 一区二区三区在线免费视频| 日韩一区二区三区四区 | 亚洲va国产天堂va久久en| 337p亚洲精品色噜噜狠狠| 国产在线一区观看| 亚洲综合小说图片| 久久综合色婷婷| 色综合激情五月| 麻豆久久久久久久| 日韩理论在线观看| 日韩三级电影网址| 一本久道中文字幕精品亚洲嫩| 日本不卡免费在线视频| 中文天堂在线一区| 欧美一级片在线| 97se亚洲国产综合自在线不卡| 日本色综合中文字幕| 中文字幕一区二区三区在线不卡| 欧美美女直播网站| av在线播放不卡| 久久爱www久久做| 亚洲国产毛片aaaaa无费看| 久久久不卡网国产精品一区| 欧美日本一区二区三区四区| 成人av在线网站| 精彩视频一区二区| 亚洲国产精品一区二区久久| 国产精品久久久久久久久图文区| 日韩欧美视频一区| 欧美专区日韩专区| 成av人片一区二区| 国产又黄又大久久| 美女视频黄久久| 亚洲成人免费观看| 一区二区在线看| 国产精品久久久久婷婷二区次| 精品处破学生在线二十三| 欧美精品tushy高清| 在线欧美日韩精品| 91女厕偷拍女厕偷拍高清| 国产精品正在播放| 国内成人免费视频| 久久99国产精品免费网站| 日欧美一区二区| 日韩影院在线观看| 午夜不卡av在线| 午夜精品久久久久久久| 亚洲一区二区四区蜜桃| 一区二区三区国产精品| 国产精品久久久久久久久免费丝袜| 久久亚洲综合色| 久久亚区不卡日本| 欧美α欧美αv大片| 欧美不卡一二三| 2021国产精品久久精品| www国产精品av| 久久精品一区二区三区不卡| 久久综合色天天久久综合图片| 久久色.com| 国产午夜亚洲精品理论片色戒| 国产欧美在线观看一区| 国产精品色一区二区三区| 国产精品美女久久久久高潮| 中文字幕在线不卡一区| 另类小说一区二区三区| 蜜桃一区二区三区四区| 乱一区二区av| 国产精一区二区三区| 成人做爰69片免费看网站| 成人妖精视频yjsp地址| 97se亚洲国产综合自在线| 在线精品视频一区二区| 91精品国产综合久久精品| 欧美一级一级性生活免费录像| 精品va天堂亚洲国产| 国产欧美日韩一区二区三区在线观看 | 色偷偷一区二区三区| 欧美在线免费视屏| 日韩午夜精品电影| 国产欧美日韩视频在线观看| 1024成人网| 日本麻豆一区二区三区视频| 狠狠网亚洲精品| 99在线热播精品免费| 日本韩国精品在线| 欧美一级二级三级乱码| 国产日韩欧美一区二区三区乱码 | 色欧美88888久久久久久影院| 欧美日韩亚洲另类| 2023国产精品自拍| 亚洲婷婷在线视频| 免费人成精品欧美精品| 成人av午夜影院| 欧美精品第一页| 欧美国产成人在线| 日韩国产在线一| 国产91丝袜在线播放| 欧美日韩视频一区二区| 国产亚洲欧美中文| 日韩精品一二三四| 成人成人成人在线视频| 538在线一区二区精品国产| 久久精品免费在线观看| 亚洲r级在线视频| 国产99久久久国产精品免费看| 欧美日韩一本到| 欧美激情综合在线| 免费成人性网站| 91麻豆精品视频| 久久蜜桃一区二区| 亚洲成年人影院| 91在线国产福利| 久久久99久久精品欧美| 亚洲成av人片在www色猫咪| 粉嫩av一区二区三区粉嫩| 4438x成人网最大色成网站| 自拍偷拍亚洲综合| 国产不卡视频一区| 日韩欧美一区在线观看| 亚洲一本大道在线| 不卡一区二区在线| 国产香蕉久久精品综合网| 秋霞国产午夜精品免费视频| 欧美性大战久久| 综合久久国产九一剧情麻豆| 国产成人在线免费观看| 精品免费99久久| 奇米色777欧美一区二区| 欧美日韩一区在线观看| 亚洲欧美偷拍三级| av一区二区久久| 国产午夜亚洲精品羞羞网站| 精品一区二区三区日韩| 这里只有精品视频在线观看| 亚洲主播在线观看| 在线观看免费成人| 亚洲欧美另类在线| 91麻豆自制传媒国产之光| 国产精品美女久久福利网站| 成人综合在线观看| 欧美高清在线视频| 丁香天五香天堂综合| 久久精品在线观看| 国产精品香蕉一区二区三区| 精品国产乱码久久久久久夜甘婷婷| 日韩高清一区二区| 欧美一区二区三区影视| 免费观看久久久4p| 日韩欧美国产高清| 国内精品免费**视频| 久久久精品tv| 波多野结衣的一区二区三区| 国产精品国产成人国产三级 | 色网综合在线观看| 樱桃国产成人精品视频| 欧洲亚洲精品在线| 午夜精品爽啪视频| 欧美va亚洲va| 国产综合色在线视频区| 日本一区二区三区免费乱视频| 成人黄色软件下载| 亚洲免费毛片网站| 在线播放欧美女士性生活| 久久精品国产精品亚洲红杏| 久久品道一品道久久精品| 成人国产亚洲欧美成人综合网| 亚洲欧洲美洲综合色网| 欧美三区在线视频| 老司机免费视频一区二区三区| ww亚洲ww在线观看国产| 91在线免费视频观看| 亚洲成人资源网| 久久麻豆一区二区| 色网站国产精品|