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

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

?? miiphybb.c

?? U-boot latest tarball
?? C
字號:
/* * (C) Copyright 2001 * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com. * * See file CREDITS for list of people who contributed to this * project. * * 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA *//* * This provides a bit-banged interface to the ethernet MII management * channel. */#include <common.h>#include <ioports.h>#include <ppc_asm.tmpl>/***************************************************************************** * * Utility to send the preamble, address, and register (common to read * and write). */static void miiphy_pre (char read, unsigned char addr, unsigned char reg){	int j;			/* counter */#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM))	volatile ioport_t *iop = ioport_addr ((immap_t *) CONFIG_SYS_IMMR, MDIO_PORT);#endif	/*	 * Send a 32 bit preamble ('1's) with an extra '1' bit for good measure.	 * The IEEE spec says this is a PHY optional requirement.  The AMD	 * 79C874 requires one after power up and one after a MII communications	 * error.  This means that we are doing more preambles than we need,	 * but it is safer and will be much more robust.	 */	MDIO_ACTIVE;	MDIO (1);	for (j = 0; j < 32; j++) {		MDC (0);		MIIDELAY;		MDC (1);		MIIDELAY;	}	/* send the start bit (01) and the read opcode (10) or write (10) */	MDC (0);	MDIO (0);	MIIDELAY;	MDC (1);	MIIDELAY;	MDC (0);	MDIO (1);	MIIDELAY;	MDC (1);	MIIDELAY;	MDC (0);	MDIO (read);	MIIDELAY;	MDC (1);	MIIDELAY;	MDC (0);	MDIO (!read);	MIIDELAY;	MDC (1);	MIIDELAY;	/* send the PHY address */	for (j = 0; j < 5; j++) {		MDC (0);		if ((addr & 0x10) == 0) {			MDIO (0);		} else {			MDIO (1);		}		MIIDELAY;		MDC (1);		MIIDELAY;		addr <<= 1;	}	/* send the register address */	for (j = 0; j < 5; j++) {		MDC (0);		if ((reg & 0x10) == 0) {			MDIO (0);		} else {			MDIO (1);		}		MIIDELAY;		MDC (1);		MIIDELAY;		reg <<= 1;	}}/***************************************************************************** * * Read a MII PHY register. * * Returns: *   0 on success */int bb_miiphy_read (char *devname, unsigned char addr,		unsigned char reg, unsigned short *value){	short rdreg;		/* register working value */	int j;			/* counter */#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM))	volatile ioport_t *iop = ioport_addr ((immap_t *) CONFIG_SYS_IMMR, MDIO_PORT);#endif	miiphy_pre (1, addr, reg);	/* tri-state our MDIO I/O pin so we can read */	MDC (0);	MDIO_TRISTATE;	MIIDELAY;	MDC (1);	MIIDELAY;	/* check the turnaround bit: the PHY should be driving it to zero */	if (MDIO_READ != 0) {		/* puts ("PHY didn't drive TA low\n"); */		for (j = 0; j < 32; j++) {			MDC (0);			MIIDELAY;			MDC (1);			MIIDELAY;		}		return (-1);	}	MDC (0);	MIIDELAY;	/* read 16 bits of register data, MSB first */	rdreg = 0;	for (j = 0; j < 16; j++) {		MDC (1);		MIIDELAY;		rdreg <<= 1;		rdreg |= MDIO_READ;		MDC (0);		MIIDELAY;	}	MDC (1);	MIIDELAY;	MDC (0);	MIIDELAY;	MDC (1);	MIIDELAY;	*value = rdreg;#ifdef DEBUG	printf ("miiphy_read(0x%x) @ 0x%x = 0x%04x\n", reg, addr, *value);#endif	return 0;}/***************************************************************************** * * Write a MII PHY register. * * Returns: *   0 on success */int bb_miiphy_write (char *devname, unsigned char addr,		unsigned char reg, unsigned short value){	int j;			/* counter */#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM))	volatile ioport_t *iop = ioport_addr ((immap_t *) CONFIG_SYS_IMMR, MDIO_PORT);#endif	miiphy_pre (0, addr, reg);	/* send the turnaround (10) */	MDC (0);	MDIO (1);	MIIDELAY;	MDC (1);	MIIDELAY;	MDC (0);	MDIO (0);	MIIDELAY;	MDC (1);	MIIDELAY;	/* write 16 bits of register data, MSB first */	for (j = 0; j < 16; j++) {		MDC (0);		if ((value & 0x00008000) == 0) {			MDIO (0);		} else {			MDIO (1);		}		MIIDELAY;		MDC (1);		MIIDELAY;		value <<= 1;	}	/*	 * Tri-state the MDIO line.	 */	MDIO_TRISTATE;	MDC (0);	MIIDELAY;	MDC (1);	MIIDELAY;	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费高清一区色橹橹| 99久久99久久久精品齐齐| 亚洲视频在线观看三级| 久久久久久免费网| 久久九九久精品国产免费直播| 日韩一区二区三区四区五区六区| 欧美日韩中字一区| 欧美日韩国产三级| 欧美大片在线观看一区| 日韩一区二区三区在线视频| 日韩午夜精品视频| 久久综合九色综合97婷婷女人| 久久午夜色播影院免费高清 | 日韩一区精品视频| 日韩精品色哟哟| 久久精品国产一区二区| 久久精品国产一区二区| 成人免费视频国产在线观看| 不卡视频免费播放| 欧美伊人久久久久久久久影院| 欧美日韩在线一区二区| 日韩写真欧美这视频| 久久久不卡网国产精品二区| 国产精品乱码人人做人人爱 | 国产精品婷婷午夜在线观看| 国产精品久久久久永久免费观看| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区av电影| 日韩成人一区二区三区在线观看| 久久精品99久久久| 91免费视频观看| 91麻豆精品国产综合久久久久久| 精品国产一区a| 亚洲欧美日韩久久| 麻豆国产欧美一区二区三区| 成人爱爱电影网址| 欧美电影免费观看高清完整版在| 国产欧美一区二区精品久导航| 亚洲黄色性网站| 国产精品香蕉一区二区三区| 欧美主播一区二区三区| 日本一区二区高清| 欧美aaaaaa午夜精品| 色悠悠亚洲一区二区| 精品国偷自产国产一区| 亚洲影院久久精品| 国产成人在线看| 91精品国产综合久久久久久久| 国产欧美一区二区三区沐欲| 三级久久三级久久久| 成人午夜视频免费看| 欧美日韩大陆在线| 亚洲人成小说网站色在线| 经典三级视频一区| 3d成人h动漫网站入口| 亚洲精品精品亚洲| 成人小视频免费观看| 久久亚洲综合色| 日本不卡的三区四区五区| 色成人在线视频| 国产精品久久久久久久久免费桃花 | 国产99久久精品| 欧美一区二区三区啪啪| 亚洲一卡二卡三卡四卡| 91网站在线播放| 国产精品久久久久影院色老大| 国产成人精品亚洲午夜麻豆| 欧美一区国产二区| 亚洲成国产人片在线观看| 一本大道av一区二区在线播放| 国产日韩一级二级三级| 韩国av一区二区三区在线观看 | 精品一区二区三区蜜桃| 欧美精品18+| 亚洲国产综合色| 欧美日韩免费电影| 视频一区视频二区中文字幕| 精品污污网站免费看| 午夜一区二区三区视频| 欧美喷潮久久久xxxxx| 日韩极品在线观看| 91精品国产综合久久久久久久久久| 亚洲一区自拍偷拍| 欧美日韩精品久久久| 日本中文一区二区三区| 717成人午夜免费福利电影| 一区二区三区在线视频免费观看 | 亚洲国产毛片aaaaa无费看| 色女孩综合影院| 午夜精品久久久久影视| 欧美一二区视频| 国产高清不卡一区| 中文字幕亚洲视频| 在线精品视频小说1| 午夜久久福利影院| 亚洲精品一线二线三线无人区| 精品在线亚洲视频| 国产精品福利在线播放| 欧美综合一区二区三区| 日韩成人午夜电影| 欧美极品xxx| 欧美唯美清纯偷拍| 麻豆精品在线播放| 国产精品区一区二区三区| 色成年激情久久综合| 久久99精品国产麻豆不卡| 欧美国产欧美亚州国产日韩mv天天看完整| av在线综合网| 日本成人在线视频网站| 国产欧美一区二区精品性色超碰| 欧洲另类一二三四区| 久久99国产精品久久99| 亚洲免费观看视频| 亚洲精品一区二区精华| 欧美性做爰猛烈叫床潮| 国产一区二区三区综合| 亚洲国产精品视频| 中文字幕乱码一区二区免费| 欧美精品黑人性xxxx| av中文字幕一区| 国产精品1区2区| 日本中文字幕一区| 亚洲欧美激情在线| 国产清纯美女被跳蛋高潮一区二区久久w | 99九九99九九九视频精品| 亚洲18女电影在线观看| 国产精品久久久久婷婷| 日韩欧美国产一区二区在线播放| 99精品欧美一区二区三区小说| 蜜桃精品视频在线| 午夜精品爽啪视频| 亚洲精选一二三| 国产精品麻豆视频| 久久精品人人做| 精品国产一区二区三区av性色| 欧美精品日日鲁夜夜添| 色噜噜狠狠成人网p站| 成人免费福利片| 国产在线精品一区在线观看麻豆| 亚洲一区二区三区国产| 亚洲素人一区二区| 国产精品亲子乱子伦xxxx裸| 久久久久久久久一| 精品国产人成亚洲区| 欧美一区二区三区婷婷月色| 欧美日韩精品一区二区三区四区 | 26uuu亚洲综合色| 91精品国产一区二区三区| 欧美日韩色一区| 欧美影片第一页| 欧美丝袜丝nylons| 欧美综合色免费| 欧美系列亚洲系列| 欧美日韩中文国产| 欧美一区二区视频在线观看 | 免费日本视频一区| 全部av―极品视觉盛宴亚洲| 亚洲成人三级小说| 亚洲第一成人在线| 日本va欧美va瓶| 天堂成人免费av电影一区| 亚洲一区二区在线观看视频 | 综合分类小说区另类春色亚洲小说欧美| 久久久噜噜噜久久人人看| 久久久另类综合| 亚洲情趣在线观看| 亚洲精品国产精华液| 午夜久久久久久| 九九在线精品视频| 成人综合婷婷国产精品久久免费| 不卡一区二区三区四区| 色婷婷精品久久二区二区蜜臂av| 色噜噜狠狠一区二区三区果冻| 欧美日韩中文字幕一区| 久久丝袜美腿综合| 1024成人网| 日韩国产欧美在线观看| 国产一区二区美女诱惑| 日本高清成人免费播放| 91精品国产综合久久久久久久久久| 久久亚洲精精品中文字幕早川悠里 | 中文字幕一区二区三区蜜月| 亚洲激情图片qvod| 久久国内精品视频| hitomi一区二区三区精品| 欧美日韩中文精品| 中文字幕欧美激情一区| 亚洲1区2区3区4区| av在线播放成人| 91精品国产综合久久久蜜臀粉嫩| 亚洲国产精品激情在线观看 | 精品国产免费人成电影在线观看四季 | 欧美日韩国产另类不卡| 久久女同互慰一区二区三区| 亚洲欧洲综合另类| 国产在线播放一区二区三区| 在线日韩av片| 欧美极品少妇xxxxⅹ高跟鞋| 免费看精品久久片| 91福利在线导航|