1 /*
2 * cisreg.h 1.17 2000/06/12 21:55:41
3 *
4 * The contents of this file are subject to the Mozilla Public License
5 * Version 1.1 (the "License"); you may not use this file except in
6 * compliance with the License. You may obtain a copy of the License
7 * at http://www.mozilla.org/MPL/
8 *
9 * Software distributed under the License is distributed on an "AS IS"
10 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11 * the License for the specific language governing rights and
12 * limitations under the License.
13 *
14 * The initial developer of the original code is David A. Hinds
15 * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
16 * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
17 *
18 * Alternatively, the contents of this file may be used under the
19 * terms of the GNU General Public License version 2 (the "GPL"), in which
20 * case the provisions of the GPL are applicable instead of the
21 * above. If you wish to allow the use of your version of this file
22 * only under the terms of the GPL and not to allow others to use
23 * your version of this file under the MPL, indicate your decision by
24 * deleting the provisions above and replace them with the notice and
25 * other provisions required by the GPL. If you do not delete the
26 * provisions above, a recipient may use your version of this file
27 * under either the MPL or the GPL.
28 */
29
30 #ifndef _LINUX_CISREG_H
31 #define _LINUX_CISREG_H
32
33 /*
34 * Offsets from ConfigBase for CIS registers
35 */
36 #define CISREG_COR 0x00
37 #define CISREG_CCSR 0x02
38 #define CISREG_PRR 0x04
39 #define CISREG_SCR 0x06
40 #define CISREG_ESR 0x08
41 #define CISREG_IOBASE_0 0x0a
42 #define CISREG_IOBASE_1 0x0c
43 #define CISREG_IOBASE_2 0x0e
44 #define CISREG_IOBASE_3 0x10
45 #define CISREG_IOSIZE 0x12
46
47 /*
48 * Configuration Option Register
49 */
50 #define COR_CONFIG_MASK 0x3f
51 #define COR_MFC_CONFIG_MASK 0x38
52 #define COR_FUNC_ENA 0x01
53 #define COR_ADDR_DECODE 0x02
54 #define COR_IREQ_ENA 0x04
55 #define COR_LEVEL_REQ 0x40
56 #define COR_SOFT_RESET 0x80
57
58 /*
59 * Card Configuration and Status Register
60 */
61 #define CCSR_INTR_ACK 0x01
62 #define CCSR_INTR_PENDING 0x02
63 #define CCSR_POWER_DOWN 0x04
64 #define CCSR_AUDIO_ENA 0x08
65 #define CCSR_IOIS8 0x20
66 #define CCSR_SIGCHG_ENA 0x40
67 #define CCSR_CHANGED 0x80
68
69 /*
70 * Pin Replacement Register
71 */
72 #define PRR_WP_STATUS 0x01
73 #define PRR_READY_STATUS 0x02
74 #define PRR_BVD2_STATUS 0x04
75 #define PRR_BVD1_STATUS 0x08
76 #define PRR_WP_EVENT 0x10
77 #define PRR_READY_EVENT 0x20
78 #define PRR_BVD2_EVENT 0x40
79 #define PRR_BVD1_EVENT 0x80
80
81 /*
82 * Socket and Copy Register
83 */
84 #define SCR_SOCKET_NUM 0x0f
85 #define SCR_COPY_NUM 0x70
86
87 /*
88 * Extended Status Register
89 */
90 #define ESR_REQ_ATTN_ENA 0x01
91 #define ESR_REQ_ATTN 0x10
92
93 /*
94 * CardBus Function Status Registers
95 */
96 #define CBFN_EVENT 0x00
97 #define CBFN_MASK 0x04
98 #define CBFN_STATE 0x08
99 #define CBFN_FORCE 0x0c
100
101 /*
102 * These apply to all the CardBus function registers
103 */
104 #define CBFN_WP 0x0001
105 #define CBFN_READY 0x0002
106 #define CBFN_BVD2 0x0004
107 #define CBFN_BVD1 0x0008
108 #define CBFN_GWAKE 0x0010
109 #define CBFN_INTR 0x8000
110
111 /*
112 * Extra bits in the Function Event Mask Register
113 */
114 #define FEMR_BAM_ENA 0x0020
115 #define FEMR_PWM_ENA 0x0040
116 #define FEMR_WKUP_MASK 0x4000
117
118 /*
119 * Indirect Addressing Registers for Zoomed Video: these are addresses
120 * in common memory space
121 */
122 #define CISREG_ICTRL0 0x02 /* control registers */
123 #define CISREG_ICTRL1 0x03
124 #define CISREG_IADDR0 0x04 /* address registers */
125 #define CISREG_IADDR1 0x05
126 #define CISREG_IADDR2 0x06
127 #define CISREG_IADDR3 0x07
128 #define CISREG_IDATA0 0x08 /* data registers */
129 #define CISREG_IDATA1 0x09
130
131 #define ICTRL0_COMMON 0x01
132 #define ICTRL0_AUTOINC 0x02
133 #define ICTRL0_BYTEGRAN 0x04
134
135 #endif /* _LINUX_CISREG_H */
Cache object: 94b493174b0b7bb71ac640ac47732848
|