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

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

?? multiverse.c

?? 友善mini2440嵌入式
?? C
字號:
/* * multiverse.c * * VME driver for Multiverse * * Author : Sangmoon Kim *	    dogoil@etinsys.com * * Copyright 2005 ETIN SYSTEMS Co.,Ltd. * * This program is free software; you can redistribute  it and/or modify it * under  the terms of  the GNU General Public License as published by the * Free Software Foundation;  either version 2 of the  License, or (at your * option) any later version. */#include <common.h>#include <asm/io.h>#include <pci.h>#include "multiverse.h"static unsigned long vme_asi_addr;static unsigned long vme_iack_addr;static unsigned long pci_reg_addr;static unsigned long vme_reg_addr;int multiv_reset(unsigned long base){	writeb(0x09, base + VME_SLAVE32_AM);	writeb(0x39, base + VME_SLAVE24_AM);	writeb(0x29, base + VME_SLAVE16_AM);	writeb(0x2f, base + VME_SLAVE_REG_AM);	writeb((VME_A32_SLV_BUS >> 24) & 0xff, base + VME_SLAVE32_A);	writeb((VME_A24_SLV_BUS >> 16) & 0xff, base + VME_SLAVE24_A);	writeb((VME_A16_SLV_BUS >> 8 ) & 0xff, base + VME_SLAVE16_A);#ifdef A32_SLV_WINDOW	if (readb(base + VME_STATUS) & VME_STATUS_SYSCON) {		writeb(((~(VME_A32_SLV_SIZE-1)) >> 24) & 0xff,				base + VME_SLAVE32_MASK);		writeb(0x01, base + VME_SLAVE32_EN);	} else {		writeb(0xff, base + VME_SLAVE32_MASK);		writeb(0x00, base + VME_SLAVE32_EN);	}#else	writeb(0xff, base + VME_SLAVE32_MASK);	writeb(0x00, base + VME_SLAVE32_EN);#endif#ifdef A24_SLV_WINDOW	if (readb(base + VME_STATUS) & VME_STATUS_SYSCON) {		writeb(((~(VME_A24_SLV_SIZE-1)) >> 16) & 0xff,				base + VME_SLAVE24_MASK);		writeb(0x01, base + VME_SLAVE24_EN);	} else {		writeb(0xff, base + VME_SLAVE24_MASK);		writeb(0x00, base + VME_SLAVE24_EN);	}#else	writeb(0xff, base + VME_SLAVE24_MASK);	writeb(0x00, base + VME_SLAVE24_EN);#endif#ifdef A16_SLV_WINDOW	if (readb(base + VME_STATUS) & VME_STATUS_SYSCON) {		writeb(((~(VME_A16_SLV_SIZE-1)) >> 8) & 0xff,				base + VME_SLAVE16_MASK);		writeb(0x01, base + VME_SLAVE16_EN);	} else {		writeb(0xff, base + VME_SLAVE16_MASK);		writeb(0x00, base + VME_SLAVE16_EN);	}#else	writeb(0xff, base + VME_SLAVE16_MASK);	writeb(0x00, base + VME_SLAVE16_EN);#endif#ifdef REG_SLV_WINDOW	if (readb(base + VME_STATUS) & VME_STATUS_SYSCON) {		writeb(((~(VME_REG_SLV_SIZE-1)) >> 16) & 0xff,				base + VME_SLAVE_REG_MASK);		writeb(0x01, base + VME_SLAVE_REG_EN);	} else {		writeb(0xf8, base + VME_SLAVE_REG_MASK);	}#else	writeb(0xf8, base + VME_SLAVE_REG_MASK);#endif	writeb(0x09, base + VME_MASTER32_AM);	writeb(0x39, base + VME_MASTER24_AM);	writeb(0x29, base + VME_MASTER16_AM);	writeb(0x2f, base + VME_MASTER_REG_AM);	writel(0x00000000, base + VME_RMW_ADRS);	writeb(0x00, base + VME_IRQ);	writeb(0x00, base + VME_INT_EN);	writel(0x00000000, base + VME_IRQ1_REG);	writel(0x00000000, base + VME_IRQ2_REG);	writel(0x00000000, base + VME_IRQ3_REG);	writel(0x00000000, base + VME_IRQ4_REG);	writel(0x00000000, base + VME_IRQ5_REG);	writel(0x00000000, base + VME_IRQ6_REG);	writel(0x00000000, base + VME_IRQ7_REG);	return 0;}void multiv_auto_slot_id(unsigned long base){	unsigned int vector;	int slot_id = 1;	if (readb(base + VME_CTRL) & VME_CTRL_SYSFAIL) {		*(volatile unsigned int*)(base + VME_IRQ2_REG) = 0xfe;		writeb(readb(base + VME_IRQ) | 0x04, base + VME_IRQ);		writeb(readb(base + VME_CTRL) & ~VME_CTRL_SYSFAIL,				base + VME_CTRL);		while (readb(base + VME_STATUS) & VME_STATUS_SYSFAIL);		if (readb(base + VME_STATUS) & VME_STATUS_SYSCON) {			while (readb(base + VME_INT) & 0x04) {				vector = *(volatile unsigned int*)					(vme_iack_addr + VME_IACK2);				*(unsigned char*)(vme_asi_addr + 0x7ffff)					= (slot_id << 3) & 0xff;				slot_id ++;				if (slot_id > 31)					break;			}		}	}}int multiverse_init(void){	int i;	pci_dev_t pdev;	unsigned int bar[6];	pdev = pci_find_device(0x1895, 0x0001, 0);	if (pdev == 0)		return -1;	for (i = 0; i < 6; i++)		pci_read_config_dword (pdev,				PCI_BASE_ADDRESS_0 + i * 4, &bar[i]);	pci_reg_addr = bar[0];	vme_reg_addr = bar[1] + 0x00F00000;	vme_iack_addr = bar[1] + 0x00200000;	vme_asi_addr = bar[3];	pci_write_config_dword (pdev, PCI_COMMAND,		PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);	writel(0xFF000000, pci_reg_addr + P_TA1);	writel(0x04, pci_reg_addr + P_IMG_CTRL1);	writel(0xf0000000, pci_reg_addr + P_TA2);	writel(0x04, pci_reg_addr + P_IMG_CTRL2);	writel(0xF1000000, pci_reg_addr + P_TA3);	writel(0x04, pci_reg_addr + P_IMG_CTRL3);	writel(VME_A32_MSTR_BUS, pci_reg_addr + P_TA5);	writel(~(VME_A32_MSTR_SIZE-1), pci_reg_addr + P_AM5);	writel(0x04, pci_reg_addr + P_IMG_CTRL5);	writel(VME_A32_SLV_BUS, pci_reg_addr + W_BA1);	writel(~(VME_A32_SLV_SIZE-1), pci_reg_addr + W_AM1);	writel(VME_A32_SLV_LOCAL, pci_reg_addr + W_TA1);	writel(0x04, pci_reg_addr + W_IMG_CTRL1);	writel(0xF0000000, pci_reg_addr + W_BA2);	writel(0xFF000000, pci_reg_addr + W_AM2);	writel(VME_A24_SLV_LOCAL, pci_reg_addr + W_TA2);	writel(0x04, pci_reg_addr + W_IMG_CTRL2);	writel(0xFF000000, pci_reg_addr + W_BA3);	writel(0xFF000000, pci_reg_addr + W_AM3);	writel(VME_A16_SLV_LOCAL, pci_reg_addr + W_TA3);	writel(0x04, pci_reg_addr + W_IMG_CTRL3);	writel(0x00000001, pci_reg_addr + W_ERR_CS);	writel(0x00000001, pci_reg_addr + P_ERR_CS);	multiv_reset(vme_reg_addr);	writeb(readb(vme_reg_addr + VME_CTRL) | VME_CTRL_SHORT_D,		vme_reg_addr + VME_CTRL);	multiv_auto_slot_id(vme_reg_addr);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产sm最大网站免费看| 粉嫩高潮美女一区二区三区 | 国内精品久久久久影院色| 国产精品久久久久久久久快鸭 | 亚洲一区二区中文在线| 久久久久99精品国产片| 欧美一区三区二区| 91视频精品在这里| 国产99久久久精品| 蜜桃视频免费观看一区| 一二三区精品福利视频| 国产精品美女久久久久aⅴ| 精品久久人人做人人爰| 欧美午夜寂寞影院| 91精品1区2区| 91在线免费播放| 国产精品一二三区在线| 久久国产麻豆精品| 麻豆专区一区二区三区四区五区| 亚洲自拍欧美精品| 亚洲激情av在线| 亚洲视频资源在线| 日韩一区在线看| 亚洲欧美激情小说另类| 久久免费精品国产久精品久久久久| 欧美精品一二三四| 337p亚洲精品色噜噜噜| 91精品婷婷国产综合久久性色| 欧美日韩亚洲综合| 日韩一区二区免费在线电影| 日韩一级片在线播放| 欧美草草影院在线视频| 2024国产精品| 久久精品一级爱片| 综合电影一区二区三区| 亚洲在线视频网站| 美腿丝袜在线亚洲一区| 国产综合久久久久久鬼色| 成人avav影音| 91麻豆精品久久久久蜜臀| 精品国产精品网麻豆系列| 国产精品美女久久久久aⅴ | 欧美美女一区二区在线观看| 91精品国产欧美一区二区成人 | 国产亚洲精品7777| 一区二区三区成人| 国产精品自在在线| 在线观看一区二区精品视频| 91精品国产综合久久久久久久| 久久久精品日韩欧美| 亚洲国产综合91精品麻豆| 国产不卡视频一区| 欧美一区三区二区| 亚洲成年人影院| 99精品一区二区| 欧美高清在线一区| 九色综合国产一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 欧美精品一区二区三区视频 | 国产剧情av麻豆香蕉精品| 欧美日韩中文字幕精品| 中文字幕一区二区三区乱码在线| 免费精品视频最新在线| 精品视频123区在线观看| 国产欧美一区二区精品仙草咪| 美女视频网站久久| 欧美二区在线观看| 亚洲狠狠爱一区二区三区| 91免费国产在线| 亚洲欧美乱综合| 成人小视频在线| 国产精品福利电影一区二区三区四区| 蜜桃一区二区三区在线| 欧美一区二区网站| 日本不卡123| 精品国产乱码久久| 国产成人高清视频| 国产欧美日韩综合| 9久草视频在线视频精品| 中文字幕日韩一区| 色就色 综合激情| 日韩成人av影视| 日韩精品最新网址| 91污在线观看| 一区二区三区丝袜| 日韩丝袜情趣美女图片| 国产在线视频一区二区| 中国av一区二区三区| 色综合久久综合中文综合网| 亚洲成av人片在线观看无码| 久久综合九色综合97婷婷| 国产成人99久久亚洲综合精品| 一区二区三区电影在线播| 欧美一区二区大片| 91丨九色porny丨蝌蚪| 亚洲电影在线播放| 久久综合久久99| 欧洲视频一区二区| 国产麻豆一精品一av一免费| 亚洲久草在线视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美无砖专区一中文字| 久久av中文字幕片| 夜夜亚洲天天久久| 久久亚洲春色中文字幕久久久| 99久久综合精品| 极品美女销魂一区二区三区免费| 亚洲最新视频在线观看| 久久久国产精华| 精品国产乱码久久久久久久久| 在线免费观看不卡av| 国产成人精品亚洲日本在线桃色| 日韩精品亚洲一区| 亚洲午夜激情av| 综合欧美亚洲日本| 亚洲国产精品激情在线观看| 精品国产乱码久久久久久老虎| 欧美日韩黄色影视| 欧美精品久久久久久久多人混战| 99热国产精品| 91网上在线视频| 91麻豆123| 91香蕉视频污在线| 欧美变态口味重另类| 欧美日本在线视频| 欧美日本韩国一区| 精品久久五月天| 欧美国产精品一区| 国产精品的网站| 一区二区三区欧美激情| 一区二区在线观看视频 | 夜夜精品浪潮av一区二区三区| 亚洲欧洲制服丝袜| 亚洲第一狼人社区| 青草国产精品久久久久久| 狠狠网亚洲精品| 不卡av免费在线观看| 欧美系列日韩一区| 久久婷婷综合激情| 中文字幕中文乱码欧美一区二区| 伊人婷婷欧美激情| 免费xxxx性欧美18vr| 国产精品一区二区不卡| 成人激情免费电影网址| 色狠狠桃花综合| 欧美成人一级视频| 亚洲欧美日韩国产中文在线| 三级一区在线视频先锋| 国产成人免费视频一区| 欧美日韩免费电影| 中文字幕国产一区二区| 五月天精品一区二区三区| 国内成人免费视频| 欧美私人免费视频| 日本一区二区三区高清不卡| 天堂va蜜桃一区二区三区漫画版| 国产一区二区毛片| 91麻豆精品91久久久久同性| 久久久久综合网| 日韩av电影天堂| 91视频精品在这里| 国产精品国产三级国产普通话99| 午夜精品视频一区| 色婷婷久久一区二区三区麻豆| 久久这里只有精品视频网| 视频一区欧美日韩| 91成人免费电影| 亚洲欧美激情小说另类| 大尺度一区二区| 国产丝袜欧美中文另类| 狠狠久久亚洲欧美| 精品剧情在线观看| 国产一区二区视频在线| 久久综合久色欧美综合狠狠| 日韩精品欧美成人高清一区二区| 91免费视频网址| 亚洲精品免费视频| 在线亚洲精品福利网址导航| 亚洲男人电影天堂| 色综合天天在线| 亚洲午夜精品久久久久久久久| 91国在线观看| 婷婷综合另类小说色区| 91精品国产入口| 国产一区在线精品| 国产精品白丝在线| 91国偷自产一区二区开放时间| 亚洲国产日韩av| 日韩久久久精品| 97精品国产露脸对白| 亚洲国产wwwccc36天堂| 日韩美女天天操| 99re视频这里只有精品| 无吗不卡中文字幕| 亚洲欧美一区二区久久| 正在播放亚洲一区| 日韩电影在线免费看| 欧美日韩三级一区| 一区二区免费在线播放| 色综合久久综合|