vrc4173_cardu.h

来自「linux 内核源代码」· C头文件 代码 · 共 248 行

H
248
字号
/* * FILE NAME *	drivers/pcmcia/vrc4173_cardu.h * * BRIEF MODULE DESCRIPTION *	Include file for NEC VRC4173 CARDU. * * Copyright 2002 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> * *  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 SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *  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. */#ifndef _VRC4173_CARDU_H#define _VRC4173_CARDU_H#include <linux/pci.h>#include <pcmcia/ss.h>#define CARDU_MAX_SOCKETS	2#define CARDU1			0#define CARDU2			1/* * PCI Configuration Registers */#define BRGCNT			0x3e #define POST_WR_EN		0x0400 #define MEM1_PREF_EN		0x0200 #define MEM0_PREF_EN		0x0100 #define IREQ_INT		0x0080 #define CARD_RST		0x0040 #define MABORT_MODE		0x0020 #define VGA_EN			0x0008 #define ISA_EN			0x0004 #define SERR_EN		0x0002 #define PERR_EN		0x0001#define SYSCNT			0x80 #define BAD_VCC_REQ_DISB	0x00200000 #define PCPCI_EN		0x00080000 #define CH_ASSIGN_MASK		0x00070000 #define CH_ASSIGN_NODMA	0x00040000 #define SUB_ID_WR_EN		0x00000008 #define ASYN_INT_MODE		0x00000004 #define PCI_CLK_RIN		0x00000002#define DEVCNT			0x91 #define ZOOM_VIDEO_EN		0x40 #define SR_PCI_INT_SEL_MASK	0x18 #define SR_PCI_INT_SEL_NONE	0x00 #define PCI_INT_MODE		0x04 #define IRQ_MODE		0x02 #define IFG			0x01#define CHIPCNT			0x9c #define S_PREF_DISB		0x10#define SERRDIS			0x9f #define SERR_DIS_MAB		0x10 #define SERR_DIS_TAB		0x08 #define SERR_DIS_DT_PERR	0x04/* * ExCA Registers */#define EXCA_REGS_BASE		0x800#define EXCA_REGS_SIZE		0x800#define ID_REV			0x000 #define IF_TYPE_16BIT		0x80#define IF_STATUS		0x001 #define CARD_PWR		0x40 #define READY			0x20 #define CARD_WP		0x10 #define CARD_DETECT2		0x08 #define CARD_DETECT1		0x04 #define BV_DETECT_MASK		0x03 #define BV_DETECT_GOOD		0x03	/* Memory card */ #define BV_DETECT_WARN		0x02 #define BV_DETECT_BAD1		0x01 #define BV_DETECT_BAD0		0x00 #define STSCHG			0x02	/* I/O card */ #define SPKR			0x01#define PWR_CNT			0x002 #define CARD_OUT_EN		0x80 #define VCC_MASK		0x18 #define VCC_3V			0x18 #define VCC_5V			0x10 #define VCC_0V			0x00 #define VPP_MASK		0x03 #define VPP_12V		0x02 #define VPP_VCC		0x01 #define VPP_0V			0x00#define INT_GEN_CNT		0x003 #define CARD_REST0		0x40 #define CARD_TYPE_MASK		0x20 #define CARD_TYPE_IO		0x20 #define CARD_TYPE_MEM		0x00#define CARD_SC			0x004 #define CARD_DT_CHG		0x08 #define RDY_CHG		0x04 #define BAT_WAR_CHG		0x02 #define BAT_DEAD_ST_CHG	0x01#define CARD_SCI		0x005 #define CARD_DT_EN		0x08 #define RDY_EN			0x04 #define BAT_WAR_EN		0x02 #define BAT_DEAD_EN		0x01#define ADR_WIN_EN		0x006 #define IO_WIN_EN(x)		(0x40 << (x)) #define MEM_WIN_EN(x)		(0x01 << (x))#define IO_WIN_CNT		0x007 #define IO_WIN_CNT_MASK(x)	(0x03 << ((x) << 2)) #define IO_WIN_DATA_AUTOSZ(x)	(0x02 << ((x) << 2)) #define IO_WIN_DATA_16BIT(x)	(0x01 << ((x) << 2))#define IO_WIN_SA(x)		(0x008 + ((x) << 2))#define IO_WIN_EA(x)		(0x00a + ((x) << 2))#define MEM_WIN_SA(x)		(0x010 + ((x) << 3)) #define MEM_WIN_DSIZE		0x8000#define MEM_WIN_EA(x)		(0x012 + ((x) << 3))#define MEM_WIN_OA(x)		(0x014 + ((x) << 3)) #define MEM_WIN_WP		0x8000 #define MEM_WIN_REGSET		0x4000#define GEN_CNT			0x016 #define VS2_STATUS		0x80 #define VS1_STATUS		0x40 #define EXCA_REG_RST_EN	0x02#define GLO_CNT			0x01e #define FUN_INT_LEV		0x08 #define INT_WB_CLR		0x04 #define CSC_INT_LEV		0x02#define IO_WIN_OAL(x)		(0x036 + ((x) << 1))#define IO_WIN_OAH(x)		(0x037 + ((x) << 1))#define MEM_WIN_SAU(x)		(0x040 + (x))#define IO_SETUP_TIM		0x080#define IO_CMD_TIM		0x081#define IO_HOLD_TIM		0x082#define MEM_SETUP_TIM(x)	(0x084 + ((x) << 2))#define MEM_CMD_TIM(x)		(0x085 + ((x) << 2))#define MEM_HOLD_TIM(x)		(0x086 + ((x) << 2)) #define TIM_CLOCKS(x)		((x) - 1)#define MEM_TIM_SEL1		0x08c#define MEM_TIM_SEL2		0x08d #define MEM_WIN_TIMSEL1(x)	(0x03 << (((x) & 3) << 1))#define MEM_WIN_PWEN		0x091 #define POSTWEN		0x01/* * CardBus Socket Registers */#define CARDBUS_SOCKET_REGS_BASE	0x000#define CARDBUS_SOCKET_REGS_SIZE	0x800#define SKT_EV			0x000 #define POW_CYC_EV		0x00000008 #define CCD2_EV		0x00000004 #define CCD1_EV		0x00000002 #define CSTSCHG_EV		0x00000001#define SKT_MASK		0x004 #define POW_CYC_MASK		0x00000008 #define CCD_MASK		0x00000006 #define CSC_MASK		0x00000001#define SKT_PRE_STATE		0x008#define SKT_FORCE_EV		0x00c #define VOL_3V_SKT		0x20000000 #define VOL_5V_SKT		0x10000000 #define CVS_TEST		0x00004000 #define VOL_YV_CARD_DT		0x00002000 #define VOL_XV_CARD_DT		0x00001000 #define VOL_3V_CARD_DT		0x00000800 #define VOL_5V_CARD_DT		0x00000400 #define BAD_VCC_REQ		0x00000200 #define DATA_LOST		0x00000100 #define NOT_A_CARD		0x00000080 #define CREADY			0x00000040 #define CB_CARD_DT		0x00000020 #define R2_CARD_DT		0x00000010 #define POW_UP			0x00000008 #define CCD20			0x00000004 #define CCD10			0x00000002 #define CSTSCHG		0x00000001#define SKT_CNT			0x010 #define STP_CLK_EN		0x00000080 #define VCC_CNT_MASK		0x00000070 #define VCC_CNT_3V		0x00000030 #define VCC_CNT_5V		0x00000020 #define VCC_CNT_0V		0x00000000 #define VPP_CNT_MASK		0x00000007 #define VPP_CNT_3V		0x00000003 #define VPP_CNT_5V		0x00000002 #define VPP_CNT_12V		0x00000001 #define VPP_CNT_0V		0x00000000typedef struct vrc4173_socket {	int noprobe;	struct pci_dev *dev;	void *base;	void (*handler)(void *, unsigned int);	void *info;	socket_cap_t cap;	spinlock_t event_lock;	uint16_t events;	struct socket_info_t *pcmcia_socket;	struct work_struct tq_work;	char name[20];} vrc4173_socket_t;#endif /* _VRC4173_CARDU_H */

⌨️ 快捷键说明

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