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

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

?? skxmac2.c

?? 移植好的楊創utu2440F ARM9 的uboot1.1.4代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
	if ((Mode & (SK_BIG_PK_OK_ON | SK_BIG_PK_OK_OFF)) != 0) {		GM_IN16(IoC, Port, GM_SERIAL_MODE, &OldRxCmd);		RxCmd = OldRxCmd;		if ((Mode & SK_BIG_PK_OK_ON) != 0) {			RxCmd |= GM_SMOD_JUMBO_ENA;		}		else {			RxCmd &= ~GM_SMOD_JUMBO_ENA;		}		/* Write the new mode to the Rx control register if required */		if (OldRxCmd != RxCmd) {			GM_OUT16(IoC, Port, GM_SERIAL_MODE, RxCmd);		}	}}	/* SkGmSetRxCmd *//****************************************************************************** * *	SkMacSetRxCmd() - Modify the value of the MAC's Rx Control Register * * Description:	modifies the MAC's Rx Control reg. dep. on board type * * Returns: *	nothing */void SkMacSetRxCmd(SK_AC	*pAC,		/* adapter context */SK_IOC	IoC,		/* IO context */int		Port,		/* Port Index (MAC_1 + n) */int		Mode)		/* Rx Mode */{	if (pAC->GIni.GIGenesis) {		SkXmSetRxCmd(pAC, IoC, Port, Mode);	}	else {		SkGmSetRxCmd(pAC, IoC, Port, Mode);	}}	/* SkMacSetRxCmd *//****************************************************************************** * *	SkMacCrcGener() - Enable / Disable CRC Generation * * Description:	enables / disables CRC generation dep. on board type * * Returns: *	nothing */void SkMacCrcGener(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port,	/* Port Index (MAC_1 + n) */SK_BOOL	Enable)	/* Enable / Disable */{	SK_U16	Word;	if (pAC->GIni.GIGenesis) {		XM_IN16(IoC, Port, XM_TX_CMD, &Word);		if (Enable) {			Word &= ~XM_TX_NO_CRC;		}		else {			Word |= XM_TX_NO_CRC;		}		/* setup Tx Command Register */		XM_OUT16(pAC, Port, XM_TX_CMD, Word);	}	else {		GM_IN16(IoC, Port, GM_TX_CTRL, &Word);		if (Enable) {			Word &= ~GM_TXCR_CRC_DIS;		}		else {			Word |= GM_TXCR_CRC_DIS;		}		/* setup Tx Control Register */		GM_OUT16(IoC, Port, GM_TX_CTRL, Word);	}}	/* SkMacCrcGener*/#endif /* SK_DIAG *//****************************************************************************** * *	SkXmClrExactAddr() - Clear Exact Match Address Registers * * Description: *	All Exact Match Address registers of the XMAC 'Port' will be *	cleared starting with 'StartNum' up to (and including) the *	Exact Match address number of 'StopNum'. * * Returns: *	nothing */void SkXmClrExactAddr(SK_AC	*pAC,		/* adapter context */SK_IOC	IoC,		/* IO context */int		Port,		/* Port Index (MAC_1 + n) */int		StartNum,	/* Begin with this Address Register Index (0..15) */int		StopNum)	/* Stop after finished with this Register Idx (0..15) */{	int		i;	SK_U16	ZeroAddr[3] = {0x0000, 0x0000, 0x0000};	if ((unsigned)StartNum > 15 || (unsigned)StopNum > 15 ||		StartNum > StopNum) {		SK_ERR_LOG(pAC, SK_ERRCL_SW, SKERR_HWI_E001, SKERR_HWI_E001MSG);		return;	}	for (i = StartNum; i <= StopNum; i++) {		XM_OUTADDR(IoC, Port, XM_EXM(i), &ZeroAddr[0]);	}}	/* SkXmClrExactAddr *//****************************************************************************** * *	SkMacFlushTxFifo() - Flush the MAC's transmit FIFO * * Description: *	Flush the transmit FIFO of the MAC specified by the index 'Port' * * Returns: *	nothing */void SkMacFlushTxFifo(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_U32	MdReg;	if (pAC->GIni.GIGenesis) {		XM_IN32(IoC, Port, XM_MODE, &MdReg);		XM_OUT32(IoC, Port, XM_MODE, MdReg | XM_MD_FTF);	}	else {		/* no way to flush the FIFO we have to issue a reset */		/* TBD */	}}	/* SkMacFlushTxFifo *//****************************************************************************** * *	SkMacFlushRxFifo() - Flush the MAC's receive FIFO * * Description: *	Flush the receive FIFO of the MAC specified by the index 'Port' * * Returns: *	nothing */void SkMacFlushRxFifo(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_U32	MdReg;	if (pAC->GIni.GIGenesis) {		XM_IN32(IoC, Port, XM_MODE, &MdReg);		XM_OUT32(IoC, Port, XM_MODE, MdReg | XM_MD_FRF);	}	else {		/* no way to flush the FIFO we have to issue a reset */		/* TBD */	}}	/* SkMacFlushRxFifo *//****************************************************************************** * *	SkXmSoftRst() - Do a XMAC software reset * * Description: *	The PHY registers should not be destroyed during this *	kind of software reset. Therefore the XMAC Software Reset *	(XM_GP_RES_MAC bit in XM_GP_PORT) must not be used! * *	The software reset is done by *		- disabling the Rx and Tx state machine, *		- resetting the statistics module, *		- clear all other significant XMAC Mode, *		  Command, and Control Registers *		- clearing the Hash Register and the *		  Exact Match Address registers, and *		- flushing the XMAC's Rx and Tx FIFOs. * * Note: *	Another requirement when stopping the XMAC is to *	avoid sending corrupted frames on the network. *	Disabling the Tx state machine will NOT interrupt *	the currently transmitted frame. But we must take care *	that the Tx FIFO is cleared AFTER the current frame *	is complete sent to the network. * *	It takes about 12ns to send a frame with 1538 bytes. *	One PCI clock goes at least 15ns (66MHz). Therefore *	after reading XM_GP_PORT back, we are sure that the *	transmitter is disabled AND idle. And this means *	we may flush the transmit FIFO now. * * Returns: *	nothing */static void SkXmSoftRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_U16	ZeroAddr[4] = {0x0000, 0x0000, 0x0000, 0x0000};	/* reset the statistics module */	XM_OUT32(IoC, Port, XM_GP_PORT, XM_GP_RES_STAT);	/* disable all XMAC IRQs */	XM_OUT16(IoC, Port, XM_IMSK, 0xffff);	XM_OUT32(IoC, Port, XM_MODE, 0);		/* clear Mode Reg */	XM_OUT16(IoC, Port, XM_TX_CMD, 0);		/* reset TX CMD Reg */	XM_OUT16(IoC, Port, XM_RX_CMD, 0);		/* reset RX CMD Reg */	/* disable all PHY IRQs */	switch (pAC->GIni.GP[Port].PhyType) {	case SK_PHY_BCOM:			SkXmPhyWrite(pAC, IoC, Port, PHY_BCOM_INT_MASK, 0xffff);			break;#ifdef OTHER_PHY		case SK_PHY_LONE:			SkXmPhyWrite(pAC, IoC, Port, PHY_LONE_INT_ENAB, 0);			break;		case SK_PHY_NAT:			/* todo: National			 SkXmPhyWrite(pAC, IoC, Port, PHY_NAT_INT_MASK, 0xffff); */			break;#endif /* OTHER_PHY */	}	/* clear the Hash Register */	XM_OUTHASH(IoC, Port, XM_HSM, &ZeroAddr);	/* clear the Exact Match Address registers */	SkXmClrExactAddr(pAC, IoC, Port, 0, 15);	/* clear the Source Check Address registers */	XM_OUTHASH(IoC, Port, XM_SRC_CHK, &ZeroAddr);}	/* SkXmSoftRst *//****************************************************************************** * *	SkXmHardRst() - Do a XMAC hardware reset * * Description: *	The XMAC of the specified 'Port' and all connected devices *	(PHY and SERDES) will receive a reset signal on its *Reset pins. *	External PHYs must be reset be clearing a bit in the GPIO register *  (Timing requirements: Broadcom: 400ns, Level One: none, National: 80ns). * * ATTENTION: * 	It is absolutely necessary to reset the SW_RST Bit first *	before calling this function. * * Returns: *	nothing */static void SkXmHardRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_U32	Reg;	int		i;	int		TOut;	SK_U16	Word;	for (i = 0; i < 4; i++) {		/* TX_MFF_CTRL1 has 32 bits, but only the lowest 16 bits are used */		SK_OUT16(IoC, MR_ADDR(Port, TX_MFF_CTRL1), MFF_CLR_MAC_RST);		TOut = 0;		do {			if (TOut++ > 10000) {				/*				 * Adapter seems to be in RESET state.				 * Registers cannot be written.				 */				return;			}			SK_OUT16(IoC, MR_ADDR(Port, TX_MFF_CTRL1), MFF_SET_MAC_RST);			SK_IN16(IoC, MR_ADDR(Port, TX_MFF_CTRL1), &Word);		} while ((Word & MFF_SET_MAC_RST) == 0);	}	/* For external PHYs there must be special handling */	if (pAC->GIni.GP[Port].PhyType != SK_PHY_XMAC) {		/* reset external PHY */		SK_IN32(IoC, B2_GP_IO, &Reg);		if (Port == 0) {			Reg |= GP_DIR_0; /* set to output */			Reg &= ~GP_IO_0;		}		else {			Reg |= GP_DIR_2; /* set to output */			Reg &= ~GP_IO_2;		}		SK_OUT32(IoC, B2_GP_IO, Reg);		/* short delay */		SK_IN32(IoC, B2_GP_IO, &Reg);	}}	/* SkXmHardRst *//****************************************************************************** * *	SkGmSoftRst() - Do a GMAC software reset * * Description: *	The GPHY registers should not be destroyed during this *	kind of software reset. * * Returns: *	nothing */static void SkGmSoftRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_U16	EmptyHash[4] = {0x0000, 0x0000, 0x0000, 0x0000};	SK_U16  RxCtrl;	/* reset the statistics module */	/* disable all GMAC IRQs */	SK_OUT8(IoC, GMAC_IRQ_MSK, 0);	/* disable all PHY IRQs */	SkGmPhyWrite(pAC, IoC, Port, PHY_MARV_INT_MASK, 0);	/* clear the Hash Register */	GM_OUTHASH(IoC, Port, GM_MC_ADDR_H1, EmptyHash);	/* Enable Unicast and Multicast filtering */	GM_IN16(IoC, Port, GM_RX_CTRL, &RxCtrl);	GM_OUT16(IoC, Port, GM_RX_CTRL,		RxCtrl | GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA);}	/* SkGmSoftRst *//****************************************************************************** * *	SkGmHardRst() - Do a GMAC hardware reset * * Description: * * ATTENTION: * 	It is absolutely necessary to reset the SW_RST Bit first *	before calling this function. * * Returns: *	nothing */static void SkGmHardRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	/* set GPHY Control reset */	SK_OUT32(IoC, MR_ADDR(Port, GPHY_CTRL), GPC_RST_SET);	/* set GMAC Control reset */	SK_OUT32(IoC, MR_ADDR(Port, GMAC_CTRL), GMC_RST_SET);}	/* SkGmHardRst *//****************************************************************************** * *	SkMacSoftRst() - Do a MAC software reset * * Description:	calls a MAC software reset routine dep. on board type * * Returns: *	nothing */void SkMacSoftRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	SK_GEPORT	*pPrt;	pPrt = &pAC->GIni.GP[Port];	/* disable receiver and transmitter */	SkMacRxTxDisable(pAC, IoC, Port);	if (pAC->GIni.GIGenesis) {		SkXmSoftRst(pAC, IoC, Port);	}	else {		SkGmSoftRst(pAC, IoC, Port);	}	/* flush the MAC's Rx and Tx FIFOs */	SkMacFlushTxFifo(pAC, IoC, Port);	SkMacFlushRxFifo(pAC, IoC, Port);	pPrt->PState = SK_PRT_STOP;}	/* SkMacSoftRst *//****************************************************************************** * *	SkMacHardRst() - Do a MAC hardware reset * * Description:	calls a MAC hardware reset routine dep. on board type * * Returns: *	nothing */void SkMacHardRst(SK_AC	*pAC,	/* adapter context */SK_IOC	IoC,	/* IO context */int		Port)	/* Port Index (MAC_1 + n) */{	if (pAC->GIni.GIGenesis) {		SkXmHardRst(pAC, IoC, Port);	}	else {		SkGmHardRst(pAC, IoC, Port);	}	pAC->GIni.GP[Port].PState = SK_PRT_RESET;}	/* SkMacHardRst *//****************************************************************************** * *	SkXmInitMac() - Initialize the XMAC II * * Description: *	Initialize the XMAC of the specified port. *	The XMAC must be reset or stopped before calling this function. * * Note: *	The XMAC's Rx and Tx state machine is still disabled when returning.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.久久精品| 亚洲欧美日韩国产成人精品影院| 久久精品免费在线观看| 中文字幕在线不卡| 麻豆91免费观看| 在线观看免费成人| 国产女人18水真多18精品一级做| 亚洲精品国产a| 成人午夜又粗又硬又大| 日韩精品一区二区三区视频播放| 亚洲欧美国产三级| 成人午夜电影网站| 国产亚洲美州欧州综合国| 青青青伊人色综合久久| 欧美亚洲精品一区| 亚洲男同性恋视频| 北条麻妃一区二区三区| 久久久久国产精品麻豆ai换脸| 日本中文字幕不卡| 欧美一区二区三区视频免费播放| 一区二区三区四区不卡视频| www.久久久久久久久| 国产欧美日韩在线| 丁香婷婷综合网| 久久女同性恋中文字幕| 久久se这里有精品| 日韩精品专区在线影院观看| 日韩av中文字幕一区二区| 欧美日韩五月天| 亚洲一区在线观看网站| 在线精品亚洲一区二区不卡| 亚洲欧美韩国综合色| 欧美中文字幕久久| 婷婷综合另类小说色区| 欧美高清视频在线高清观看mv色露露十八 | av在线这里只有精品| 久久免费电影网| 国产精品亚洲人在线观看| 精品久久国产97色综合| 国产精品一二三| 中文字幕不卡三区| 91久久线看在观草草青青| 一区二区三区免费在线观看| 欧美性欧美巨大黑白大战| 亚洲成av人片在线| 精品国产网站在线观看| 高潮精品一区videoshd| 亚洲欧美另类久久久精品2019| 色欧美乱欧美15图片| 午夜视频一区二区三区| 欧美成人video| gogo大胆日本视频一区| 亚洲色图另类专区| 欧美群妇大交群的观看方式| 另类小说综合欧美亚洲| 国产精品午夜在线| 欧美丝袜丝nylons| 久久99国产乱子伦精品免费| 国产精品久久影院| 欧美日韩三级在线| 国产精品资源在线看| 中文字幕日韩欧美一区二区三区| 欧美日韩久久久| 国产成人综合在线| 午夜视频在线观看一区| 国产欧美一区二区精品性| 在线观看91视频| 麻豆久久久久久| 亚洲天堂a在线| 精品福利一区二区三区| 色婷婷综合久久久久中文| 美女任你摸久久| 亚洲图片有声小说| 国产拍揄自揄精品视频麻豆| 欧美亚洲国产一区二区三区va| 国产在线乱码一区二区三区| 亚洲一区视频在线观看视频| 久久久久久久久久看片| 精品视频全国免费看| 国产在线不卡视频| 日韩精品亚洲专区| 成人免费小视频| 精品久久久久一区| 欧美男人的天堂一二区| 99天天综合性| 韩日av一区二区| 日韩电影在线一区二区三区| 中文字幕一区三区| 久久久久久亚洲综合影院红桃 | 欧美日韩国产中文| 波多野结衣中文字幕一区二区三区 | 1区2区3区欧美| 久久久久国产成人精品亚洲午夜| 欧美日韩精品一区二区| 99国产精品国产精品毛片| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲国产精品一区二区尤物区| 18欧美亚洲精品| 久久久综合视频| 久久色中文字幕| 亚洲精品一区二区三区蜜桃下载| 6080亚洲精品一区二区| 日本精品一区二区三区高清| 99精品桃花视频在线观看| 国产91精品露脸国语对白| 国产乱人伦偷精品视频免下载| 麻豆成人av在线| 久久99久久99精品免视看婷婷 | 成人av在线播放网址| 国产精品亚洲成人| 国产成人在线免费| 成人一区二区三区在线观看| 国产一区二区三区蝌蚪| 国产成人在线免费| 成人综合在线视频| 成人免费毛片app| 91亚洲精品久久久蜜桃网站 | 亚洲成人黄色小说| 五月天视频一区| 免费观看日韩电影| 蜜桃免费网站一区二区三区| 国产99久久久精品| 国产成a人无v码亚洲福利| 成人黄色软件下载| 色av成人天堂桃色av| 欧美日韩中文字幕一区二区| 538在线一区二区精品国产| 欧美一区二区在线观看| 久久一二三国产| 国产人久久人人人人爽| 亚洲视频免费观看| 亚洲国产美国国产综合一区二区| 亚洲成在人线免费| 开心九九激情九九欧美日韩精美视频电影| 久久国产精品区| 成人av在线电影| 欧美精品在线一区二区三区| 日韩一区二区高清| 国产精品免费免费| 亚洲一区二区三区精品在线| 日韩在线一二三区| 国产mv日韩mv欧美| 欧美国产一区二区在线观看| 中文字幕一区二区三区四区| 久久蜜桃av一区精品变态类天堂| 国产精品二三区| 日本麻豆一区二区三区视频| 国产精品1024| 欧美丝袜丝交足nylons图片| 亚洲精品在线一区二区| 亚洲黄色在线视频| 精彩视频一区二区三区| 91福利在线看| 国产欧美日韩精品一区| 亚洲成人免费av| 成人av网址在线| 日韩精品一区二区三区老鸭窝| 国产精品成人一区二区三区夜夜夜 | 国产乱子伦视频一区二区三区| 91在线porny国产在线看| 精品欧美一区二区三区精品久久| 中文字幕一区二区不卡| 久久se精品一区二区| 91社区在线播放| 国产欧美日韩另类视频免费观看| 日韩电影一区二区三区| 99精品视频在线播放观看| 精品国产乱码久久久久久久| 亚洲精品久久嫩草网站秘色| 国产成人欧美日韩在线电影| 欧美一区二区三区人| 亚洲成在人线在线播放| 91麻豆国产在线观看| 国产日韩欧美麻豆| 国产资源在线一区| 精品入口麻豆88视频| 亚洲成人激情综合网| 91免费观看视频| 国产精品久久免费看| 国产福利91精品一区| 精品嫩草影院久久| 免费高清成人在线| 欧美精品久久久久久久久老牛影院 | 日本中文字幕一区二区有限公司| 色欧美乱欧美15图片| 中文字幕在线观看不卡| 国产传媒欧美日韩成人| 欧美精品一区二区三区很污很色的| 视频一区视频二区在线观看| 在线观看欧美日本| 亚洲一区二区不卡免费| 日本福利一区二区| 亚洲人成影院在线观看| 99精品1区2区| 亚洲精品国产成人久久av盗摄 | www亚洲一区| 激情五月婷婷综合网| 精品福利在线导航| 国产剧情在线观看一区二区| 2020日本不卡一区二区视频|