ariadne.h

来自「linux 内核源代码」· C头文件 代码 · 共 416 行 · 第 1/2 页

H
416
字号
/* *  Amiga Linux/m68k Ariadne Ethernet Driver * *  © Copyright 1995 by Geert Uytterhoeven (geert@linux-m68k.org) *			Peter De Schrijver *		       (Peter.DeSchrijver@linux.cc.kuleuven.ac.be) * *  ---------------------------------------------------------------------------------- * *  This program is based on * *	lance.c:	An AMD LANCE ethernet driver for linux. *			Written 1993-94 by Donald Becker. * *	Am79C960:	PCnet(tm)-ISA Single-Chip Ethernet Controller *			Advanced Micro Devices *			Publication #16907, Rev. B, Amendment/0, May 1994 * *	MC68230:	Parallel Interface/Timer (PI/T) *			Motorola Semiconductors, December, 1983 * *  ---------------------------------------------------------------------------------- * *  This file is subject to the terms and conditions of the GNU General Public *  License.  See the file COPYING in the main directory of the Linux *  distribution for more details. * *  ---------------------------------------------------------------------------------- * *  The Ariadne is a Zorro-II board made by Village Tronic. It contains: * *	- an Am79C960 PCnet-ISA Single-Chip Ethernet Controller with both *	  10BASE-2 (thin coax) and 10BASE-T (UTP) connectors * *	- an MC68230 Parallel Interface/Timer configured as 2 parallel ports */    /*     *	Am79C960 PCnet-ISA     */struct Am79C960 {    volatile u_short AddressPROM[8];				/* IEEE Address PROM (Unused in the Ariadne) */    volatile u_short RDP;	/* Register Data Port */    volatile u_short RAP;	/* Register Address Port */    volatile u_short Reset;	/* Reset Chip on Read Access */    volatile u_short IDP;	/* ISACSR Data Port */};    /*     *	Am79C960 Control and Status Registers     *     *	These values are already swap()ed!!     *     *	Only registers marked with a `-' are intended for network software     *	access     */#define CSR0		0x0000	/* - PCnet-ISA Controller Status */#define CSR1		0x0100	/* - IADR[15:0] */#define CSR2		0x0200	/* - IADR[23:16] */#define CSR3		0x0300	/* - Interrupt Masks and Deferral Control */#define CSR4		0x0400	/* - Test and Features Control */#define CSR6		0x0600	/*   RCV/XMT Descriptor Table Length */#define CSR8		0x0800	/* - Logical Address Filter, LADRF[15:0] */#define CSR9		0x0900	/* - Logical Address Filter, LADRF[31:16] */#define CSR10		0x0a00	/* - Logical Address Filter, LADRF[47:32] */#define CSR11		0x0b00	/* - Logical Address Filter, LADRF[63:48] */#define CSR12		0x0c00	/* - Physical Address Register, PADR[15:0] */#define CSR13		0x0d00	/* - Physical Address Register, PADR[31:16] */#define CSR14		0x0e00	/* - Physical Address Register, PADR[47:32] */#define CSR15		0x0f00	/* - Mode Register */#define CSR16		0x1000	/*   Initialization Block Address Lower */#define CSR17		0x1100	/*   Initialization Block Address Upper */#define CSR18		0x1200	/*   Current Receive Buffer Address */#define CSR19		0x1300	/*   Current Receive Buffer Address */#define CSR20		0x1400	/*   Current Transmit Buffer Address */#define CSR21		0x1500	/*   Current Transmit Buffer Address */#define CSR22		0x1600	/*   Next Receive Buffer Address */#define CSR23		0x1700	/*   Next Receive Buffer Address */#define CSR24		0x1800	/* - Base Address of Receive Ring */#define CSR25		0x1900	/* - Base Address of Receive Ring */#define CSR26		0x1a00	/*   Next Receive Descriptor Address */#define CSR27		0x1b00	/*   Next Receive Descriptor Address */#define CSR28		0x1c00	/*   Current Receive Descriptor Address */#define CSR29		0x1d00	/*   Current Receive Descriptor Address */#define CSR30		0x1e00	/* - Base Address of Transmit Ring */#define CSR31		0x1f00	/* - Base Address of transmit Ring */#define CSR32		0x2000	/*   Next Transmit Descriptor Address */#define CSR33		0x2100	/*   Next Transmit Descriptor Address */#define CSR34		0x2200	/*   Current Transmit Descriptor Address */#define CSR35		0x2300	/*   Current Transmit Descriptor Address */#define CSR36		0x2400	/*   Next Next Receive Descriptor Address */#define CSR37		0x2500	/*   Next Next Receive Descriptor Address */#define CSR38		0x2600	/*   Next Next Transmit Descriptor Address */#define CSR39		0x2700	/*   Next Next Transmit Descriptor Address */#define CSR40		0x2800	/*   Current Receive Status and Byte Count */#define CSR41		0x2900	/*   Current Receive Status and Byte Count */#define CSR42		0x2a00	/*   Current Transmit Status and Byte Count */#define CSR43		0x2b00	/*   Current Transmit Status and Byte Count */#define CSR44		0x2c00	/*   Next Receive Status and Byte Count */#define CSR45		0x2d00	/*   Next Receive Status and Byte Count */#define CSR46		0x2e00	/*   Poll Time Counter */#define CSR47		0x2f00	/*   Polling Interval */#define CSR48		0x3000	/*   Temporary Storage */#define CSR49		0x3100	/*   Temporary Storage */#define CSR50		0x3200	/*   Temporary Storage */#define CSR51		0x3300	/*   Temporary Storage */#define CSR52		0x3400	/*   Temporary Storage */#define CSR53		0x3500	/*   Temporary Storage */#define CSR54		0x3600	/*   Temporary Storage */#define CSR55		0x3700	/*   Temporary Storage */#define CSR56		0x3800	/*   Temporary Storage */#define CSR57		0x3900	/*   Temporary Storage */#define CSR58		0x3a00	/*   Temporary Storage */#define CSR59		0x3b00	/*   Temporary Storage */#define CSR60		0x3c00	/*   Previous Transmit Descriptor Address */#define CSR61		0x3d00	/*   Previous Transmit Descriptor Address */#define CSR62		0x3e00	/*   Previous Transmit Status and Byte Count */#define CSR63		0x3f00	/*   Previous Transmit Status and Byte Count */#define CSR64		0x4000	/*   Next Transmit Buffer Address */#define CSR65		0x4100	/*   Next Transmit Buffer Address */#define CSR66		0x4200	/*   Next Transmit Status and Byte Count */#define CSR67		0x4300	/*   Next Transmit Status and Byte Count */#define CSR68		0x4400	/*   Transmit Status Temporary Storage */#define CSR69		0x4500	/*   Transmit Status Temporary Storage */#define CSR70		0x4600	/*   Temporary Storage */#define CSR71		0x4700	/*   Temporary Storage */#define CSR72		0x4800	/*   Receive Ring Counter */#define CSR74		0x4a00	/*   Transmit Ring Counter */#define CSR76		0x4c00	/* - Receive Ring Length */#define CSR78		0x4e00	/* - Transmit Ring Length */#define CSR80		0x5000	/* - Burst and FIFO Threshold Control */#define CSR82		0x5200	/* - Bus Activity Timer */#define CSR84		0x5400	/*   DMA Address */#define CSR85		0x5500	/*   DMA Address */#define CSR86		0x5600	/*   Buffer Byte Counter */#define CSR88		0x5800	/* - Chip ID */#define CSR89		0x5900	/* - Chip ID */#define CSR92		0x5c00	/*   Ring Length Conversion */#define CSR94		0x5e00	/*   Transmit Time Domain Reflectometry Count */#define CSR96		0x6000	/*   Bus Interface Scratch Register 0 */#define CSR97		0x6100	/*   Bus Interface Scratch Register 0 */#define CSR98		0x6200	/*   Bus Interface Scratch Register 1 */#define CSR99		0x6300	/*   Bus Interface Scratch Register 1 */#define CSR104		0x6800	/*   SWAP */#define CSR105		0x6900	/*   SWAP */#define CSR108		0x6c00	/*   Buffer Management Scratch */#define CSR109		0x6d00	/*   Buffer Management Scratch */#define CSR112		0x7000	/* - Missed Frame Count */#define CSR114		0x7200	/* - Receive Collision Count */#define CSR124		0x7c00	/* - Buffer Management Unit Test */    /*     *	Am79C960 ISA Control and Status Registers     *     *	These values are already swap()ed!!     */#define ISACSR0		0x0000	/* Master Mode Read Active */#define ISACSR1		0x0100	/* Master Mode Write Active */#define ISACSR2		0x0200	/* Miscellaneous Configuration */#define ISACSR4		0x0400	/* LED0 Status (Link Integrity) */#define ISACSR5		0x0500	/* LED1 Status */#define ISACSR6		0x0600	/* LED2 Status */#define ISACSR7		0x0700	/* LED3 Status */    /*     *	Bit definitions for CSR0 (PCnet-ISA Controller Status)     *     *	These values are already swap()ed!!     */#define ERR		0x0080	/* Error */#define BABL		0x0040	/* Babble: Transmitted too many bits */#define CERR		0x0020	/* No Heartbeat (10BASE-T) */#define MISS		0x0010	/* Missed Frame */#define MERR		0x0008	/* Memory Error */#define RINT		0x0004	/* Receive Interrupt */#define TINT		0x0002	/* Transmit Interrupt */#define IDON		0x0001	/* Initialization Done */#define INTR		0x8000	/* Interrupt Flag */#define INEA		0x4000	/* Interrupt Enable */#define RXON		0x2000	/* Receive On */#define TXON		0x1000	/* Transmit On */#define TDMD		0x0800	/* Transmit Demand */#define STOP		0x0400	/* Stop */#define STRT		0x0200	/* Start */#define INIT		0x0100	/* Initialize */    /*     *	Bit definitions for CSR3 (Interrupt Masks and Deferral Control)     *     *	These values are already swap()ed!!     */#define BABLM		0x0040	/* Babble Mask */#define MISSM		0x0010	/* Missed Frame Mask */#define MERRM		0x0008	/* Memory Error Mask */#define RINTM		0x0004	/* Receive Interrupt Mask */#define TINTM		0x0002	/* Transmit Interrupt Mask */#define IDONM		0x0001	/* Initialization Done Mask */

⌨️ 快捷键说明

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