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

📄 rioboard.h

📁 linux-2.6.15.6
💻 H
字号:
/************************************************************************//*									*//*	Title		:	RIO Host Card Hardware Definitions	*//*									*//*	Author		:	N.P.Vassallo				*//*									*//*	Creation	:	26th April 1999				*//*									*//*	Version		:	1.0.0					*//*									*//*	Copyright	:	(c) Specialix International Ltd. 1999	* * *      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., 675 Mass Ave, Cambridge, MA 02139, USA. *									*//*	Description	:	Prototypes, structures and definitions	*//*				describing the RIO board hardware	*//*									*//************************************************************************//* History...1.0.0	26/04/99 NPV	Creation.*/#ifndef	_rioboard_h				/* If RIOBOARD.H not already defined */#define	_rioboard_h    1/****************************************************************************************************                                **********************************************   Hardware Control Registers   **********************************************                                ****************************************************************************************************//* Hardware Registers... */#define	RIO_REG_BASE	0x7C00			/* Base of control registers */#define	RIO_CONFIG	RIO_REG_BASE + 0x0000	/* WRITE: Configuration Register */#define	RIO_INTSET	RIO_REG_BASE + 0x0080	/* WRITE: Interrupt Set */#define	RIO_RESET	RIO_REG_BASE + 0x0100	/* WRITE: Host Reset */#define	RIO_INTRESET	RIO_REG_BASE + 0x0180	/* WRITE: Interrupt Reset */#define	RIO_VPD_ROM	RIO_REG_BASE + 0x0000	/* READ: Vital Product Data ROM */#define	RIO_INTSTAT	RIO_REG_BASE + 0x0080	/* READ: Interrupt Status (Jet boards only) */#define	RIO_RESETSTAT	RIO_REG_BASE + 0x0100	/* READ: Reset Status (Jet boards only) *//* RIO_VPD_ROM definitions... */#define	VPD_SLX_ID1	0x00			/* READ: Specialix Identifier #1 */#define	VPD_SLX_ID2	0x01			/* READ: Specialix Identifier #2 */#define	VPD_HW_REV	0x02			/* READ: Hardware Revision */#define	VPD_HW_ASSEM	0x03			/* READ: Hardware Assembly Level */#define	VPD_UNIQUEID4	0x04			/* READ: Unique Identifier #4 */#define	VPD_UNIQUEID3	0x05			/* READ: Unique Identifier #3 */#define	VPD_UNIQUEID2	0x06			/* READ: Unique Identifier #2 */#define	VPD_UNIQUEID1	0x07			/* READ: Unique Identifier #1 */#define	VPD_MANU_YEAR	0x08			/* READ: Year Of Manufacture (0 = 1970) */#define	VPD_MANU_WEEK	0x09			/* READ: Week Of Manufacture (0 = week 1 Jan) */#define	VPD_HWFEATURE1	0x0A			/* READ: Hardware Feature Byte 1 */#define	VPD_HWFEATURE2	0x0B			/* READ: Hardware Feature Byte 2 */#define	VPD_HWFEATURE3	0x0C			/* READ: Hardware Feature Byte 3 */#define	VPD_HWFEATURE4	0x0D			/* READ: Hardware Feature Byte 4 */#define	VPD_HWFEATURE5	0x0E			/* READ: Hardware Feature Byte 5 */#define	VPD_OEMID	0x0F			/* READ: OEM Identifier */#define	VPD_IDENT	0x10			/* READ: Identifier string (16 bytes) */#define	VPD_IDENT_LEN	0x10/* VPD ROM Definitions... */#define	SLX_ID1		0x4D#define	SLX_ID2		0x98#define	PRODUCT_ID(a)	((a>>4)&0xF)		/* Use to obtain Product ID from VPD_UNIQUEID1 */#define	ID_SX_ISA	0x2#define	ID_RIO_EISA	0x3#define	ID_SX_PCI	0x5#define	ID_SX_EISA	0x7#define	ID_RIO_RTA16	0x9#define	ID_RIO_ISA	0xA#define	ID_RIO_MCA	0xB#define	ID_RIO_SBUS	0xC#define	ID_RIO_PCI	0xD#define	ID_RIO_RTA8	0xE/* Transputer bootstrap definitions... */#define	BOOTLOADADDR		(0x8000 - 6)#define	BOOTINDICATE		(0x8000 - 2)/* Firmware load position... */#define	FIRMWARELOADADDR	0x7C00		/* Firmware is loaded _before_ this address *//**********************************************************************************************************                    **********************************************************   RIO (Rev1) ISA   **********************************************************                    **********************************************************************************************************//* Control Register Definitions... */#define	RIO_ISA_IDENT	"JBJGPGGHINSMJPJR"#define	RIO_ISA_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_ISA_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_ISA_CFG_IRQMASK	0x30		/* Interrupt mask */#define	  RIO_ISA_CFG_IRQ12	0x10		/* Interrupt Level 12 */#define	  RIO_ISA_CFG_IRQ11	0x20		/* Interrupt Level 11 */#define	  RIO_ISA_CFG_IRQ9	0x30		/* Interrupt Level 9 */#define	RIO_ISA_CFG_LINK20	0x40		/* 20Mbps link, else 10Mbps */#define	RIO_ISA_CFG_WAITSTATE0	0x80		/* 0 waitstates, else 1 *//**********************************************************************************************************                    **********************************************************   RIO (Rev2) ISA   **********************************************************                    **********************************************************************************************************//* Control Register Definitions... */#define	RIO_ISA2_IDENT	"JBJGPGGHINSMJPJR"#define	RIO_ISA2_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_ISA2_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_ISA2_CFG_INTENABLE	0x04		/* Interrupt enable, else disable */#define	RIO_ISA2_CFG_16BIT	0x08		/* 16bit mode, else 8bit */#define	RIO_ISA2_CFG_IRQMASK	0x30		/* Interrupt mask */#define	  RIO_ISA2_CFG_IRQ15	0x00		/* Interrupt Level 15 */#define	  RIO_ISA2_CFG_IRQ12	0x10		/* Interrupt Level 12 */#define	  RIO_ISA2_CFG_IRQ11	0x20		/* Interrupt Level 11 */#define	  RIO_ISA2_CFG_IRQ9	0x30		/* Interrupt Level 9 */#define	RIO_ISA2_CFG_LINK20	0x40		/* 20Mbps link, else 10Mbps */#define	RIO_ISA2_CFG_WAITSTATE0	0x80		/* 0 waitstates, else 1 *//**********************************************************************************************************                   ***********************************************************   RIO (Jet) ISA   ***********************************************************                   ***********************************************************************************************************//* Control Register Definitions... */#define	RIO_ISA3_IDENT	"JET HOST BY KEV#"#define	RIO_ISA3_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_ISA3_CFG_INTENABLE	0x04		/* Interrupt enable, else disable */#define	RIO_ISA32_CFG_IRQMASK	0xF30		/* Interrupt mask */#define	  RIO_ISA3_CFG_IRQ15	0xF0		/* Interrupt Level 15 */#define	  RIO_ISA3_CFG_IRQ12	0xC0		/* Interrupt Level 12 */#define	  RIO_ISA3_CFG_IRQ11	0xB0		/* Interrupt Level 11 */#define	  RIO_ISA3_CFG_IRQ10	0xA0		/* Interrupt Level 10 */#define	  RIO_ISA3_CFG_IRQ9	0x90		/* Interrupt Level 9 *//**************************************************************************************************************             *****************************************************************   RIO MCA   *****************************************************************             *************************************************************************************************************//* Control Register Definitions... */#define	RIO_MCA_IDENT	"JBJGPGGHINSMJPJR"#define	RIO_MCA_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_MCA_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_MCA_CFG_LINK20	0x40		/* 20Mbps link, else 10Mbps *//*************************************************************************************************************              ****************************************************************   RIO EISA   ****************************************************************              *************************************************************************************************************//* EISA Configuration Space Definitions... */#define	EISA_PRODUCT_ID1	0xC80#define	EISA_PRODUCT_ID2	0xC81#define	EISA_PRODUCT_NUMBER	0xC82#define	EISA_REVISION_NUMBER	0xC83#define	EISA_CARD_ENABLE	0xC84#define	EISA_VPD_UNIQUEID4	0xC88		/* READ: Unique Identifier #4 */#define	EISA_VPD_UNIQUEID3	0xC8A		/* READ: Unique Identifier #3 */#define	EISA_VPD_UNIQUEID2	0xC90		/* READ: Unique Identifier #2 */#define	EISA_VPD_UNIQUEID1	0xC92		/* READ: Unique Identifier #1 */#define	EISA_VPD_MANU_YEAR	0xC98		/* READ: Year Of Manufacture (0 = 1970) */#define	EISA_VPD_MANU_WEEK	0xC9A		/* READ: Week Of Manufacture (0 = week 1 Jan) */#define	EISA_MEM_ADDR_23_16	0xC00#define	EISA_MEM_ADDR_31_24	0xC01#define	EISA_RIO_CONFIG		0xC02		/* WRITE: Configuration Register */#define	EISA_RIO_INTSET		0xC03		/* WRITE: Interrupt Set */#define	EISA_RIO_INTRESET	0xC03		/* READ:  Interrupt Reset *//* Control Register Definitions... */#define	RIO_EISA_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_EISA_CFG_LINK20	0x02		/* 20Mbps link, else 10Mbps */#define	RIO_EISA_CFG_BUSENABLE	0x04		/* Enable processor bus */#define	RIO_EISA_CFG_PROCRUN	0x08		/* Processor running, else reset */#define	RIO_EISA_CFG_IRQMASK	0xF0		/* Interrupt mask */#define	  RIO_EISA_CFG_IRQ15	0xF0		/* Interrupt Level 15 */#define	  RIO_EISA_CFG_IRQ14	0xE0		/* Interrupt Level 14 */#define	  RIO_EISA_CFG_IRQ12	0xC0		/* Interrupt Level 12 */#define	  RIO_EISA_CFG_IRQ11	0xB0		/* Interrupt Level 11 */#define	  RIO_EISA_CFG_IRQ10	0xA0		/* Interrupt Level 10 */#define	  RIO_EISA_CFG_IRQ9	0x90		/* Interrupt Level 9 */#define	  RIO_EISA_CFG_IRQ7	0x70		/* Interrupt Level 7 */#define	  RIO_EISA_CFG_IRQ6	0x60		/* Interrupt Level 6 */#define	  RIO_EISA_CFG_IRQ5	0x50		/* Interrupt Level 5 */#define	  RIO_EISA_CFG_IRQ4	0x40		/* Interrupt Level 4 */#define	  RIO_EISA_CFG_IRQ3	0x30		/* Interrupt Level 3 *//*************************************************************************************************************              ****************************************************************   RIO SBus   ****************************************************************              *************************************************************************************************************//* Control Register Definitions... */#define	RIO_SBUS_IDENT	"JBPGK#\0\0\0\0\0\0\0\0\0\0"#define	RIO_SBUS_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_SBUS_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_SBUS_CFG_INTENABLE	0x04		/* Interrupt enable, else disable */#define	RIO_SBUS_CFG_IRQMASK	0x38		/* Interrupt mask */#define	  RIO_SBUS_CFG_IRQNONE	0x00		/* No Interrupt */#define	  RIO_SBUS_CFG_IRQ7	0x38		/* Interrupt Level 7 */#define	  RIO_SBUS_CFG_IRQ6	0x30		/* Interrupt Level 6 */#define	  RIO_SBUS_CFG_IRQ5	0x28		/* Interrupt Level 5 */#define	  RIO_SBUS_CFG_IRQ4	0x20		/* Interrupt Level 4 */#define	  RIO_SBUS_CFG_IRQ3	0x18		/* Interrupt Level 3 */#define	  RIO_SBUS_CFG_IRQ2	0x10		/* Interrupt Level 2 */#define	  RIO_SBUS_CFG_IRQ1	0x08		/* Interrupt Level 1 */#define	RIO_SBUS_CFG_LINK20	0x40		/* 20Mbps link, else 10Mbps */#define	RIO_SBUS_CFG_PROC25	0x80		/* 25Mhz processor clock, else 20Mhz *//**************************************************************************************************************             *****************************************************************   RIO PCI   *****************************************************************             *************************************************************************************************************//* Control Register Definitions... */#define	RIO_PCI_IDENT	"ECDDPGJGJHJRGSK#"#define	RIO_PCI_CFG_BOOTRAM	0x01		/* Boot from RAM, else Link */#define	RIO_PCI_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_PCI_CFG_INTENABLE	0x04		/* Interrupt enable, else disable */#define	RIO_PCI_CFG_LINK20	0x40		/* 20Mbps link, else 10Mbps */#define	RIO_PCI_CFG_PROC25	0x80		/* 25Mhz processor clock, else 20Mhz *//* PCI Definitions... */#define	SPX_VENDOR_ID		0x11CB		/* Assigned by the PCI SIG */#define	SPX_DEVICE_ID		0x8000		/* RIO bridge boards */#define	SPX_PLXDEVICE_ID	0x2000		/* PLX bridge boards */#define	SPX_SUB_VENDOR_ID	SPX_VENDOR_ID	/* Same as vendor id */#define	RIO_SUB_SYS_ID		0x0800		/* RIO PCI board *//**********************************************************************************************************                   ***********************************************************   RIO (Jet) PCI   ***********************************************************                   ***********************************************************************************************************//* Control Register Definitions... */#define	RIO_PCI2_IDENT	"JET HOST BY KEV#"#define	RIO_PCI2_CFG_BUSENABLE	0x02		/* Enable processor bus */#define	RIO_PCI2_CFG_INTENABLE	0x04		/* Interrupt enable, else disable *//* PCI Definitions... */#define	RIO2_SUB_SYS_ID		0x0100		/* RIO (Jet) PCI board */#endif						/*_rioboard_h *//* End of RIOBOARD.H */

⌨️ 快捷键说明

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