pcmcia: remove memreq_t
[linux-2.6.git] / include / pcmcia / cs.h
1 /*
2  * cs.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_CS_H
16 #define _LINUX_CS_H
17
18 #ifdef __KERNEL__
19 #include <linux/interrupt.h>
20 #endif
21
22 /* ModifyConfiguration */
23 typedef struct modconf_t {
24     u_int       Attributes;
25     u_int       Vcc, Vpp1, Vpp2;
26 } modconf_t;
27
28 /* Attributes for ModifyConfiguration */
29 #define CONF_IRQ_CHANGE_VALID   0x0100
30 #define CONF_VCC_CHANGE_VALID   0x0200
31 #define CONF_VPP1_CHANGE_VALID  0x0400
32 #define CONF_VPP2_CHANGE_VALID  0x0800
33 #define CONF_IO_CHANGE_WIDTH    0x1000
34
35 /* For RequestConfiguration */
36 typedef struct config_req_t {
37     u_int       Attributes;
38     u_int       Vpp; /* both Vpp1 and Vpp2 */
39     u_int       IntType;
40     u_int       ConfigBase;
41     u_char      Status, Pin, Copy, ExtStatus;
42     u_char      ConfigIndex;
43     u_int       Present;
44 } config_req_t;
45
46 /* Attributes for RequestConfiguration */
47 #define CONF_ENABLE_IRQ         0x01
48 #define CONF_ENABLE_DMA         0x02
49 #define CONF_ENABLE_SPKR        0x04
50 #define CONF_ENABLE_PULSE_IRQ   0x08
51 #define CONF_VALID_CLIENT       0x100
52
53 /* IntType field */
54 #define INT_MEMORY              0x01
55 #define INT_MEMORY_AND_IO       0x02
56 #define INT_CARDBUS             0x04
57 #define INT_ZOOMED_VIDEO        0x08
58
59 /* Configuration registers present */
60 #define PRESENT_OPTION          0x001
61 #define PRESENT_STATUS          0x002
62 #define PRESENT_PIN_REPLACE     0x004
63 #define PRESENT_COPY            0x008
64 #define PRESENT_EXT_STATUS      0x010
65 #define PRESENT_IOBASE_0        0x020
66 #define PRESENT_IOBASE_1        0x040
67 #define PRESENT_IOBASE_2        0x080
68 #define PRESENT_IOBASE_3        0x100
69 #define PRESENT_IOSIZE          0x200
70
71 /* For RequestWindow */
72 typedef struct win_req_t {
73     u_int       Attributes;
74     u_long      Base;
75     u_int       Size;
76     u_int       AccessSpeed;
77 } win_req_t;
78
79 /* Attributes for RequestWindow */
80 #define WIN_ADDR_SPACE          0x0001
81 #define WIN_ADDR_SPACE_MEM      0x0000
82 #define WIN_ADDR_SPACE_IO       0x0001
83 #define WIN_MEMORY_TYPE         0x0002
84 #define WIN_MEMORY_TYPE_CM      0x0000
85 #define WIN_MEMORY_TYPE_AM      0x0002
86 #define WIN_ENABLE              0x0004
87 #define WIN_DATA_WIDTH          0x0018
88 #define WIN_DATA_WIDTH_8        0x0000
89 #define WIN_DATA_WIDTH_16       0x0008
90 #define WIN_DATA_WIDTH_32       0x0010
91 #define WIN_PAGED               0x0020
92 #define WIN_SHARED              0x0040
93 #define WIN_FIRST_SHARED        0x0080
94 #define WIN_USE_WAIT            0x0100
95 #define WIN_STRICT_ALIGN        0x0200
96 #define WIN_MAP_BELOW_1MB       0x0400
97 #define WIN_PREFETCH            0x0800
98 #define WIN_CACHEABLE           0x1000
99 #define WIN_BAR_MASK            0xe000
100 #define WIN_BAR_SHIFT           13
101
102 #endif /* _LINUX_CS_H */