121 lines
		
	
	
	
		
			2.7 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			121 lines
		
	
	
	
		
			2.7 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cisreg.h
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This program is free software; you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								 * it under the terms of the GNU General Public License version 2 as
							 | 
						||
| 
								 | 
							
								 * published by the Free Software Foundation.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The initial developer of the original code is David A. Hinds
							 | 
						||
| 
								 | 
							
								 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
							 | 
						||
| 
								 | 
							
								 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * (C) 1999             David A. Hinds
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef _LINUX_CISREG_H
							 | 
						||
| 
								 | 
							
								#define _LINUX_CISREG_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Offsets from ConfigBase for CIS registers
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define CISREG_COR		0x00
							 | 
						||
| 
								 | 
							
								#define CISREG_CCSR		0x02
							 | 
						||
| 
								 | 
							
								#define CISREG_PRR		0x04
							 | 
						||
| 
								 | 
							
								#define CISREG_SCR		0x06
							 | 
						||
| 
								 | 
							
								#define CISREG_ESR		0x08
							 | 
						||
| 
								 | 
							
								#define CISREG_IOBASE_0		0x0a
							 | 
						||
| 
								 | 
							
								#define CISREG_IOBASE_1		0x0c
							 | 
						||
| 
								 | 
							
								#define CISREG_IOBASE_2		0x0e
							 | 
						||
| 
								 | 
							
								#define CISREG_IOBASE_3		0x10
							 | 
						||
| 
								 | 
							
								#define CISREG_IOSIZE		0x12
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Configuration Option Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define COR_CONFIG_MASK		0x3f
							 | 
						||
| 
								 | 
							
								#define COR_MFC_CONFIG_MASK	0x38
							 | 
						||
| 
								 | 
							
								#define COR_FUNC_ENA		0x01
							 | 
						||
| 
								 | 
							
								#define COR_ADDR_DECODE		0x02
							 | 
						||
| 
								 | 
							
								#define COR_IREQ_ENA		0x04
							 | 
						||
| 
								 | 
							
								#define COR_LEVEL_REQ		0x40
							 | 
						||
| 
								 | 
							
								#define COR_SOFT_RESET		0x80
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Card Configuration and Status Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define CCSR_INTR_ACK		0x01
							 | 
						||
| 
								 | 
							
								#define CCSR_INTR_PENDING	0x02
							 | 
						||
| 
								 | 
							
								#define CCSR_POWER_DOWN		0x04
							 | 
						||
| 
								 | 
							
								#define CCSR_AUDIO_ENA		0x08
							 | 
						||
| 
								 | 
							
								#define CCSR_IOIS8		0x20
							 | 
						||
| 
								 | 
							
								#define CCSR_SIGCHG_ENA		0x40
							 | 
						||
| 
								 | 
							
								#define CCSR_CHANGED		0x80
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Pin Replacement Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define PRR_WP_STATUS		0x01
							 | 
						||
| 
								 | 
							
								#define PRR_READY_STATUS	0x02
							 | 
						||
| 
								 | 
							
								#define PRR_BVD2_STATUS		0x04
							 | 
						||
| 
								 | 
							
								#define PRR_BVD1_STATUS		0x08
							 | 
						||
| 
								 | 
							
								#define PRR_WP_EVENT		0x10
							 | 
						||
| 
								 | 
							
								#define PRR_READY_EVENT		0x20
							 | 
						||
| 
								 | 
							
								#define PRR_BVD2_EVENT		0x40
							 | 
						||
| 
								 | 
							
								#define PRR_BVD1_EVENT		0x80
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Socket and Copy Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define SCR_SOCKET_NUM		0x0f
							 | 
						||
| 
								 | 
							
								#define SCR_COPY_NUM		0x70
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Extended Status Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define ESR_REQ_ATTN_ENA	0x01
							 | 
						||
| 
								 | 
							
								#define ESR_REQ_ATTN		0x10
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * CardBus Function Status Registers
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define CBFN_EVENT		0x00
							 | 
						||
| 
								 | 
							
								#define CBFN_MASK		0x04
							 | 
						||
| 
								 | 
							
								#define CBFN_STATE		0x08
							 | 
						||
| 
								 | 
							
								#define CBFN_FORCE		0x0c
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * These apply to all the CardBus function registers
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define CBFN_WP			0x0001
							 | 
						||
| 
								 | 
							
								#define CBFN_READY		0x0002
							 | 
						||
| 
								 | 
							
								#define CBFN_BVD2		0x0004
							 | 
						||
| 
								 | 
							
								#define CBFN_BVD1		0x0008
							 | 
						||
| 
								 | 
							
								#define CBFN_GWAKE		0x0010
							 | 
						||
| 
								 | 
							
								#define CBFN_INTR		0x8000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Extra bits in the Function Event Mask Register
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define FEMR_BAM_ENA		0x0020
							 | 
						||
| 
								 | 
							
								#define FEMR_PWM_ENA		0x0040
							 | 
						||
| 
								 | 
							
								#define FEMR_WKUP_MASK		0x4000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Indirect Addressing Registers for Zoomed Video: these are addresses
							 | 
						||
| 
								 | 
							
								 * in common memory space
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define CISREG_ICTRL0		0x02	/* control registers */
							 | 
						||
| 
								 | 
							
								#define CISREG_ICTRL1		0x03
							 | 
						||
| 
								 | 
							
								#define CISREG_IADDR0		0x04	/* address registers */
							 | 
						||
| 
								 | 
							
								#define CISREG_IADDR1		0x05
							 | 
						||
| 
								 | 
							
								#define CISREG_IADDR2		0x06
							 | 
						||
| 
								 | 
							
								#define CISREG_IADDR3		0x07
							 | 
						||
| 
								 | 
							
								#define CISREG_IDATA0		0x08	/* data registers */
							 | 
						||
| 
								 | 
							
								#define CISREG_IDATA1		0x09
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define ICTRL0_COMMON		0x01
							 | 
						||
| 
								 | 
							
								#define ICTRL0_AUTOINC		0x02
							 | 
						||
| 
								 | 
							
								#define ICTRL0_BYTEGRAN		0x04
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* _LINUX_CISREG_H */
							 |