1/* 2 * cisreg.h 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 * 8 * The initial developer of the original code is David A. Hinds 9 * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds 10 * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. 11 * 12 * (C) 1999 David A. Hinds 13 */ 14 15#ifndef _LINUX_CISREG_H 16#define _LINUX_CISREG_H 17 18/* 19 * Offsets from ConfigBase for CIS registers 20 */ 21#define CISREG_COR 0x00 22#define CISREG_CCSR 0x02 23#define CISREG_PRR 0x04 24#define CISREG_SCR 0x06 25#define CISREG_ESR 0x08 26#define CISREG_IOBASE_0 0x0a 27#define CISREG_IOBASE_1 0x0c 28#define CISREG_IOBASE_2 0x0e 29#define CISREG_IOBASE_3 0x10 30#define CISREG_IOSIZE 0x12 31 32/* 33 * Configuration Option Register 34 */ 35#define COR_CONFIG_MASK 0x3f 36#define COR_MFC_CONFIG_MASK 0x38 37#define COR_FUNC_ENA 0x01 38#define COR_ADDR_DECODE 0x02 39#define COR_IREQ_ENA 0x04 40#define COR_LEVEL_REQ 0x40 41#define COR_SOFT_RESET 0x80 42 43/* 44 * Card Configuration and Status Register 45 */ 46#define CCSR_INTR_ACK 0x01 47#define CCSR_INTR_PENDING 0x02 48#define CCSR_POWER_DOWN 0x04 49#define CCSR_AUDIO_ENA 0x08 50#define CCSR_IOIS8 0x20 51#define CCSR_SIGCHG_ENA 0x40 52#define CCSR_CHANGED 0x80 53 54/* 55 * Pin Replacement Register 56 */ 57#define PRR_WP_STATUS 0x01 58#define PRR_READY_STATUS 0x02 59#define PRR_BVD2_STATUS 0x04 60#define PRR_BVD1_STATUS 0x08 61#define PRR_WP_EVENT 0x10 62#define PRR_READY_EVENT 0x20 63#define PRR_BVD2_EVENT 0x40 64#define PRR_BVD1_EVENT 0x80 65 66/* 67 * Socket and Copy Register 68 */ 69#define SCR_SOCKET_NUM 0x0f 70#define SCR_COPY_NUM 0x70 71 72/* 73 * Extended Status Register 74 */ 75#define ESR_REQ_ATTN_ENA 0x01 76#define ESR_REQ_ATTN 0x10 77 78/* 79 * CardBus Function Status Registers 80 */ 81#define CBFN_EVENT 0x00 82#define CBFN_MASK 0x04 83#define CBFN_STATE 0x08 84#define CBFN_FORCE 0x0c 85 86/* 87 * These apply to all the CardBus function registers 88 */ 89#define CBFN_WP 0x0001 90#define CBFN_READY 0x0002 91#define CBFN_BVD2 0x0004 92#define CBFN_BVD1 0x0008 93#define CBFN_GWAKE 0x0010 94#define CBFN_INTR 0x8000 95 96/* 97 * Extra bits in the Function Event Mask Register 98 */ 99#define FEMR_BAM_ENA 0x0020 100#define FEMR_PWM_ENA 0x0040 101#define FEMR_WKUP_MASK 0x4000 102 103/* 104 * Indirect Addressing Registers for Zoomed Video: these are addresses 105 * in common memory space 106 */ 107#define CISREG_ICTRL0 0x02 /* control registers */ 108#define CISREG_ICTRL1 0x03 109#define CISREG_IADDR0 0x04 /* address registers */ 110#define CISREG_IADDR1 0x05 111#define CISREG_IADDR2 0x06 112#define CISREG_IADDR3 0x07 113#define CISREG_IDATA0 0x08 /* data registers */ 114#define CISREG_IDATA1 0x09 115 116#define ICTRL0_COMMON 0x01 117#define ICTRL0_AUTOINC 0x02 118#define ICTRL0_BYTEGRAN 0x04 119 120#endif /* _LINUX_CISREG_H */ 121