⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 if_edreg.h

📁 嵌入式系统开发中关于网络开发的的原代码及相关说明理。
💻 H
字号:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory *                              Toyohashi Univ. of Technology, JAPAN *  Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering *                   Tomakomai National College of Technology, JAPAN * *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ * *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: if_edreg.h,v 1.2 2004/09/07 00:51:20 abe Exp abe $ *//* * Copyright (C) 1993, David Greenman. This software may be used, modified, *   copied, distributed, and sold, in both source and binary form provided *   that the above copyright and these terms are retained. Under no *   circumstances is the author responsible for the proper functioning *   of this software, nor does the author assume any responsibility *   for damages incurred with its use. * * $FreeBSD: src/sys/i386/isa/if_edreg.h,v 1.25.2.2 1999/09/25 13:08:18 nyan Exp $ *//* * National Semiconductor DS8390 NIC register definitions * * * Modification history * * Revision 2.2  1993/11/29  16:33:39  davidg * From Thomas Sandford <t.d.g.sandford@comp.brad.ac.uk> * Add support for the 8013W board type * * Revision 2.1  1993/11/22  10:52:33  davidg * patch to add support for SMC8216 (Elite-Ultra) boards * from Glen H. Lowe * * Revision 2.0  93/09/29  00:37:15  davidg * changed double buffering flag to multi buffering * made changes/additions for 3c503 multi-buffering * ...companion to Rev. 2.0 of 'ed' driver. * * Revision 1.1  93/06/23  03:01:07  davidg * Initial revision * *//* * 2002/8/8	REALTEK RTL8019AS 脱 */#ifndef _If_EDREG_H_#define _If_EDREG_H_/* *  NE2000 高垂レジスタ *//* *  柒婶レジスタオフセット *//* ペ〖ジ 0、粕み叫し */#define ED_P0_CR		0x00#define ED_P0_CLDA0		0x01#define ED_P0_CLDA1		0x02#define ED_P0_BNRY		0x03#define ED_P0_TSR		0x04#define ED_P0_NCR		0x05#define ED_P0_FIFO		0x06#define ED_P0_ISR		0x07#define ED_P0_CRDA0		0x08#define ED_P0_CRDA1		0x09#define ED_P0_RSR		0x0c#define ED_P0_CNTR0		0x0d#define ED_P0_CNTR1		0x0e#define ED_P0_CNTR2		0x0f/* ペ〖ジ 0、今き哈み */#define ED_P0_PSTART		0x01#define ED_P0_PSTOP		0x02#define ED_P0_TPSR		0x04#define ED_P0_TBCR0		0x05#define ED_P0_TBCR1		0x06#define ED_P0_RSAR0		0x08#define ED_P0_RSAR1		0x09#define ED_P0_RBCR0		0x0a#define ED_P0_RBCR1		0x0b#define ED_P0_RCR		0x0c#define ED_P0_TCR		0x0d#define ED_P0_DCR		0x0e#define ED_P0_IMR		0x0f/* ペ〖ジ 1、粕み今き */#define ED_P1_CR		0x00#define ED_P1_PAR(x)		((x)+0x01)#define ED_P1_CURR		0x07#define ED_P1_MAR(x)		((x)+0x08)/* *  ペ〖ジ 0、オフセット 0x00、R/W、Command Register (CR) */#define ED_CR_STP_BIT		0#define ED_CR_STA_BIT		1#define ED_CR_TXP_BIT		2#define ED_CR_RD0_BIT		3#define ED_CR_RD1_BIT		4#define ED_CR_RD2_BIT		5#define ED_CR_PS0_BIT		6#define ED_CR_PS1_BIT		7#define ED_CR_STP		(1<<ED_CR_STP_BIT)#define ED_CR_STA		(1<<ED_CR_STA_BIT)#define ED_CR_TXP		(1<<ED_CR_TXP_BIT)#define ED_CR_RD0		(1<<ED_CR_RD0_BIT)#define ED_CR_RD1		(1<<ED_CR_RD1_BIT)#define ED_CR_RD2		(1<<ED_CR_RD2_BIT)#define ED_CR_PS0		(1<<ED_CR_PS0_BIT)#define ED_CR_PS1		(1<<ED_CR_PS1_BIT)#define ED_CR_PAGE0		(0)#define ED_CR_PAGE1		(ED_CR_PS0)#define ED_CR_PAGE2		(ED_CR_PS1)#define ED_CR_PAGE3		(ED_CR_PS1|ED_CR_PS0)/* *  ペ〖ジ 0、オフセット 0x04、R、Transmit Status Register (TSR) */#define ED_TSR_PTX_BIT		0#define ED_TSR_COL_BIT		2#define ED_TSR_ABT_BIT		3#define ED_TSR_CRS_BIT		4#define ED_TSR_CDH_BIT		6#define ED_TSR_OWC_BIT		7#define ED_TSR_PTX		(1<<ED_TSR_PTX_BIT)#define ED_TSR_COL		(1<<ED_TSR_COL_BIT)#define ED_TSR_ABT		(1<<ED_TSR_ABT_BIT)#define ED_TSR_CRS		(1<<ED_TSR_CRS_BIT)#define ED_TSR_CDH		(1<<ED_TSR_CDH_BIT)#define ED_TSR_OWC		(1<<ED_TSR_OWC_BIT)/* *  ペ〖ジ 0、オフセット 0x07、R/W、Interrupt Status Register (ISR) */#define ED_ISR_PRX_BIT		0#define ED_ISR_PTX_BIT		1#define ED_ISR_RXE_BIT		2#define ED_ISR_TXE_BIT		3#define ED_ISR_OVW_BIT		4#define ED_ISR_CNT_BIT		5#define ED_ISR_RDC_BIT		6#define ED_ISR_RST_BIT		7#define ED_ISR_PRX		(1<<ED_ISR_PRX_BIT)#define ED_ISR_PTX		(1<<ED_ISR_PTX_BIT)#define ED_ISR_RXE		(1<<ED_ISR_RXE_BIT)#define ED_ISR_TXE		(1<<ED_ISR_TXE_BIT)#define ED_ISR_OVW		(1<<ED_ISR_OVW_BIT)#define ED_ISR_CNT		(1<<ED_ISR_CNT_BIT)#define ED_ISR_RDC		(1<<ED_ISR_RDC_BIT)#define ED_ISR_RST		(1<<ED_ISR_RST_BIT)/* *  ペ〖ジ 0、オフセット 0x0c、W *  ペ〖ジ 2、オフセット 0x0c、R *  Recive Configuration Register (RCR) */#define ED_RCR_SEP_BIT		0#define ED_RCR_AR_BIT		1#define ED_RCR_AB_BIT		2#define ED_RCR_AM_BIT		3#define ED_RCR_PRO_BIT		4#define ED_RCR_MON_BIT		5#define ED_RCR_SEP		(1<<ED_RCR_SEP_BIT)#define ED_RCR_AR		(1<<ED_RCR_AR_BIT)#define ED_RCR_AB		(1<<ED_RCR_AB_BIT)#define ED_RCR_AM		(1<<ED_RCR_AM_BIT)#define ED_RCR_PRO		(1<<ED_RCR_PRO_BIT)#define ED_RCR_MON		(1<<ED_RCR_MON_BIT)/* *  ペ〖ジ 0、オフセット 0x0d、W *  ペ〖ジ 2、オフセット 0x0d、R *  Transmit Configuration Register (TCR) */#define ED_TCR_CRC_BIT		0#define ED_TCR_LB0_BIT		1#define ED_TCR_LB1_BIT		2#define ED_TCR_ATD_BIT		3#define ED_TCR_OFST_BIT		4#define ED_TCR_CRC		(1<<ED_TCR_CRC_BIT)#define ED_TCR_LB0		(1<<ED_TCR_LB0_BIT)#define ED_TCR_LB1		(1<<ED_TCR_LB1_BIT)#define ED_TCR_ATD		(1<<ED_TCR_ATD_BIT)#define ED_TCR_OFST		(1<<ED_TCR_OFST_BIT)/* *  ペ〖ジ 0、オフセット 0x0e、W *  ペ〖ジ 2、オフセット 0x0e、R *  Data Configuration Register (DCR) */#define ED_DCR_WTS_BIT		0#define ED_DCR_BOS_BIT		1#define ED_DCR_LAS_BIT		2#define ED_DCR_LS_BIT		3#define ED_DCR_ARM_BIT		4#define ED_DCR_FT0_BIT		5#define ED_DCR_FT1_BIT		6#define ED_DCR_WTS		(1<<ED_DCR_WTS_BIT)#define ED_DCR_BOS		(1<<ED_DCR_BOS_BIT)#define ED_DCR_LAS		(1<<ED_DCR_LAS_BIT)#define ED_DCR_LS		(1<<ED_DCR_LS_BIT)#define ED_DCR_ARM		(1<<ED_DCR_ARM_BIT)#define ED_DCR_FT0		(1<<ED_DCR_FT0_BIT)#define ED_DCR_FT1		(1<<ED_DCR_FT1_BIT)/* *  ペ〖ジ 0、オフセット 0x0f、W *  ペ〖ジ 2、オフセット 0x0f、R *  Interrupt Mask Register (IMR) */#define ED_IMR_PRX_BIT		0#define ED_IMR_PTX_BIT		1#define ED_IMR_RXE_BIT		2#define ED_IMR_TXE_BIT		3#define ED_IMR_OVW_BIT		4#define ED_IMR_CNT_BIT		5#define ED_IMR_RDC_BIT		6#define ED_IMR_RST_BIT		7#define ED_IMR_PRX		(1<<ED_IMR_PRX_BIT)#define ED_IMR_PTX		(1<<ED_IMR_PTX_BIT)#define ED_IMR_RXE		(1<<ED_IMR_RXE_BIT)#define ED_IMR_TXE		(1<<ED_IMR_TXE_BIT)#define ED_IMR_OVW		(1<<ED_IMR_OVW_BIT)#define ED_IMR_CNT		(1<<ED_IMR_CNT_BIT)#define ED_IMR_RDC		(1<<ED_IMR_RDC_BIT)#define ED_IMR_RST		(1<<ED_IMR_RST_BIT)/* *  减慨フレ〖ムヘッダ菇陇挛 */typedef struct t_ed_frame_hdr {	UB	rsr;		/* 减慨ステ〖タス	*/	UB	next;		/* 肌のフレ〖ムのペ〖ジ	*/	UH	count;		/* フレ〖ム墓 (墓さ+4)	*/	} T_ED_FRAME_HDR;/* *  柒垄 RAM *//* 庙罢: 16 ビットモ〖ドは踏悸刘 */#ifdef IF_ED_CFG_16BIT#define ED_INT_RAM_SIZE		0x4000#else	/* of #ifdef IF_ED_CFG_16BIT */#define ED_INT_RAM_SIZE		0x2000#endif	/* of #ifdef IF_ED_CFG_16BIT */#define ED_INT_RAM_BASE		0x4000#define ED_PAGE_SIZE		256#define NUM_IF_ED_TXBUF_PAGE	((ETHER_MAX_LEN + ED_PAGE_SIZE - 1) / ED_PAGE_SIZE)#define IF_ED_TXBUF_PAGE_SIZE	(NUM_IF_ED_TXBUF_PAGE * NUM_IF_ED_TXBUF)#define IF_ED_RXBUF_PAGE_SIZE	(ED_INT_RAM_SIZE / ED_PAGE_SIZE - IF_ED_TXBUF_PAGE_SIZE)/* *  アドレスのオフセット */#define ED_NIC_OFFSET		0x00#define ED_ASIC_OFFSET		0x10#define ED_DATA_OFFSET		0x00#define ED_RESET_OFFSET		0x0f/* *  RTL8019AS 漓脱レジスタ *//* *  柒婶レジスタオフセット *//* ペ〖ジ 3、粕み叫し */#define ED_RTL_P3_CR		0x00#define ED_RTL_P3_9346CR	0x01#define ED_RTL_P3_BPAGE		0x02#define ED_RTL_P3_CONFIG0	0x03#define ED_RTL_P3_CONFIG1	0x04#define ED_RTL_P3_CONFIG2	0x05#define ED_RTL_P3_CONFIG3	0x06#define ED_RTL_P3_TEST		0x07#define ED_RTL_P3_CSNSAV	0x08#define ED_RTL_P3_INTR		0x0b#define ED_RTL_P3_CONFIG4	0x0d/* ペ〖ジ 3、今哈み */#define ED_RTL_P3_HTLCLK	0x09#define ED_RTL_P3_FMWP		0x0c/* ペ〖ジ 3、オフセット 0x04、R/W、Configuration 0 */#define ED_RTL_CFG0_IOS0_BIT	0#define ED_RTL_CFG0_IOS1_BIT	1#define ED_RTL_CFG0_IOS2_BIT	2#define ED_RTL_CFG0_IOS3_BIT	3#define ED_RTL_CFG0_IRQS0_BIT	4#define ED_RTL_CFG0_IRQS1_BIT	5#define ED_RTL_CFG0_IRQS2_BIT	6#define ED_RTL_CFG0_IRQEN_BIT	7#define ED_RTL_CFG0_IOS0	(1<<ED_RTL_CFG0_IOS0_BIT)#define ED_RTL_CFG0_IOS1	(1<<ED_RTL_CFG0_IOS1_BIT)#define ED_RTL_CFG0_IOS2	(1<<ED_RTL_CFG0_IOS2_BIT)#define ED_RTL_CFG0_IOS3	(1<<ED_RTL_CFG0_IOS3_BIT)#define ED_RTL_CFG0_IRQS0	(1<<ED_RTL_CFG0_IRQS0_BIT)#define ED_RTL_CFG0_IRQS1	(1<<ED_RTL_CFG0_IRQS1_BIT)#define ED_RTL_CFG0_IRQS2	(1<<ED_RTL_CFG0_IRQS2_BIT)#define ED_RTL_CFG0_IRQEN	(1<<ED_RTL_CFG0_IRQEN_BIT)/* *  簇眶、config/$(CPU)/$(SYS)/sys_support.S 霹に年盗されている。 */extern void ed_dis_inter (void);extern void ed_ena_inter (void);#endif	/* of #ifndef _If_EDREG_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -